XMSamplerですが、現状の仕上がり具合は
・Elwoodの「SWEET DREAMS」は何とか再生できるが、「DEAD LOCK」はきつい。
エフェクトの未実装部分もまだありますが、それよりもInstrumentのPsycleとXMの違いによるところが大きくなってきました。そういうわけでInstrumentをいじることにしました。
Instrumentのいじり方ですが、2とおりあります。
1.現状のインストルメントに手を加える
Psyフォーマットの変更が必要です。といってもボリュームカラムをつけた時点でフォーマットは変わっていますが。
インターナルのSamplerも変更が必要になります、というか既存のSamplerは廃止して、XMSamplerのみとしてしまいます。
既存のPsyファイルの再現性の調整も必要ですし、面倒な感じがします。
2.XMSampler上に新たなInstrumentを作る
現状のコードはいじらずに、XMSamplerのエディタ上で新しいインストルメントを編集できるようにする(既存のウェーブデータのみを利用し、XMSampler内のみ通用するインストルメントを新たに作る)。
既存のインストルメントエディタはインターナルのSamplerの編集画面から起動するように変更します。
結果Psycle上に2種類のInstrumentを持つ形になります。
今のSamplerも簡素で操作が簡単といったメリットがあるし、Psyファイルの再現性問題も解決しますので、2でいこうかなと思います。
XMSampler自身の編集画面はMPTを参考にまとめようと思います。
今はまだSamplerと同じ画面となっています。
<ちょっとほしいなと思った機能>
実装するかどうかわかりませんが、自分がほしいなと思っている機能を..
・パターンエディタのカラムごとのカットアンドペースト
・マシンのパラアウト
LRごとに接続ができたり、XMSamplerですとチャンネルごとにパラアウトできたりするといいかなーとおもったりします。当然入力側も対応します。
・音声入力機能
インターナルマシンとして実装したいですね。
・Render As Wavで、ogg形式に直接変換する
mp3で直接アウトしたいところですが、ライセンス問題がありそうですね。
・コマンドのインテリセンス
MPTのステータスに出てくるコマンド解説のようなものを発展させたものです。エフェクトカラムを指定するとエフェクトコマンドが選択できるようにしたいですね。
・XMSamplerでエフェクトを別のチャンネルで指定できる機能
・XMSamplerでフィルタをいじるエフェクトコマンド
・XMSamplerのフィルタの改良
・ノートディレイの逆(ノートオンを早める)機能
後、これは大掛かりになる上に前から言ってますが、
・内部的にはステップ、ゲートタイムでデータを管理する、ゆくゆくはエディタも変更する
・ピッチ、ボリューム等のグラフ表示およびグラフ上で数値編集できる
・ピアノロール
・マルチパターン
MIDIシーケンサでは当たり前の機能ですね。