MIDI

MIDIファイルとは

これは音ではなく指示です——どの音を、どれくらいの強さで、どれだけの長さで。聞くにはまず鳴らす必要があります。

MIDI とは何か

MIDI はバイナリ形式です。これを知っているプログラムにしか意味を持ちません。 編集のために使われます。

拡張子は .mid、正式名称は MIDI Sequence です。ただしどちらも、そのファイルが中に何を持てるかほどには多くを語りません。このページの残りは、その中身についての話です。

MIDI はどこから来たのか

MIDI Manufacturers Association が 1988 年に公開しました。 仕様は Standard MIDI File です。

これだけ長く読まれ続けてきた形式なら、10 年後に取り出したいものを預けても大丈夫です。

仕様は公開されています

仕様書がそのまま公開されているので、中身を推し量るのではなく文書を読んで実装できます。この形式が数多くのプログラムに載っているのはそのためであり、20 年前に書かれたファイルが今も開けるのもそのためです。ただし「仕様が公開されている」ことと「使用料が要らない」ことは別の話です。中でコーデックを包んでいる形式では、特許のライセンスは仕様書が答えていない別の問題として残ります。

ほかに何を運べるか

MIDI ファイルは複数の音声トラックを持てます。

これは変換のときにとくに効いてきます。変換先が持てないものは落とされ、たいてい警告もありません。

MIDI を開けるのは何か

MuseScore、Logic Pro、Ableton Liveが読めますし、同じ種類のプログラムならたいてい読めます。

ファイルが開かないとき、形式が悪いことはめったにありません。たいていはプログラムのほうが形式より古いのです。もっと古い形式に変換してしまうのが確実な逃げ道で、このサイトの残りの部分はそのためにあります。

ブラウザーで開く

これを読めるブラウザーはありません。

これを変換するいちばんよくある理由がこれです。形式が悪いのではありません。ファイルを見せたい場所が、それを読めないというだけのことです。

作業のための形式です

MIDI は、開いて手を入れるために作られています。作業が続いているあいだはこの形式でファイルを持ち、完成したものが必要になるたびに、ここから書き出してください。

MIDI ファイルの中に音は一切ありません

MIDI ファイルが含んでいるのは音声ではなく命令です。この瞬間に、この強さでノート番号 60 をチャンネル 3 で鳴らし始め、一拍後にそれを止める、というようなものです。録音も波形もなく、何かがその命令を音に変換するまでは何も聞こえません。

これが、五分のオーケストラの編曲が三十キロバイトなのに、それを録音したものは五十メガバイトになる理由です。同じファイルがあるコンピュータではフルバンドの音になり、別のコンピュータでは薄っぺらいエレクトリックピアノになる理由でもあります。ノートはファイルの中にありますが、楽器はそこにはありません。

機械ごとに音が違う理由

ファイルは「楽器41」と言い、規格は 41 がバイオリンだと定めています。そのバイオリンが実際にどんな音がするかは、演奏する側 ── オペレーティングシステムに組み込まれた音源、プレーヤーが読み込むサウンドフォント、音楽ソフトウェアの中のサンプリングされた楽器の一式 ── が決めます。

だからスタジオではプロフェッショナルに聞こえるファイルが、メディアプレーヤーでは 1990 年代の着信音のように聞こえることがあり、どちらも間違っていません。MIDI ファイルにがっかりしたら、直すべきものはたいていファイルではなく音源です。同じノートを良いサンプルライブラリで演奏すれば、まったく別の曲になります。

命令が実際に記録していること

音の高さと長さだけではありません。各ノートはベロシティを持ち、これはどれだけ強く弾かれたかで、たいてい音量と音色に対応します。ノートに沿ってコントローラーメッセージ ── サステインペダル、モジュレーション、ピッチベンド、時間経過での音量変化 ── が走り、テンポと拍子の情報のおかげで、それ以外は何も変えずにファイル全体を違う速さで読み直せます。

これが MIDI を配信用ではなく作業用の形式にしています。テンポを変えても劣化しません。調を変えても劣化しません。ピアノをハープに差し替え、間違った一音を動かし、ドラムを消す ── そのすべてが録音の編集ではなくリストの編集です。

トラックとチャンネル、16という上限

標準的な MIDI ファイルはたいていタイプ 1 で、複数のトラックがそれぞれイベントのストリームを持ち、同時に演奏されます。トラックは組織上の便宜で、たいてい楽器ごとに一つですが、チャンネルはハードウェアからの遺産で、16 個しかありません。

チャンネル 10 は知っておくべきものです。慣例上パーカッションで、そこでのノート番号は音の高さではなくドラムを選びます。ドラムがほかのチャンネルに移されたファイルはメロディーとして演奏され、メロディーがチャンネル 10 に着地したファイルは張り切ったドラムソロとして演奏されます。これは MIDI ファイルが誰にも説明のつかない形で変な音になる、いちばんよくある原因です。

MIDI を音声に変える

レンダリングとは、命令を音を出す何かに渡し、その結果を録音することです。どんな DAW でもできますし、サウンドフォントを読み込んだ単体のプレーヤーもいくつかできます。出力の品質は、向けた楽器の品質にすべてかかっています。

逆方向はほとんど存在しません。録音から MIDI を取り出すのは変換ではなく文字起こしで、本当に難しい作業です。ソフトウェアは波形からどのノートが演奏されているかを割り出さなければなりません。単一の楽器がきれいに演奏していれば使える結果が出ますが、完成したミックスからは、手で耳コピしたほうが早いくらいの修正が必要な近似が返ってきます。

いまも MIDI ファイルがどこから来るか

キーボードとコントローラー ── これがこの形式のもともとの仕事で、四十年後の今もそれを完璧にこなします。楽譜ソフトはアレンジを聴いたり録音ソフトに移したりできるよう MIDI を書き出します。伴奏用のライブラリは調やテンポを変えたい演奏家のためのもので、それはまさに録音では許されないことです。

そして、一曲まるごとが数キロバイトに収まらなければならなかった時代の膨大なアーカイブがあります。ウェブサイトのBGM、ゲームのサウンドトラック、カラオケのファイル。その素材の多くはほかのどこにも存在せず、これがこの形式がそれを作ったハードウェアより長く生き延びている理由の一つとして妥当です。

スタジオなしで編集する

MIDI ファイルはバイナリなので、テキストエディタでは何も見えません。必要なのはピアノロールエディタ ── 時間軸を横に、音の高さを縦に持つグリッドで、ノートをドラッグできる四角形として扱うもの ── です。どんな音楽ソフトも一つ持っていて、それだけしかしない無料のものもいくつもあります。

これがどれほど寛容かは知っておく価値があります。符号化された音声がないので、編集して保存し直しても MIDI ファイルの中身は何も劣化しません。移調しても、タイミングを変えても、楽器を差し替えても、百回保存し直した百回目のコピーは最初のものとまったく同じ精度です。

基本情報

MIDIフォーマットの識別子と出自。
拡張子.mid, .midi
メディアタイプaudio/midi
公開元MIDI Manufacturers Association
初版1988
仕様Standard MIDI File

MIDI ファイルについてよくある質問

MIDI ファイルを再生しても音が出ないのはなぜですか

ファイルには音声ではなく命令が入っていて、何かがそれを音に変換する必要があるからです。多くのメディアプレーヤーは音源を持たないか MIDI 自体に対応していません。サウンドフォントを読み込んだプレーヤーを使うか、音楽ソフトウェアで開いてください。

同じ MIDI ファイルが別のコンピュータでは違う音に聞こえるのはなぜですか

ファイルは番号で楽器を指定し、実際の音は演奏する側に任されているからです。組み込みの音源と本格的なサンプルライブラリでは、まったく同じノートからまったく違う結果が出ます。

MIDI を MP3 に変換できますか

できます ── これは命令を楽器のセットで演奏し、その結果を録音することを意味します。出力は使う楽器の品質しだいで、同じファイルが説得力のあるアレンジから着信音のような音まで、何を生み出すかが変わる理由です。

MP3 を MIDI に戻せますか

近似的にしかできません。それは変換ではなく文字起こしで、ソフトウェアは波形からノートを推測しなければなりません。単一のきれいな楽器なら使える結果になり、完成したミックスからは、手で耳コピしたほうが早いくらいの修正が要る近似になります。

ドラムがメロディーとして再生されるのはなぜですか

チャンネル 10 は慣例でパーカッションです。ノート番号がそこでは音の高さではなくドラムを選びます。ドラムのパートがチャンネル 10 から動かされたか、メロディーがそこに着地したファイルは、ちょうど逆に演奏されます。

MIDI ファイルは編集すると劣化しますか

しません。劣化すべき符号化された音声がなく、ファイルはイベントのリストです。移調やタイミングの変更、百回の保存し直しをしても、百回目のコピーは最初のものと同じ精度のままです。