プチコンを利用してDSをMIDIコントローラにします。 オーディオケーブルで普通のPCに接続して使います。 ハードの改造は必要ありません。 しくみDS側で動作するプチコンmk2のプログラムとPC側で動作するexeが、オーディオ信号を使った独自プロトコルでデータ通信して、DS上での操作をPCに伝えます。PC側のexeが、それをmidiコマンドに変換して出力します。PC側のオーディオ入力インターフェースとして、マイク入力やライン入力を利用します。 ソフトシンセを操作するためには、別途 MIDI Yoke などの仮想MIDIケーブルが必要です。 使い方
PRG:PKTRLDS側で動作する、プチコン用のプログラム。ボタンON/OFFなどのコマンドをオーディオ信号に変換して出力する。 コントロール以下のようなコントロールがあり、それぞれに番号が割り当てられている。各コントロールの値は0~127だが、最大値は任意に変更できる。 ボタンについては、オンになるとき最大値が、オフになるとき0が出力される。 フェーダーについては、0から最大値までの任意の値が出力される。 各コントロールの状態は上画面にも表示されている。 ABXYボタン(4-7)
A/B/X/Yは、そのままボタンとして動作する。これらは他のコントロールと独立して操作できる。
下画面(8-31)
下画面に表示されたコントロールをタッチで操作する。3種類ある。
画面内の場所によって次のような番号が割り当てられている。フェーダーは2個分の場所のうち小さい方の番号に対応する。
XYパッド(32-47)
十字キーを押している間は下画面がXYパッドに切り替わる。XYパッドは全部で4つあり、十字キーの上下左右にそれぞれ対応している。一つのXYパッドあたり4個のコマンドが割り当てられている。
LRボタン
LまたはRを押しながら操作すると、対応するコマンドを送信せずに内部状態のみが変更される。フェーダーの値を一気に変更したい場合などに利用できる。また、コマンドの取りこぼしなどによってトグルボタンの状態がシンセ側の状態と一致しなくなった場合などに、ずれを修正するのにも利用できる。
STARTボタン
メニュー画面を開く。
メニュー画面でXを押すと、PKTRLを終了する。終了する前に、現在の状態が自動的に保存される。 メニュー画面でYを押すと、編集モードに入る。 編集モード
QRコード
pkmap.exePC側で動作するプログラム。オーディオ入力から受け取った信号をデコードして、pkmap.csvに従って対応するMIDIコマンドに変換、出力する。 コマンドプロンプト上で実行する必要がある。 一定時間入力がないと自動的に終了する。 送信するMIDIコマンドは3バイトの固定長。あらかじめpkmap.csvで設定しておく。 pkmap.csvを修正した時、それを反映させるためには、いったん終了して再度実行する必要がある。 実行時に引数を指定すると、それがpkmap.csvの代わりに使われる。 pkmap.csvPRG:PKTRLから送られてくるコマンド(PK番号とPK値)に対して割り当てるMIDIコマンドを記述するCSVファイル。各行には次の形式で情報を記述する。 PK番号, PK値, MIDIステータスの上位4ビット, ノート番号, ベロシティ PK番号(4~47)
DSの上画面にグレーの背景付きで表示されている、コントロールの番号。ボタンの位置などによって決まっている。
PK値(0~127 または *)
コントロールの状態が変化した時に送られてくる値。値の範囲は通常0~127だが、最大値は編集モードで変更することができる。「*」とすると、任意のPK値に一致する。
MIDIステータスの上位4ビット(8~15)
MIDIコマンドのステータスバイトの上位4ビット。(ノートなら9、コントロールなら11、など。)
ノート番号(0~127)
MIDIコマンドの第2バイトとして送る値。
ベロシティ(0~127 または *)
MIDIコマンドの第3バイトとして送る値。「*」とすると、PK値と同じ、という意味になる。
pkmidi.cfgpkmap.exeのMIDIコマンド出力先を指定するファイル。1行目: 出力先のMIDIデバイス名。これが有効なデバイス名でない場合は、標準MIDIデバイス(MIDI_MAPPER)に出力される。 2行目: 出力先MIDIチャンネル。通常は0。
例:
Out To MIDI Yoke: 1 0 xpkmap.batコマンドプロンプトを開いてpkmap.exeを実行するバッチファイル。通常はこれを起動する。ダウンロード |