音の鳴るブログ

鳴らないこともある

私がお客様の中のWebシンセプログラマです

WebModular の g200kgさんがMIDIメッセージを介してウェブ楽器を連携させるという面白いことを考えてくれたので早起きして便乗しました。

 

お客様の中にWebシンセプログラマはいらっしゃいませんか
http://www.g200kg.com/archives/2012/06/web-1.html

 

仕組みはとても簡単で window.postMessage で MIDIメッセージ(この音を出して下さいとか止めて下さいという信号)を送る。送られた側は処理して音を出す。これだけです。

これの何が便利なのかというと、インターフェイスと音源が完全に分離できるので、めちゃくちゃ凄いシーケンサーを誰かが書いて音を出すのは別の人の書いたコードを使うとか、あたり一面に様々なシンセサイザーに囲まれて演奏するみたいなことができる。

 

僕も timbre.js という音を出すライブラリを作っているので対応ページを作りました。

 

timbre.js - MIDI Link

https://dl.dropbox.com/u/645229/webmodular-and-timbre/midilink.html

 

 

上のURLを

http://www.g200kg.com/en/docs/webmidilink/index.html

このページの Instrument のURLに指定して、[Load]ボタンを押せば対応するウェブ楽器が別ウィンドウが開くので、そのあと[Play]を押すとウェブ楽器ごとにMMLを介してMIDIメッセージが送信されて音が鳴ります。呼び出す側がMasterになって、開かれた側はSlaveという案配です。

 

aikeさんのWebAudioSynthも早速対応しているので、3台のウェブシンセの共演とかができます。

http://aikelab.net/websynth/

 

僕の書いたやつは、プリセットを選ぶか自分でコードを書いて eval すると音が作れます。どう考えても一番分かりにくいので、頑張ってプリセットを増やします。