MIDI ファイル形式とは?
.midi ファイルは Standard MIDI File (SMF) であり、シンセサイザー、キーボード、デジタル・オーディオ・ワークステーション (DAW) によって生成される演奏イベントのバイナリシーケンスです。この形式は、音の高さ、ベロシティ、タイミング、コントロールチェンジ、楽器の割り当てを保存しますが、サンプリングされた音声は含まれません。再生の品質は、レンダリングに使用されるシンセサイザーやサウンドフォントに完全に依存します。
.midi は .mid とバイト単位で同一です。違いは単に拡張子の長さだけです。DOS の 8.3 形式のファイル名制限により短い .mid 形式が強制されていましたが、現代のオペレーティングシステムは完全な .midi 表記を受け入れます。Ableton Live など一部のアプリケーションでは、インポート前に .midi を .mid にリネームする必要があります。
ファイルは 4 バイトのマーカー MThd (MIDI ヘッダーチャンク) で始まり、その後にフォーマットタイプ、トラック数、タイミング解像度を宣言する 6 バイトのヘッダーが続きます。その後、1 つ以上の MTrk トラックチャンクが続きます。3 つのフォーマットタイプが存在します。フォーマット 0 はすべてのチャンネルを単一のトラックに保存し、フォーマット 1 は複数の同期トラックを使用し、フォーマット 2 は独立したパターンシーケンスを保存します。
Standard MIDI File 1.0 仕様は 1988 年に MIDI Manufacturers Association によって公開され、それ以来安定しています。MIDI 2.0 (2020) は基盤となるプロトコルを拡張していますが、異なるクリップ形式を使用します。.midi シーケンスは、DAW、譜面作成ソフト、ハードウェアシンセサイザーにおいて、現在も広く活発に使用されています。
セキュリティと安全性
リスク: LOWStandard MIDI File は埋め込みコードやマクロを持たないパッシブなイベントデータであるため、形式自体は無害です。歴史的な注意点として、CVE-2012-0003 では古い Windows Media Player で細工された MIDI を介してコード実行が可能でしたが、現在は修正されています。OS とプレーヤーを最新の状態に保ってください。主なリスクは「期待外れ」であることです。再生品質はファイル自体ではなく、シンセサイザー/サウンドフォントに依存します。
形式の詳細
概要MIDI ファイルを開くプログラム
技術的詳細
詳細仕様| マジックバイト | オフセット 0 に `4D 54 68 64` (`MThd`)、続いて `00 00 00 06` (ヘッダーチャンク長) |
| バイト順序 | ビッグエンディアン |
| チャンク構造 | `MThd` ヘッダーチャンク + 1 つ以上の `MTrk` トラックチャンク。各チャンクの先頭には 4 バイトのタイプ ID と 32 ビットの長さが付与されます |
| フォーマットタイプ | フォーマット 0 - 単一トラック、全チャンネル。フォーマット 1 - 複数の同期トラック。フォーマット 2 - 独立したパターン |
| タイミング解像度 | `MThd` の division フィールドで設定: 四分音符あたりのティック数 (例: 480 TPQN) または SMPTE タイムコードフレーム |
| テンポ・エンコーディング | メタイベント `FF 51 03` が四分音符あたりのマイクロ秒を保存。デフォルトは 500,000 µs (120 BPM) |
| デルタタイム・エンコーディング | 可変長数値 (VLQ) が各イベントの前に配置されます。固定サイズのパディングがないコンパクトなエンコーディングです |
| イベントタイプ | ノートオン/オフ、ベロシティ、コントロールチェンジ、プログラムチェンジ、ピッチベンド、アフタータッチ、SysEx、メタイベント (テンポ、拍子、歌詞) |
| チャンネル容量 | トラックあたり 16 MIDI チャンネル。チャンネル 10 は慣習的にパーカッション用に予約されています |
| .mid との関係 | `.mid` とバイト単位で同一。`.midi` は長形式の拡張子で、現代の OS では受け入れられますが、DOS の 8.3 命名規則では拒否されます |
| 一般的なファイルサイズ | 1 KB - 100 KB。数分の音楽で通常 50 KB 未満です |
| カラオケ・バリアント | `.kar` ファイルは、2 番目のトラックに歌詞のメタイベントを埋め込みます。それ以外は SMF フォーマット 1 と同一です |
| MIDI 2.0 との関係 | MIDI 2.0 (2020) はプロトコルを拡張していますが、異なるクリップ形式を使用します。`.midi`/`.mid` SMF は廃止されていません |
| リリース日 | Standard MIDI File 1.0 published 1988 (MIDI protocol 1983) |
| 最新バージョン | SMF 1.0 (stable since 1988); MIDI 2.0 protocol (2020) uses different clip formats |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | midi.org |
MIDI の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。MIDI ファイルについて最初の質問をしてみましょう。