更新情報
Sep.7,2026
MIDI 2.0とは
Universal MIDI Packet (UMP) Formatについて追記ました。
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機器へ送信します。
Posted on Sep. 3, 2026
Python Arcade
小学生、中学生にScratchを教えた後、次にPythonを教えたいのですが、どうつなぐとわかりやすいか
悩んでいました。そこで浮上したのが、ArcadeというPythonのライブラリです。
Arcadeは、Pythonを使って絵を描いたり、キャラクターを動かしたりして、
2Dゲームやアニメーションを作るためのライブラリです。Scratchで学んだ考え方をそのまま活かせるので、
Pythonを楽しく学び始めるのにぴったりです。
ここでは、テキストに沿って「絵を描く方法」のライブラリを試しながら説明しています。
Posted on Aug. 7, 2026
碁石拾い
碁石拾いパズルです。息抜きにどうぞ!
Added on Aug. 2, 2026
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を再度インストールしてみました。
こちらのページを参照して下さい。
Added on July. 28, 2026
loopMIDIでつなぐ
loopMIDIは、PC内に仮想MIDIケーブル(Virtual MIDI Cable)を作成するソフトウェアです。
PC上で動作するアプリケーション同士をMIDIで接続できるため、
例えば自作のアプリケーションからソフトウェアシンセサイザーを演奏できます。
プログラムからは、PCに接続された外部MIDI機器(音源モジュールなど)も、
PC内のソフトウェアシンセサイザーも同じように扱えるため、接続先を意識することなくMIDIアプリケーションを開発できます。
Windows 11 PRO 25H2 でも使えました。 今日現在、loopMIDISetup_1_0_16_27.zipがダウンロードできました。
Added on July. 26, 2026
ペクトラムアナライザ(Spectrum Analyzer)
Web Audio APIを使ったスペクトラムアナライザ(スペアナ)です。
パソコンやスマートフォンの音をFFTで周波数分析し、
音の高さと強さをグラフで表示します。iPhoneにも対応しています。
アプリケーション
使い方
Added on July. 26, 2026
Multi Youtube Viewer
ulti Youtube Viewerアプリは8個のYoutube画像を、PCのキーボードや、
MIDIキーボード で切り替えて表示するアプリです。
Multi Youtube Viewerアプリはアプリケーションボタンからアクセスできます。
アプリケーション
Loadボタンが効いていなかったので修正しました。
Modifyed on July.15,2026
キーボードの"X"で、8画面表示となります。
もう一度"X"を押すと元の1画面表示に戻ります。
Modifyed on July.15,2026
Scratch MIDIの使い方
Scratch 3.0 は HTML5 と JavaScript で構成されています。
そのため、JavaScript で実装された機能を Scratch の拡張機能として追加できます。
Web MIDI API は JavaScript から利用できるため、Scratch の拡張機能として実装することで、
Scratch から MIDI 機器を操作できるようになります。
VIDEO
Posted on June. 24, 2026
ピッチベンドの受信について追記しました。2026.06.25
ハットブロックについて追記しました。2026.06.26
レポーターブロックについて追記しました。2026.06.29
メッセージブロックについて記載しました。2026.06.30
ブーリアンブロックについて追記しました。2026.07.02
このページについて
こちらのページにお越しいただき、ありがとうございます。このサイトは以前、「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, オーディオのアプリケーションを紹介したいと思います。