domino/要望002/66

Last-modified: 2007-12-31 (月) 19:04:11

トラックリスト ドラッグドロップによる.midのインポート、エクスポート機能

  • ページ: domino/要望
  • 投稿者: たーくん?
  • 優先順位: 低
  • 状態: 完了
  • 投稿日: 2007-08-31 (金) 06:24:58

メッセージ

編集機能の充実に伴い他のアプリとの連携強化として当機能の御検討をお願い申し上げます。
現在VSTiやrewireデバイスの一部には自身にMIDI再生機能を持ちプレビューさせたフレーズを
直接HOST側のトラックにドラッグドロップできるモノがあります。
私が知る限り1~4小節のCCがないノートイベントのみです。
試しにdominoに同様にドロップした所、MIDIファイルとして認識しました(当然ですが)。


そこでトラックリスト上等で直接ドラッグドロップでのSMFのインポート、エクスポートが可能となれば
オーディオ機能を持った外部アプリとの親和性が一気に向上するのではないかと思えました。
またMIDIファイルによるフレーズライブラリー構築も可能となります。


稚拙ながら考えましたイメージです。


●エクスポート
・トラックリスト上で選択した範囲がSMFformat1でエクスポートされる
・例えば選択範囲上で左右同時クリック保持でクリップボードにSMFが作成されファイルアイコンが出現
・そのまま左クリック保持でDomino外部へドラッグできる


●インポート
・トラックリストの選択トラック、演奏線位置にドロップされたSMFがインポートされる
・インポートされる範囲は置換、挿入、追加 が選択できると便利(基本は置換)
・ドロップされたSMFが複数チャンネルの場合、現選択トラック以降(下向き)のトラックに展開される
・トラック数が不足した場合は無視、もしくは自動的にトラックが増設される


*ピアノロールやイベントリストでも可能であれば理想的です。


Domino本来の目的とは異なる要望かもしれませんが将来的に先の外部同期機能とあわせまして
長い目でお考えいただければ幸いです。
ユーザーさんの環境によりますが、度々話題に上がりますVSTiやオーディオ対応につきましてもこの2点で
下図の様な効果的かつ柔軟な環境構築ができるのではないかと思っております。
関連図.JPG


たかぼー 2007-09-03


補足1
dominoはディスク上ファイルからの読み込みしか対応していませんので、他のアプリからドロップする際には、他のアプリが一旦テンポラリ等(×クリップボード)に書き出し、そのパス情報をdominoに渡してきているのだと思います。


補足2
Dominoの現在の機構ではマウス左右同時押しは判別できません。


余談
DominoがReWire 2に対応できればスムーズにMIDIデータのみのやりとりが出来るんでしょうかね~。
http://www.propellerheads.jp/technologies/rewire/ReWire.html


●エクスポートについて
実装方法につきましては、大きく2種類が考えられます。

  1. ファイルダイアログ等でファイルパスを指定させ、選択範囲のみををSMF書き出しできるようにする
  2. 選択範囲をテンポラリへSMF書き出しし(ユーザーはパスを指定しない)、それをdomino上からドラッグ&ドロップするなどして他のアプリへ持っていけるようにする。domino終了時に、テンポラリファイルはすべて削除されます。

1につきましては、たとえば現在のSMF書き出し時のダイアログに「選択範囲のみ書き出す」といったチェックボックスを付けることで対応ができますが、ただ他のアプリに持っていくのは少し面倒かもしれません。


2につきましては、たとえばDomino上で選択範囲をAlt左ドラッグし他のアプリにドロップしたらそのままMIDIファイルとして読み込ませる、なんてことも出来るとは思います。
ただひとつ問題なのはアプリによってはそのmidiファイルをそのままの状態で利用する場合がありますので、Domino終了時にテンポラリファイルを消してしまうと、後日他のアプリでそのmidiファイルを読み込めなくてエラーが出てしまうということが考えられます。


・・・両方実装すれば問題ないのですが^^;


●インポートについて
ファイルをドロップされた段階で

  1. このファイルを開く
  2. 別EXEでこのファイルを開く(多重起動を禁止している場合は不可能)
  3. 内容をクリップボードにコピー

のどれかを毎回選択させるという案を考えています。
うざいかもしれませんが^^;


クリップボードにコピーさえしてしまえば、貼り付けや挿入貼り付けなど、普段の操作と同じ感覚でその後の編集が行えるわけです。


御検討いただきましてありがとうございます。 (^^)


エクスポート
個人的にはやはり2.テンポラリ経由、Alt左ドラッグ案が好ましく思います。懸案事項につきましては任意のプールフォルダに直接ドロップしてファイル作成してから対象アプリにインポートすることになるかと思われます(1.案と結果的に同じですが)。操作の簡潔さからも2.案を希望いたします。


インポート
なるほど、確かに毎回はちょっと・・かもしれません。環境設定で「毎回確認」「ファイルを開く」「別EXEでファイルを開く」「クリップボードにコピー」が選べると理想的かと思います。


ReWireの件


ReWire対応となれば垂涎モノですよー!!
試しに所有しておりますRewireデバイスで調べてみたのですが、如何せん「音源」系なの物なのでハッキリした事は判りませんでした。Rewireデバイス~ホスト間でのMidiデータの移動はマチマチでした。D&Dできるもの、ホスト位置にMidiバウンスするもの等そのデバイスの機能に依存するようです。ホストから直接デバイスに移動させる事は出来ませんでした。まぁホストのトラックデータがそのままSMFというワケでは無いでしょうし・・。


とはいえ、もしRewireデバイスとなればその恩恵は絶大です。
以下は予想される利点ですが


・デバイス側のMidiOUTがホスト側へのMidiINとして直接認識されるのでMidiYokeなどの中継なしにMidiポート接続が可能です。
・Rewire間の同期は面倒な設定なく全方向で行えます。
 またMTC同期などでのタイムコード合わせの遅延が発生しないスムーズな同期が実現します。
(MTC同期は演奏開始の都度若干ですが固まってしまいます)
・基本的にホスト側のテンポに追従します。
(MTC同期はフレーム管理ですのでテンポはホスト、スレーブそれぞれで設定する必要があります)


上記など含めて相手がFLStudioだろうがCubaseだろうがSonarだろうがACIDだろうがLiveだろうが何だろうが関係なく一体化した制作環境を構築することができます。しかもRewire対応Midi独立シーケンサーとなれば史上初ではないでしょうか。技術的な難易度やライセンスに関しては皆目見当がつきませんがもし可能であるならば夢のようなお話です。 (// -- たーくん? 2007-09-04 (火) 03:33:46

  • こちら対応しておきましたので、動きの確認をお願いします→http://www.tkb-soft.hmcbest.com/Domino125_dev003.ZIP  トラックリストの選択範囲を、ALT+左ドラッグでエクスポートできます。ドロップを終える際、ALTキーを先に離さないとうまくいかないと思われます。 インポートも、とりあえず「開く」と「クリップボードに保存」を環境設定→全般で選べるようにしました。 -- たかぼー? 2007-10-15 (月) 23:47:18
  • 実装ありがとうございます!まだちょっとしたテストしかできてませんが現時点で気になりました下記内容について御検討願えればと思っております。
    [エクスポート]
    ドロップ先のアプリによって違いがあるのかもしれませんがどうしても余分なトラックが一つ先頭に出来てしまいます。ドロップ先のリスト上のデータタイプでは「SMF:Copyright」と表示されており演奏データ類はありません。このトラックが先頭にペーストされる為に並びが一つズレてしまいますので可能であればこの「SMF:Copyright」用トラックが作成されないようにして頂きたく思います。(通常のSMF保存も同様の現象がありますのでこちらも御検討ください)


    [インポート]
    可能であればデータがドロップされた時点でDominoにフォーカスが移動するようにお願いします。個人的にクリップボード保存にて使用しますのでドロップ後すぐにペースト作業に移行できると理想的です。
    原因は不明ですが目的のトラックの一段下のトラックにペーストされるケースがあります。確認用のmidを添付いたしますので御確認頂けますようお願いいたします。(Format0のようです)fileIMP Test.mid -- たーくん? 2007-10-16 (火) 23:51:15
  • SMF format1ですと、先頭にコンダクタートラックが入りますので、それがエクスポートに影響しているのだと思われます。 インポートの方は取り込んだ時点で先頭に自動生成したコンダクタートラックを破棄すれば良いと思いますが、エクスポートは仕様的に改善は困難かなーと思います。 ホスト側でSMF format1を受け付けたときに、コンダクタートラックを破棄するような設定があれば楽なんでしょうけど^^;format0で書き出せば、うまくいくかもしれませんが、なかなか工数がかかります(format0は制限が多いです)。-- たかぼー? 2007-10-17 (水) 10:07:09
  • 手持ちのシーケンサーでいろいろ試してみました。
    Format1でホスト側の意図したトラックにドロップできたサンプルのmidを添付いたします。勝手ながら何か解決の糸口になればと思いまして、御確認いただければ幸いです。
    インポートの際はFormat0の場合にコンダクタートラックが付加されるようです。仰る方法で回避していただけるととてもうれしいのですが・・・よろしくお願いいたします。fileFMT1_steinberg.zip -- たーくん? 2007-10-17 (水) 22:54:55
  • サンプルファイルありがとうございました (^^) とても助かりました。おそらく、メタイベントの著作権イベントがコンダクタートラックに入っていると、他シーケンサ(キューベースですか?)へドロップした時に、余計なトラックができてしまうのだと思われます。 そこを書き出さないようにしてみました→http://www.tkb-soft.hmcbest.com/Domino125_dev004.ZIP なお、通常のSMFエクスポート処理の際にも、ファイルのプロパティで著作権情報を空にした場合は、著作権メタイベントを書き出さないようにしました。 ドロップでファイルを受け付けた場合にフォーカスを設定するようにもしておきました。 -- たかぼー? 2007-10-18 (木) 20:13:26
  • 御対応ありがとうございます。エクスポート、インポート共に目的位置へのドロップが可能になりました (^^) 。ただフォーカスですがホストから直接ドロップした場合ではフォーカスは移るのですがエディタがアクティブ(?)になっていない為一度ポイントしないとキー操作を受け付けてくれません。是非こちらも改善いただきたくお願い申し上げます。 -- たーくん? 2007-10-19 (金) 07:29:42
  • 通常のSMFエクスポートで作成したファイルをホストに読み込ませた所、今度は先頭に「SMF:Marker」なるトラックが・・・。 -- たーくん? 2007-10-19 (金) 09:19:58
  • 確認ありがとうございます (^^)  dominoのマーカーは(なぜか)最初の一つは消せない仕様になっていますので、マーカーが1つ(&1小節)しかなかったらSMFには書き出さない、という特別仕様にしてしまいましょうか・・・。ほぼ、たーくんさんが使われているホストアプリ専用の機能になってしまいますので、そのホストアプリ名を教えていただけますか?更新履歴に書きます。 -- たかぼー? 2007-10-19 (金) 10:02:28
  • 御面倒をお掛けします。ホストはNuendo(おそらくCubaseでも同様かと)ですが専用機能となるのも申し訳ありませんので代案と言っては何ですがトラックリスト上のCtrl+A等で全データが選択される機能の御検討をお願いできませんでしょうか。
    トラックリストから直接全トラックをホストにD&Dした場合は目的どおりの挙動となります。曲データ全体をホスト側に移動する場合はこれによるD&Dにて実行、またホスト側から戻す場合は一旦SMFを作成しそれをD&Dする際にdominoで全データをクリア(もしくは置換)するイメージとなりますので双方で役立つ機能かと考えます。
    欲を言えばもちろん御提示の専用機能と、さらに保存SMFの再読み込み機能があれば理想的なのですがこれは難しいでしょか? -- たーくん? 2007-10-19 (金) 19:57:31
  • タイミングが悪かったのですが、もうやってしまいました^^;→http://www.tkb-soft.hmcbest.com/Domino125_dev005.ZIP マークが1つしかない場合はSMF書き出し時にマーク情報を書き出さないようにしました。-- たかぼー? 2007-10-19 (金) 20:31:34
  • 御対応ありがとうございました。早速私なりに調べたり試してみました、ホスト側でマーカーを読み込まない設定にしているのですがどうもHOSTのトラックにマーカー位置情報だけが出てしまうようです。またホストが書き出すSMFに再度著作権情報等が含まれてしまうので曲データとしてはDomino→D&D→ホスト→SMF→Dominoという受け渡しが実用的な感じです。単体パートでのD&Dは快適に動作しています、ドロップ時のアクティブ化も確認いたしました。


    以下に蛇足ではありますが個人的な制作作業について簡単にお伝えします。


    MIDIデータはDominoにて作成しています。 (^^) 音源はソフトが主体で、若干外部音源を使用します。外部音源も全てHOST経由でMIDIルーティングしておりオーディオ出力もVSTミキサーに戻る形にしています。MidiyokeにてDominoからHOSTに全MIDI出力をアサインしてDominoからHOST経由で発音制御しています。VSTiなどのライブラリープレビューから直接DominoにD&Dが可能となりましたので今後活用したいと思います。


    ここでオーディオについてですが1ショットやループであればサンプラーで鳴らせるのですがボーカルや演奏フレーズについてはHOSTのオーディオトラックに貼り付ける事になります。(映像がらみのケースを含めこの部分で同期が必要となります) (^^;


    作成したMIDIデータをHOST側に移動させ発音確認をします。MIDIによる音源コントロールのタイミングなどがMIDI入力発音とHOST上の再生では異なる場合がありますので調整します。またザックリとアレンジの組み替えなども行いながらDominoと往復します。(ここでSMFインポート、エクスポートが活躍します) (^^)


    完成したMIDIデータをHOST側に移動させ外部音源をふくめ各トラックをオーディオにバウンスします。最終的にVSTHOSTがレイテンシー調整などの最適化を内部実行する為バウンス及びMIXはHOST単体で行います。


    HOSTからアウトした2MIXをSoundforgeで何とかマトモに聞こえるように色々頑張るハメになります。 (T-T -- たーくん? 2007-10-20 (土) 04:04:51