[MIDI] ファイルフォーマットの概要

SMF (Standard MIDI File) のファイルフォーマットの概要について解説します。

SMFはチャンクと呼ばれるブロックで構成されています。チャンクにはヘッダチャンクとトラックチャンクの2つがあります。

また、フォーマット0/1/2の3パターンがあり、ほとんどのMIDIファイルが、フォーマット0か1です。

フォーマット2については、よく分かりません💦(詳しい人、コメントお願いします)

スポンサーリンク

ヘッダチャンク

ヘッダチャンクはMIDIファイルの先頭に必ず1つだけ存在しています。ヘッダチャンクを解析することで、どのフォーマットかがわかるようになっています。

トラックチャンク

フォーマット0の場合、トラックチャンクはヘッダチャンクに続き、1つだけ存在しています。(複数のチャネルが1つのトラックに集められている)

フォーマット1/2の場合は、トラックチャンクは複数存在します。(1つのチャネルにつき、1つのトラックがある)

※チャネルは、1つの楽器パートだと考えてOKだと思います。

フォーマットの全体像

こんな感じ。

コメント