Raspberry Pi 2/3/4 に Ubuntu Server 20.4をインストールして、MIDIのプログラムを書くまでの初期設定を記載します。Raspberry Pi 2 の場合、32bit版のみインストールできます。、Pi 3/4 は32bit版、64bit 版の両方がインストール可能です。
Arduinoを開発しているとき、パソコンとArduinoボードとをどうやって繋ぐか、悩んだことがありませんか?最近のパソコンはUBS TYPE-Cが多く、ArduinoのUSB端子はMicroであることが多くです。これを繋ぐには、TYPE-C - TYPE-A 変換コネクタを使っていました。この変換があれば普通のTYPE-A - Microのケーブルが使えます。
でも、この変換は若干幅を取って、となりのUSB端子に他のケーブルを刺し辛くなります。そこで、TYPE-C - Microの変換ケーブルがありましたのでこちらを使うようにするとケーブル1本でつながります。
Arduino UNOはUSB TYPE Bのコネクタですので、TYPE-BとTYPE-Cの変換ケーブルがあると便利です。
USBMIDIを搭載したArduino NanoをPCにつないだ時、USBのデバイスとして認識できる場合とできない場合があります。 あまり安定しているとは言い難い状況です。おまじないかもしれませんが、二つの事をやってみました。
Raspberry Pi PICOを、SDKに含まれているTinyUSBでUSB-MIDIデバイス化します。
USBケーブルを抜き差しすることなく、"RPI-RP2"として認識させる追加回路です。
シリアル API は、Web サイトがスクリプトを介してシリアル デバイスから読み書きする方法を提供します。 このAPI は、ブラウザがシリアルデバイスと通信できるようにすることで、Web と物理的な世界を橋渡しします。
Arduinoのシリアルモニターとして使えるアプリを作ってみました。現在ボーレートは115200固定になっています。ボーレートの変更もできるようにしました。
プログラムをArduinoへ手動でコマンドプロンプトから送る方法を記載します。Arduinoのプログラム開発(コンパイル・転送)はArduino IDEを使うことが最も一般的かと思います。しかし、いくつかのプログラムを切り替えて試したい場合、IDEのコンパイル「マイコンボードに書き込む」ボタンは転送だけでなく、コンパイルも行いますので冗長に感じることがあります。コンパイルした結果のファイルはコンピュータの中のどこかに保存されているはずですので、これを転送すれば手数を省くことができます。
こちらのページにお越しいただきありがとうございます。このページは「Web MIDI API実験室」という名前のページでした。しかしながら、Web MIDI API以外のページが増えてきましたので名前を変更しました。それでもMIDIを切り口に技術的にトライしているページです。PCやMAC、ArduinoやRaspberry PiといったシングルボードコンピュータでのMIDIのつなぎ方やウェッブブラウザでのAudioの使い方を説明します。また、自作したMIDI, Audioのウェッブアプリケーションを紹介しています。電子回路はあまり得意ではありません。ですので、作成した回路はたまたま動作しているだけかもしれないことにご注意下さい。
ScratchでWeb MIDI
2022/12/18
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