MIDI Send And Receive

このアプリケーションは、MIDIデータをSystem Exclusiveを含めて受信、送信を行うことができます。





更新情報

Nov.26,2025

MIDI MONITOR

PWA(Progressive Web Apps)でアプリ化しました。インストール方法はこちらを参照して下さい。





Bluetooth MIDIと5pin DIN MIDIの変換器

Bluetooth MIDIと普通の5pin DIN MIDIの変換器を作ります。 ArduinoはBluetooth MIDIを受信し、SerialポートからMIDIを5pin DINに出力します。 また、5pin DINから受け取ったMIDIはArdhinoのSerialポートで受け取り、 Bluetooth MIDIに変換します。

下の写真はArduino ProMicroとBLEシールドで製作した変換機です。


Arduinoで信号発生器9833を鳴らす

AD9833はAmazonで購入できる信号発生器です。SPI通信で制御します。Arduinoと接続し、MIDIで鳴らします。



YAMAHA YMZ294音源

秋月電商で販売しているヤマハ音源IC(YMZ294)を Arduinoで制御して音出してみます。

ノートナンバー

ノートナンバー(ノート番号、キーコード、キーナンバーなど呼び方はいろいろ)は、 MIDIノートオンの3バイト目で、どの鍵盤が押されたか?を示しています。 ノートナンバーと鍵盤の位置を国際式音名、ヤマハ式音名、平均率の場合の周波数を表にまとめます。 記号はそれぞれ以下を表しています。

C:ド   D:レ  E:ミ  F:ファ   G:ソ  A:ラ  B:シ

コントロール・チェンジ・ナンバー、チャンネル・モード・メッセージのそれぞれの表を追加

PythonでMIDI

pygameを使ったMIDIの送受信のプログラム



Midi Through Portを使ったSys Exの送受信



MIDIの5pin DIN

MIDI1.0の仕様書では ドキュメントで、MIDIはこのハードウェアを使いなさい、という規定がなされています。1998年のドキュメントですが いまだに、だんだん減りつつありますが、MIDI対応の楽器はこの回路が搭載されています。多少なりと工作に使える 私のメモを掲載しています。

Bluetooth MIDIでSystem Exclusive

MacがBluetooh MIDIでSystem Exclusiveを送信する際、どのようなフォーマットで送信するかを確認します。



ArduinoとMACをBluetooth MIDIでつなぐ

RedBearLab.comのBluetooth 4.0 Low Energy BLEシールド v2.1というArduino用のボードを持っています。 このボードを使って、ArduinoとMACをBluetooth MIDIでつないで見たいと思います。

Bluetooth MIDIの仕様書は、 「MIDI over Bluetooth Low Energy (BLE-MIDI)」 というドキュメントがAMEIからダウンロードできます。


Arduino Micro 温・湿度計

Arduino Micro, SparkFun BME280, 8x8 Bi-Color LED Matrixを使った温・湿度計を試作しました。


MIDI 2.0


このページについて

こちらのページにお越しいただきありがとうございます。このページは「Web MIDI API実験室」という名前のページでした。しかしながら、Web MIDI API以外のページが増えてきましたので名前を変更しました。それでもMIDIを切り口に技術的にトライしているページです。PCやMAC、ArduinoやRaspberry PiといったシングルボードコンピュータでのMIDIのつなぎ方やウェッブブラウザでのAudioの使い方を説明します。また、自作したMIDI, Audioのウェッブアプリケーションを紹介しています。電子回路はあまり得意ではありません。ですので、作成した回路はたまたま動作しているだけかもしれないことにご注意下さい。


ScratchでWeb MIDI

2022/12/18




MIDIについて

MIDIはMusical Instrument Digital Interfaceの略称です。直訳すれば、楽器のデジタルインターフェースということになります。MIDIの誕生は1983年、任天堂「ファミリーコンピュータ」と同じ年です。この年の暮れには、シンセサイザDX7が発売になっています。Windows 95のはるか以前のことです。

もの凄くざっくりと書くならば、MIDIは電子楽器と電子楽器をつなぐデータの形(フォーマット)と通信経路の規格です。2つの楽器をMIDIで接続すると、一方の楽器を弾くと、もう一方の楽器が鳴ります。ちょっと前のコンサートでは舞台のちょっと奥にシンセサイザーを10台近く周りに並べて演奏するキーボーディストを見ることができました。大概の場合、キーボーディストはすべてのキーボードの鍵盤を弾くわけではありません。いずれかのキーボードがメインのキーボードになっていて、その他のキーボードはMIDIで接続されています。メインのキーボードを弾くとその他のキーボードの音が鳴るように設定されています。曲に合わせて、いろいろなキーボードの音色を使いたいということです。

その後MIDIはコンピュータのインターフェースとして取り込まれ、コンピュータから楽器を鳴らすことが一般的になりました。また、カラオケのデータとしても利用されるようになります。今日現在でも多くのポピュラー音楽の制作現場ではMIDIが使われています。MIDIの歴史は、2019年国立科学博物館の「かはく技術史大系(技術の系統化調査報告書)」I. 映像・情報・コンピュータ関連の一つとして調査された、「MIDI に関する技術系統化調査」井土秀樹著の中で詳しく書かれています。

さて、MIDIは楽器と楽器、コンピュータと楽器をつなぐインターフェースなのですが、私は楽器や音楽に関係無く使ってもとっても便利なインターフェースだと思っています。 コンピュータはPCでもMACでも、MIDIは簡単に扱えるようなドライバーやアプリケーションを持っています。また、iPhoneでもAndroidでもMIDIは扱えますし、ArdinoやRaspberry PiといったシングルボードコンピュータでもMIDIを扱うことができます。ですので、便利に何かと何かをつないでデータをやり取りするインターフェースとしてMIDIが使えるのでは無いかと思っています。

ここ数年では、MIDIやAudioを扱うWeb API(Web MIDI API, Web Audio API)が策定され、わりと簡単にウェッブアプリケーションを作成することができるようになりました。ウェッブアプリケーションはEdgeやChromeといったブラウザで動作します。アプリケーションをインストールしなくて使ええるのは良いですね。

このページでは、MIDIをつなぐ、つなぎ方を紹介するとともに、Web APIを使って製作したMIDI, オーディオのアプリケーションを紹介したいと思います。

2020年9月19日 MikataHara