MIDIファイル(.mid / .midi)をブラウザに読み込んで演奏する、サーバー不要の静的サイトです。 電卓ミュージックの音色(奇数倍音の加算合成によるブレンド音)をそのまま流用しています。
- ドラッグ&ドロップ、またはファイル選択でMIDIファイルを読み込み
- フォーマット0/1のSMF(標準MIDIファイル)に対応、複数トラック・テンポ変化に対応
- 再生 / 一時停止 / 停止、再生速度(0.5x〜2x)、マスター音量
- ピアノロール表示(クリックでシーク)
- トラックごとのミュート・ソロ・音量調整
- チャンネル10(打楽器)はノイズ系の音でパーカッションとして再生
- 読み込んだファイルはブラウザ内で処理するのみで、外部には送信されません
- 依存ライブラリなし(素のHTML/CSS/JS)
- MIDIパース処理も自前実装(
script.js内) - 音声再生は Web Audio API
Node.js不要。適当な静的サーバーで配信して開くだけです。
python -m http.server 8000http://localhost:8000/ を開いて確認してください。
main ブランチへのpushで GitHub Pages に自動デプロイされます(.github/workflows/pages.yml)。