MIDIフィルタは一般的に特定のMIDI情報をそぎ落とす目的に使用される。僕が使用するケースとしては、MIDIキーボードの Ch.AfterTouch (MIDI規格的にはKeyPressure)情報がピアノのような演奏情報にまぎれてしまうことによって、データの見通しが悪くなってしまう場合に、AfterTouchの信号をフィルタリングすることがある。
普通は、AftertTouchに限らず、ControlChangeやProgramChange, Pitch情報などもフィルタリングの対象となりうるが、これらの情報は、演奏者が意図的に出力しようとしない限り送信されることはないため、使用目的は限られてくる。(いまどきMIDIケーブル経由でタイミングが劣化していくのを承知でトラックのコピーをすることはないと、思うが、もちろんそういう場合の利用法もある)
そこで、CubaseSXに搭載されているロジカルプリセット(だったか?)のように、データの削除のみならず、データの変換に重きを置いたものを実装してみた。
現在完成している仕様では、多段でフィルタを組むことが出来るようになっており、MIDIキーボードのピッチベンドコントローラを、ControlChangeのデータ変更に使用するといった情報の変換機能を持つ。
そして、Procedureへの変換も可能であり、さらに、MIDI Throughに設定されたポートへのリアルタイム情報変換送信が可能である。
単純にmidiomを立ち上げ、演奏情報を一度midiomを通してスルーすることによって、複雑な音源設定をピッチベンドコントローラのような一般的に用いられるコントローラで制御可能となる。もちろん、変換された情報はレコーディング可能である。
ex.
----------------------------------------------
鍵盤のノートオン --(convert)--> CuttOff Frequency
----------------------------------------------
この変換によって、MIDI鍵盤によるリボンコントローラのような操作が可能である。(離鍵時の動作はリボンコントローラとはまったく異なっているが)
ロータリーエンコーダでは出来なかったような、離散的なデータ入力が、鍵盤というインターフェイスを利用することで可能になるという点で、ちょっと面白いのではないだろうか。
ん・・・? ということは、日の目をみないOffVelocityなどもコンバートされること前提で利用価値がでてくるような・・・。うちのキーボード、律儀にOffVelocityを吐き出しているようなので、面白いかも。
そういった、MIDIフィルタに特化したツールソフトウェアなんかも別コンセプトで作ると面白いのかな・・・?