スタンダードMIDIファイル(SMF)の概要
スタンダード
MIDIファイル(Standard
MIDI File、略称SMF)は、音楽データを記録するための
バイナリ形式の
ファイルフォーマットです。主に広く利用されている
拡張子は「.mid」で、
MIDIに関連する演奏データを扱うための基本的な形式として標準化されています。このフォーマットは、Opcode社に属していたデイブ・オッペンハイムが提案し、1991年には
MIDIの標準実施例として正式に承認されました。
フォーマットの種類
SMFは、その構造の違いによって3つのフォーマットに分類されます。具体的には、ヘッダチャンクと演奏データを格納するトラックチャンクから構成され、以下のような特徴を持っています。
1.
フォーマット0: ヘッダチャンクと1つのトラックチャンクから成り、この形式により単一の楽曲データが簡単に扱えます。
2.
フォーマット1: 複数のトラックを持ち、より複雑な楽曲データを表現することができます。この形式が最も一般的です。
3.
フォーマット2: マルチシーケンスに対応した形式ですが、現在ではほとんど使用されていないと言ってよいでしょう。
ヘッダチャンク
ヘッダチャンクには、ファイル格式を識別するための特定の情報が含まれています。具体的には、以下の要素が含まれます。
- - チャンク識別子(「MThd」により識別)
- - データ長
- - フォーマットタイプ
- - トラック数
- - タイムベース(1分に含まれる4分音符の数)を示す値
これらのデータはビッグ
エンディアン形式で格納されており、正確なデータ入力が求められます。
ミュージックシーケンサーなどの専門アプリケーションを使用することで、これらの情報を簡単に作成・編集できます。
トラックチャンク
トラックチャンクは、実際の演奏データが格納される部分で、これには
音色情報やノート情報などが含まれています。トラックチャンク内には以下の情報が格納されます。
- - チャンク識別子(「MTrk」)
- - データ長
- - 実際の音楽データ
データセクションには、ノートオンやノートオフといった音を鳴らす操作指示が格納され、これにより楽器の演奏が実現されます。音を出す際のコマンドや、音を止めるためのコマンドが具体的に記載され、デルタタイムにより各音の発音タイミングが指定されます。
音色とノート情報
音色の指定は特定のコードによって行われ、例えば「00 C0 XX」は
音色を指示する際に用いられます。音の高さや音量に関しては、ノートナンバーやベロシティが数値で指定されます。これにより、音楽の多様性が生まれ、楽曲を表現する際の自由度が高くなります。
和音は、音を同時に出すことで表現されます。一方、打楽器は標準で用意されたチャンネルを通じて、さまざまな楽器が割り当てられています。これにより、多彩なリズムや
音色を演奏することができます。
トラックの終了
楽曲の終了を示すためには、「FF 2F 00」という特別なコマンドを使用します。これにより、トラックのデータが正しく終了したことがシステムに通知されます。
まとめ
スタンダード
MIDIファイルは、音楽制作の現場で非常に重要な役割を果たしています。SMFの構造を理解することで、より効果的に音楽データを扱うことができるようになります。音楽制作を行う上で、SMFに関する知識は、クリエイターにとって不可欠なものと言えるでしょう。