some ideas on MidiPlayer

| No Comments | No TrackBacks

とりあえずビジュアルプレイヤーとしてやりたかったことの多くが基本的には出来ている感じのmldspだけど、今後は多少方向性の違ったおもちゃにしてみようと思っている。

大まかには、ユーザコントロールによる入力をSMF上の演奏命令とマージしてMIDIデバイスに送信できる機能を追加したいと思っている。それによって、演奏中のMIDI楽曲をあれこれいじってパラメータ調整できるというわけだ。TMIDIでは画面上のコントロール値を左クリックや右クリックで加減できるのだけど、それと目的としては同じ事になる。(ただ、あのUIでやる必要は無いだろうと思っている。細かいからいじりにくいし。)

入力をどう受け付けるかについては、いくつか案がある:

  • ソフトウェアMIDIキーボード。Windows Formsレベルでは既に実装があるので、これをMoonlightに移植できれば、入力をブリッジするだけでいける
  • コマンドテキストをコンパイルして送信。今作っているMMLコンパイラを再利用できる。GUIはテキストボックスと送信ボタンのみ。
  • 外部MIDI入力のブリッジ。これを実現するには、portmidiのバインディングの対応を広げなければならない。これができると、ハードウェアMIDIキーボードが使えるようになる。GUIは不要。
  • 外部カスタムデバイスのブリッジ。たとえばgainerの入力を直接解釈して適宜MIDIメッセージを送信できるようにすれば、portmidiのバインディングが無くてもカスタムデバイスが利用できる。実はこれを一番やりたい。これもGUIは不要。

これは、mldspというよりMidiPlayerのフレームワークで対応した方がスマートだろうと思っている。

ちなみに、これらの他にさらにiXMFなどもサポートできたら楽しいのではないかと思っているのだけど、iXMFの実装から始めないといけないので、やや敷居が高い。仕様書も読み進められていないし。そんなわけで、すぐには出来なそうだ。

No TrackBacks

TrackBack URL: http://veritas-vos-liberabit.com/noteon/mt-tb.cgi/47

Leave a comment

About this Entry

This page contains a single entry by note on published on July 26, 2009 1:28 AM.

トラック別マクロ定義、動的マクロ適用と動的パラメータ変化の実装 was the previous entry in this blog.

IXE is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Categories

Pages

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.23-en