MIDI2 分で読めます公開: 2026-05-26更新: 2026-08-27執筆・検証:甘党工藤

MIDIの基礎 - 音が入っていない理由とブラウザツール間の受け渡し

MIDIファイルとWAVファイルの違い、ノート・ベロシティ・チャンネルといった基本用語、ブラウザでMIDIを編集・書き出しする方法を扱います。編集しても音が変わらないときの確認箇所まで、順を追って整理しました。

MIDIの基礎 - 音が入っていない理由とブラウザツール間の受け渡し

MIDIを読み込んだのに音が違う、編集しても音色が変わらない、という混乱は、MIDIを音声ファイルとして扱うと起きます。この記事ではMIDIに含まれる演奏情報と含まれない音を分け、なまずMIDIエディターで確認してからWAVへ固定する手順を説明します。

MIDIに入っているもの

一般的なMIDIファイルには、ノート番号、開始位置、長さ、Velocity、Channel、Program Change、Tempo等のイベントが入ります。これは「いつ、どの高さを、どれくらいの長さと強さで鳴らすか」という指示です。ファイル形式や書き出し元によっては、すべての種類が含まれるとは限りません。

MIDIに入っていないもの

MIDIのノート情報を音源で再生してWAV波形へ書き出す流れ
MIDIは演奏情報、WAVは音声結果

MIDIには、シンセの実際の波形、録音した声、リバーブ後の残響、Web Audio固有のPatchは通常入りません。Program番号があっても、読み込み先が同じ音源を持たなければ同じ音にはなりません。聞こえ方まで残す必要がある場合はWAVも書き出します。

読み込み先で音が変わる理由

読み込み先はMIDIイベントを自分の音源へ割り当てて再生します。Program、ドラムノート、Channelの扱いが異なると、同じノート列でも楽器や音量バランスが変わります。テンポマップやPitch Bend等の未対応イベントが省略される場合もあるため、読み込み後は先頭だけでなく曲全体を試聴します。

Program、Channel、Velocity、Tempoの扱い

Programは音色番号、Channelはイベントの系統、Velocityは発音の強さ、Tempoは時間軸の進行速度です。Velocityが音量へどれだけ反映されるかは音源側で異なり、Channel 10をドラムとして扱う慣例も読み込み先の実装に依存します。BPMを変えても、MIDIノートの並びが時間軸上で速く進むだけで、音声サンプル自体を高品質に伸縮する処理ではありません。

なまずMIDIエディターで確認する

読み込み後は、トラック数、BPM、ノートの音高・開始位置・長さ・Velocityをピアノロールで確認します。無音なら再生位置、Mute、音源、ノートの音域を順に見ます。ドラムが旋律音になった場合はChannelとノート割り当てを確認し、必要ならトラックを分けます。

音を固定したいときはWAVにする

編集を終えたらMIDIを再編集用、WAVを試聴・公開用として残します。WAVは現在選んだ音源とエフェクトを含むため、別環境でも聞こえ方を共有しやすい形式です。ただしWAVから元のノート、Velocity、Channelへ完全に戻すことはできないので、MIDIを削除しません。

要点

MIDIは演奏指示、WAVは音声結果です。読み込み先で音が変わること自体は故障ではなく、音源と対応イベントの違いとして確認します。

この状態はこのブラウザだけに保存されます。