MIDI モニター

Web MIDIアプリケーション





MIDI Send And Receive

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



更新情報

MIDIの工夫 ランニングステータス

MIDIの昔話です。その昔どんな工夫をしていたかというお話。今回はランニングステータスについて書いて見ます。 MIDIは遅い、と言われることがあります。元々、MIDIはシリアル通信が基本でボーレート(Baud Rate)は31.25kbpsと仕様で決まっています。 ボーレートは1秒間に送信できるビットの数で、31.25kbpsは1秒間に31,250ビットを送ることを意味しています。 1981年の仕様です。その当時のパソコンやマイコンではこのスピードが限界だったのだと思います。

w

HT16K33をRaspberry Piで使う

Adafruit 8x8 Bi-Color LED MatrixをRaspberry Pi Zeroに接続し、 WiringPiライブラリを使って動作させます。Bi-Colorは、2色(赤と緑)を意味しています。 HT16K33 はLEDのドライバのチップの名前です。

DEMO

DEMOプログラムをGithubに置きました。

MCP9808をRaspberry Piで使う

MCP9808をRaspberry Pi Zeroに接続し、WiringPiライブラリを使って動作させます。 uint16_tのLSBとMSBを交換するプログラムをChatGPTに書いてもらいました。

プログラムをGithubに置きました。


Trinket MIDI Controllers

Adafruit Trinketで作成したMIDI Controllerの紹介です。赤文字を追加しました。



MCP9808 with Trinket

Adafruit MCP9808は高精度な温度計です。インターフェースはI2Cです。 このモジュールをTrinketに繋ぎ、温度をシリアルで出力します。 シリアルはFT232RLを使って、USBに変換します。



エレクトーンのシステム・エクスクルーシブ

エレクトーンELB-01の「操作パネル」を押した時に送信されるシステム・エクスクルーシブの詳細は 「ELB-01 取扱説明書」のp.195「MIDIデータフォーマット」に記載があります。 以下に記載のページ番号はこの取扱説明書のページ番号です。



エレクトーン・パネル・シミュレータ

エレクトーンELB-01の「操作パネル」のシミュレータです。このページからエレクトーンが操作できます。



Raspberry Pi ZERO OTG - コマンドラインで確認

Raspberry Pi ZeroとPCとの、MIDIによるメッセージ交換をコマンドラインで行う場合を追記しました。
まずechoコマンドで、MIDIのバイナリファイルを作成します。

> pi@raspberrypi:~ echo -n -e "\x90\x66\x77" > midi.bin

次に、amidiコマンドでメッセージを送信します。

> pi@raspberrypi:~ amidi -p hw:0,0,0 -s midi.bin

Arduino USB MIDIライブラリ

USB-MIDI(USBとMIDIの間に"-"が入っている)について追記しました。


Arduino MicroをUSB-MIDI化

Arduino IDE 2.3.2を使った説明の修正しました。また、MIDIUSBとUSBMIDIライブラリの違いに言及しました。

このページについて

こちらのページにお越しいただきありがとうございます。このページは「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