2017-05-23 10 views
1

私は最初からミディファイルを書き込もうとしています。 3つの股のCメジャーアルペジオを演奏します。私は奇妙なテキストを使用して、16進符号化を使用して保存しています。その結果をロジックにインポートします(拡張子を.midに変更した後)。これまでのところ、これは成功しておらず、論理は単に何もしません。16進数を使用してゼロからミディファイルを書き込む

私はhereから私の情報のほとんどを獲得し、次のように書かれている:

4D 54 68 64 00 00 00 06 00 00 00 01 00 18 4D 54 72 6bを00 00 00 1E 80 18 81ここで図3c 7F 80 00 91 3C 00 80 18 81 40 7F 80 00 91 40 00 80 18 81 43 7F 80 00 91 43 00

は、各バイトの内訳ですが、それは、ノートの形でですが、私の理解を要約したものファイル形式: Byte breakdown for MIDI file

Logicに正しい結果がロードされない理由を誰かが指摘できますか?私はファイル形式自体を誤解しているのか、エンコーディングの深いところで問題になっていますか?
UPDATE:ここ...

4D最終補正進数である54 68 64 00 00 00 06 00 00 00 01 00 18 4D 54 72 6B 00 00 00 22 80 18 91 3C 7F 80 00 81 3(c)00 80 18 91 40 7F 80 00 81 40 00 80 18 91 43 7F 80 00 81 43 00 00 FF 00

答えて

0

2fはトラックエンドのトラックメタイベント(タイプ2Fを欠いています、長さ0)。したがって、バイト00 FF 2F 00を追加し、それに応じてトラックサイズを調整してください。

トラックには6つのMIDIメッセージが含まれています。 6つはすべてノートオフメッセージなので、実際の音符はありません。

8xはノートオフメッセージです。
9xはノートオンメッセージですが、実際には0のベロシティがノートオフを指定します。 (これは、実行中のステータスを使用するときに役立つ最適化です)

関連する問題