Web MIDI APIを使ってMIDI鍵盤からブラウザコントロール

ウェブブラウザにWeb MIDI APIが少しずつ実装されてきて、Mac OS XChrome Canary版だとプラグインなしで普通に使えるくらいになってきました。
 
Web MIDI APIを使うとJavaScriptでさまざまなハードウェア音源を鳴らすことができます。ただそれは一側面に過ぎず、重要なのはウェブブラウザ(JavaScript)がついにリアルワールドとつながったということです。WebRTCもウェブと現実世界をつなげる技術ではありますが、MIDIはなにしろ30年も歴史があって、そのシンプルなプロトコル仕様ゆえに当初の演奏情報以外のコントロールにもいろいろ汎用的に使われてたりもします。
 
また、Web MIDI APIは電子楽器を制御して音を鳴らすだけでなく、MIDI鍵盤やターンテーブル型のDJコントローラーのようなハードウェアからの入力を受け付けることができます。ということは、ウェブブラウザを操作することができる膨大なフィジカルコントローラーを手に入れたことになります。しかもそれらは何百年もの人間工学的な蓄積によって操作性が洗練されていて、またライブツアーのようなタフな使われ方にも対応できるだけの耐久性を持っています。
 
そんな可能性の一端を示すウェブページを作ってみました。
 
http://aikelab.net/midizap/

http://aikelab.net/midizap/

 
Web MIDI APIが使用できる環境で、MIDI鍵盤をつないで弾いてみてください。「ド」の鍵盤を押すとドーナツのページが開き、「レ」の場合はレモンのページが開き、「ミ」はみんなのページが開き……、という風にブラウザをコントロールします。
 
※Web MIDI APIが使えない場合、画面上の白鍵をクリックしても一応動くようにはしてあります。
 
まだまだテスト的なページですが、この先に何か多くの可能性があるような気がして楽しみです。