Standard MIDI File
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Standard MIDI File(標準MIDIファイル、SMF)は、MIDI用ファイルフォーマットの一つである。Format0/Format1/Format2の3タイプが存在する。一般的に用いられている拡張子は .mid。
[編集] 概要
MIDIの演奏データを記録するための基本ファイルフォーマットとして、Opcode社のDave Oppenheimが提唱し、デファクトスタンダードとなった。1991年にはMIDIの推奨実施例 (Recommended Practice) の第1号 (RP-001) として承認された。
SMFはチャンクと呼ばれるデータブロックから構成され、ファイルの先頭にあるチャンク(ヘッダチャンク)には
- ヘッダチャンクであることを示す識別子"MThd" (4)
- データ長 (4)
- フォーマット (2)
- トラック数 (2)
- 時間単位 (2)
がこの順序で、ビッグエンディアン形式で格納されている。データ長はそれ以降のヘッダチャンクの長さを示すもので、拡張用に用意されている。 (カッコの中はそれぞれのデータ長を8bit-byte数で示す)
続くトラックチャンクに実際の演奏データが格納される。それぞれのチャンクには
- トラックチャンクであることを示す識別子"MTrk" (4)
- データ長 (4)
- データセクション(可変長)
が格納される。データセクションの長さはデータ長で示される。
データセクションには時間情報と共にイベント(音楽データのこと。どのキーをどの速さで押し下げたか等。MIDIイベント、システムエクスクルーシブ (SysEx) イベント、メタイベントの3種類がある)を順次格納する。