サイン波の鳴るiPhoneウェブ楽器を作った
http://the.mohayonao.com/sine/
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