MID ファイル形式とは?
.mid ファイルは .midi 形式と密接に関連しており、どちらも標準MIDIファイル(SMF)シーケンスです。
.mid ファイルには、正確なタイミングで整理された 演奏イベント が格納されています。これらのイベントには以下のような情報が含まれます:
- 音の高さ(ピッチ)、強さ(ベロシティ)、再生時間
- 音量、エクスプレッション、その他のコントローラー値
- 最大16チャンネルにわたる楽器(プログラム)の変更
注意点として、.mid ファイルにはオーディオデータは含まれず、シンセサイザーやサウンドフォントエンジンが適切に再生するために必要なイベント命令のみが含まれています。オーディオサンプルが保存されていないため、同じ .mid ファイルでもデバイスによって聞こえ方が著しく異なる場合があります。
.mid 拡張子のファイルは、音楽編集ソフトウェアだけでなく、MIDIハードウェアデバイスやシンセサイザーでも使用できます。.mid ファイルは、プログラム間で楽曲を共有するための普遍的な手段として機能します。デジタルオーディオワークステーション(DAW)、楽譜作成ソフト、シーケンサーはすべてこの形式をサポートしています。ハードウェアデバイスでは、.mid ファイルを使用して楽器をトリガーしたり、ピッチや持続時間などのオーディオ出力パラメータを変更したり、自動演奏を駆動したりできます。
内部的には、.mid ファイルはチャンクベースのバイナリ構造を使用しています。MThd ヘッダーチャンクが形式タイプ(0、1、または2)、トラック数、タイミング解像度を定義し、その後にデルタタイムスタンプ付きのイベントを格納する1つ以上の MTrk トラックチャンクが続きます。.rmi バリアントは同じコンテンツを RIFF コンテナでラップし、.kar 形式は .mid にカラオケの歌詞を埋め込んで拡張したものです。
セキュリティと安全性
リスク: LOW標準MIDIファイルは、コードやマクロが埋め込まれていない受動的なイベントデータであるため、形式自体のリスクは低いです。歴史的な懸念として、2012年に Windows の MIDI 解析の欠陥(CVE-2012-0003)により、Windows Media Player で細工された MIDI を介してコード実行が可能になる問題がありましたが、現在は修正されています。OSやプレーヤーを最新の状態に保ってください。それ以外の主な「リスク」は、再生がデバイスのサウンドフォントに依存するため、音が貧弱だったり正しくなかったりして期待外れに終わることです。
形式の詳細
概要- カラオケMIDI (.kar) - 標準MIDIファイルと同じ構造で、カラオケ用の歌詞メタイベントが埋め込まれています。 .mid 拡張子で保存されることもよくあります。
- RMID (RIFF MIDI) - RIFF コンテナでラップされた MIDI シーケンスで、DLS サウンドバンクが埋め込まれている場合もあります。 .rmi を使用しますが、稀に .mid が使われることもあります。
MID ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルエンコーディング | バイナリ、ビッグエンディアン・バイトオーダー |
| ファイルシグネチャ(マジックバイト) | `4D 54 68 64` - バイトオフセット0のASCII `MThd`、その後に4バイトのチャンク長(`00 00 00 06`) |
| コンテナ構造 | チャンクベース: `MThd` ヘッダーチャンクの後に1つ以上の `MTrk` トラックチャンク |
| 形式タイプ | フォーマット0 - 単一のマルチチャンネルトラック、フォーマット1 - 複数の同期トラック、フォーマット2 - 独立したパターンシーケンス |
| MIDIチャンネル容量 | 1ファイルにつき最大16の同時チャンネル、それぞれ異なる楽器やボイスに割り当て可能 |
| タイミング解像度 | `MThd` 内の `division` フィールドで設定。四分音符あたりのティック数(例:480 PPQ)または SMPTE タイムコードフレームで表現 |
| イベント・デルタタイム・エンコーディング | 可変長数値(VLQ) - MSB継続フラグ付きの1バイトあたり7ビットを使用して、イベント間のタイミングギャップをエンコード |
| MIMEタイプ | `audio/midi`。 `audio/x-midi` や `audio/sp-midi` としても認識される |
| 典型的なファイルサイズ | 1 KB - 100 KB。オーディオサンプルが保存されないため、数分の音楽でも通常 50 KB を大幅に下回る |
| 圧縮 | なし。バイナリオペコードとVLQデルタタイムエンコーディングにより、イベントは本質的にコンパクト |
| メタイベント | トラックに埋め込まれた非音響メタデータ:テンポ(四分音符あたりのマイクロ秒)、拍子、調号、トラック名、歌詞、著作権、トラック終了マーカー |
| 開発元 / 管理団体 | MIDI Manufacturers Association (MMA) および AMEI (一般社団法人 音楽電子事業協会) |
| MIDI 2.0 互換性 | `.mid` は MIDI 1.0 メッセージをエンコードします。MIDI 2.0 プロトコル(2020年)では異なるコンテナ形式が使用されますが、`.mid` ファイルは現在も広く活発に使用されています |
| リリース日 | Standard MIDI File 1.0 published 1988 (MIDI protocol 1983) |
| 最新バージョン | SMF 1.0 (stable since 1988); MIDI 2.0 protocol 2020 uses .midi2/clips, not .mid |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | midi.org |
MID の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。MID ファイルについて最初の質問をしてみましょう。