音の鳴るブログ

鳴らないこともある

サイン波の鳴るiPhoneウェブ楽器を作った

http://the.mohayonao.com/sine/

f:id:mohayonao:20121005221014p:plain

iOS6からWeb Audio APIが使えるようになって、ブラウザ上で音の鳴るプログラミングがiPhoneでも捗るようになりましたので、とりあえずタップしたらサイン波が鳴るiPhoneウェブ楽器を作ってみました。

機能

  • タップしたら音が鳴る
  • ピンチで周波数が変わる
  • 三本指上下で音量が変わる
  • 振ると音がちょっと揺れる

こんな感じです。操作の感じは結構良いと思います。パソコンのブラウザでやるよりも楽器っぽい。振ると音がちょっと揺れる機能はドップラー効果とかそういうやつですね。

一人でやるとすぐに飽きると思うので、できるだけ大人数でモールス信号ごっこをしたり、ハンドベルみたいに分業で演奏したりして遊べば良いと思います。

謎現象

<meta name="apple-mobile-web-app-capable" content="yes">

最初はフルスクリーンアプリ化していたのですが、その状態でWeb Audio APIを使いまくると、結構な頻度でiPhoneがおかしくなります。具体的にはアプリは動くけど、ホームボタンが効かなくなってスクリーンショットをとるかiPhone自体の強制再起動しかできない音の鳴る文鎮になるので、フルスクリーンアプリ化は断念しました。

<meta name="apple-mobile-web-app-capable" content="no">

ソースコード

https://github.com/mohayonao/the-mohayonao-com/blob/master/static/sine/index.html