MIDIファイルを読み込むための関数をいくつか記述しようとしています。 http://www.sonicspot.com/guide/midifiles.htmlMIDIファイルを読み込む(C):可変長の値の末尾に0x00が表示される
私がダウンロードしたスーパーマリオブラザーズテーマのMIDIファイルでテストしています。予期しないデータ。ファイルのフォーマットが間違っている可能性がありますが、私が間違ったことをしている可能性が高いと思います。
4D 54 72 6B 00 00 00 19 00 FF 51 03 05 7B 71 00 FF 58
|---------| |---------| || || || |------| || ||
MTrk Chunk size || || || Tempo || ||
(25 bytes) || || ||(ms per || ||
\/ || ||1/4 note) || ||
VLen value || || \/ ||
(Event at time 0)|| || VLen value ||
\/ || (event at ||
Beginning of || time 113) ||
meta-event || ||
\/ \/
Meta-event type: ????
set tempo
0x00
前にすべてが正しい場合は、その後、見ることができるように:ここで私はとのトラブルを抱えている、と私は私がそれについて知っているをどう思う(16進エディタから)のデータがありますそこには何がありますか?前のVLen値は、2進値が01110001
であるため、VLen値の別の部分を期待していないため、AFAIK、はをイベントタイプにする必要があります。しかし、0x0
に関連付けられたイベントタイプはありません。誰かが私が間違っているのを見ることができますか?