Su | Mo | Tu | We | Th | Fr | Sa |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 |
どうやら、ほぼ同時に離した場合だけ0x80 0xnn 0x00 0x00 がきちんと出力されていない
ようです。
MIDIキーボードはきちんと信号をだしてるはずなので、まずはありえない。てことはやっぱり自分のせいなのです。ふぐー。でも以下のトレースで少しわかってきたよ。
キーボード番号 32 と 2f を同時に押す。
0x0 0x 1 Event Info送信
0x90 0x32 0x63 0x0 Chord root
0x90 0x36 0x63 0x0 Chord +4
0x90 0x39 0x63 0x0 Chord +7
0x0 0x 3 Event Info受信 32のメジャーコードが鳴る
0x90 0x32 0x63 0x0 Chord root
0x90 0x36 0x63 0x0 Chord +4
0x90 0x39 0x63 0x0 Chord +7
0x0 0x 1 Event Info送信
0x90 0x2f 0x63 0x0 Chord root
0x90 0x33 0x63 0x0 Chord +4
0x90 0x36 0x63 0x0 Chord +7
0x0 0x 3 Event Info受信 2fのメジャーコードが鳴る
0x90 0x2f 0x63 0x0 Chord root
0x90 0x33 0x63 0x0 Chord +4
0x90 0x36 0x63 0x0 Chord +7
0x0 0x 2 Event Info送信
0x80 0x2f 0x 0 0x0 Chord root
0x80 0x33 0x 0 0x0 Chord +4
0x80 0x36 0x 0 0x0 Chord +7
0x0 0x 6 Event Info受信 2fのメジャーコードが止まる
0x80 0x2f 0x 0 0x0 Chord root
0x80 0x33 0x 0 0x0 Chord +4
0x80 0x36 0x 0 0x0 Chord +7
32のメジャーコードの音を止める信号は出ない。2fのメジャーコードと重複している構成要素の36 番は止まりました。この状態でノートを止める信号を送出してみるも音は止まりませんでした。ゆっくり離すと問題なく止まる。イベントが複数とどいている兆候がありますので、こいつを上手く処理していないということになるのかな。同時に鍵盤をおしてもEventはひとつしか発生しないようになってるみたいなので、そのあたりが原因かもしれません。もうちょっと動きをおってみようと思います。
Posted by yo-net at 2006年02月08日 02:23 | TrackBack(0)