MIDI、3つのデータ

Chuckで何かのMIDIディバイスからデータを受け取る。サンプルのgomidi.ckには以下のように

<<<msg.data1, msg.data2, msg.data3>>>;

3つのデータを返している部分がある。僕はキーボードなどのMIDIディバイスをもう使ってないので、PyPortMidiでMIDIデータを送ってみた。

MidiOut.Write([[[0x90,60,100],pypm.Time()]])

詳しくはPyPortMidiのtest.pyを参考にしてもらうとして、PyPortMidiからMIDIを送るとき1つ目はノートオンする16進数0*9nにします。nはチャンネルで、上のように0*90で送るとChuckでは10進数で144を出力します。2つ目はMIDI番号で、3つ目はベロシティ(強弱)になります。pypm.Time()は無視してください。詳しくはそのうちまとめます。おまけでノートオフは0*8nにします、ベロシティを0にしてもよい。ここいら辺で確認をしてください