MIDI モニター

Web MIDIアプリケーション



MIDI Send and Receive

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



Web MIDI APIの動作テスト

このページでは、 訪問者のブラウザでWeb MIDI APIを利用できるかどうかを自動的にテストします。





Python Arcade

小学生、中学生にScratchを教えた後、次にPythonを教えたいのですが、どうつなぐとわかりやすいか 悩んでいました。そこで浮上したのが、ArcadeというPythonのライブラリです。

Arcadeは、Pythonを使って絵を描いたり、キャラクターを動かしたりして、 2Dゲームやアニメーションを作るためのライブラリです。Scratchで学んだ考え方をそのまま活かせるので、 Pythonを楽しく学び始めるのにぴったりです。 ここでは、テキストに沿って「絵を描く方法」のライブラリを試しながら説明しています。



rtpMIDIまとめ

rtpMIDIは、ネットワーク(Wi-Fiや有線LAN)を通じてコンピュータやiOSデバイス間でMIDI信号を送受信するための仮想MIDIドライバおよび規格です。 ワイアレスでWindowsとMac、iPadなどをワイヤレスで接続できます。 rtpMIDIの接続は、Windows PC、Mac、iPhone、Raspberry Piの4つのデバイスで動作を確認しています。 このページでは、それぞれのデバイス間でrtpMIDI接続を行う方法を紹介します。

WindowsでrtpMIDIを利用するには、rtpMIDIアプリケーションをインストールする必要があります。 インストール方法や基本的な使い方については、こちらのページをご覧ください。

rtpMIDIは、Windows 11 Pro 25H2でも動作を確認しました。 しかし、Raspberri PiのRavelox MIDIとの接続が不安定になってしまいました。

Raspberry PiをrtpMIDI化するRavelox MIDIを再度インストールしてみました。 こちらのページを参照して下さい。

loopMIDIでつなぐ

loopMIDIは、PC内に仮想MIDIケーブル(Virtual MIDI Cable)を作成するソフトウェアです。 PC上で動作するアプリケーション同士をMIDIで接続できるため、 例えば自作のアプリケーションからソフトウェアシンセサイザーを演奏できます。 プログラムからは、PCに接続された外部MIDI機器(音源モジュールなど)も、 PC内のソフトウェアシンセサイザーも同じように扱えるため、接続先を意識することなくMIDIアプリケーションを開発できます。 Windows 11 PRO 25H2 でも使えました。 今日現在、loopMIDISetup_1_0_16_27.zipがダウンロードできました。

ペクトラムアナライザ(Spectrum Analyzer)

Web Audio APIを使ったスペクトラムアナライザ(スペアナ)です。 パソコンやスマートフォンの音をFFTで周波数分析し、 音の高さと強さをグラフで表示します。iPhoneにも対応しています。

Multi Youtube Viewer

ulti Youtube Viewerアプリは8個のYoutube画像を、PCのキーボードや、 MIDIキーボードで切り替えて表示するアプリです。 Multi Youtube Viewerアプリはアプリケーションボタンからアクセスできます。





Loadボタンが効いていなかったので修正しました。

キーボードの"X"で、8画面表示となります。 もう一度"X"を押すと元の1画面表示に戻ります。



MIDI 2.0


  • MIDI 2.0とは

    MIDI 2.0は、 AMEI(音楽電子事業協会)のページによると、「2020年02月22日AMEI/MMAはMIDI 2.0規格書に署名しMIDI 2.0規格が誕生しました。」 と書かれています。それでは、MIDI 2.0の内容は、というと… わかる範囲で記載しました。

  • デバイスを試作

    MIDI 2.0 on Linuxのページ を見ながら、MIDI 2.0に対応したデバイスをRaspberry Pi Zero 2W(以下Zero2Wと略します)上に構築してみます。 Zero2Wを選択した理由はUbuntuが動作すること、OTGモードでUSB-MIDIのデバイス としてPCから認識できるように設定できることにあります。

  • プロトコルの送信

    Raspberry Pi Zero 2Wで作成したMIDI 2.0デバイスを使って、 MIDI 2.0プロトコルのMIDIメッセージを送信し、 Cubase 14 Pro(体験版)でレコーディングしてみます。 MIDI 2.0で拡張されたメッセージがどの程度Cubaseで録音できるのかを確認します。 パソコンとZero2WはUSB-MIDI 2.0で接続します。2024年暮れの現在、USB-MIDI 2.0はMACとLinuxで対応しているようです。

  • プロトコルの受信

    Cubase 14 Pro(体験版) で録音したデータを再生し、Zero2Wで受信します。 Cubase 14 ProがどのようにMIDI 2.0プロトコルを持っているのかを確認します。

  • MIDI 2.0受信プログラム

    Mac + C++ + Core MIDIでMIDI 2.0 UMPを受信するプログラムです。 Macに接続されたMIDI 2.0機器からUMP(Universal MIDI Packet)を受信し、 受信したデータを16進数で表示します。

  • MIDI 2.0送信プログラム

    Mac + C++ + Core MIDIでMIDI 2.0 UMPを送信するプログラムです。 64ビットのumpをリストを追加し、MIDI 2.0機器へ送信します。


このページについて

こちらのページにお越しいただき、ありがとうございます。このサイトは以前、「Web MIDI API実験室」という名前で公開していました。しかし、Web MIDI API以外のコンテンツも増えてきたため、サイト名を変更しました。

現在もMIDIを切り口として、さまざまな技術に挑戦することをテーマにしています。PCやMac、Arduino、Raspberry Piなどのシングルボードコンピュータを使ったMIDI機器との接続方法や、WebブラウザでのAudio機能の活用方法などを紹介しています。また、自作したMIDI・Audio関連のWebアプリケーションも公開しています。

なお、電子回路の設計は専門ではありません。そのため、掲載している回路や製作例には、必ずしも最適とはいえないものが含まれている可能性があります。内容をご利用いただく際は、ご自身の判断と責任のもとでお願いいたします。

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