JavaScriptで新しい楽器作った
jsdo.itで「新しい楽器を作ってください」というコンペをやってます。(10/24締め切り)
このへんを見るといろいろ力作が投稿されているようです。
JavaScriptで楽器を作るなんて面白い企画、参加しないわけに行かないと思ってさっくり作ってみました。
Tonal Circle
発想としてはループシーケンサーみたいな感じで、ひとつのサークルにひとつのワンショットまたはフレーズサンプリング音が割り当たっていて、光の輪が回転して一番上に来ると音が鳴ります。サークルはドラッグ可能で、横方向に動かすとサンプリング音が切り替わり、縦方向に動かすとループの周期が変わります。サークルの新規作成はシングルクリック、削除はダブルクリック。
まあ、実際に触ってみると操作はすぐわかると思います。
今回は複数のブラウザに対応するためWeb Audio APIなどの濃い機能は使わずに、AudioオブジェクトをJavaScriptから作って、タイミングがきたらplay()メソッドで鳴らしてるだけです。
いかにもキャンバスで描いてる風のサークルの絵は、実はシンセのノブみたいにKnobManでノブ画像として描いたpngファイルをjqSkinの改造版で表示してます。
そんなわけで遊んでみてください。
Tonal Circle