Web Audio APIをラッピングして使いやすく「Band.js」
Band.jsはHTML5/JavaScript製のオープンソース・ソフトウェア(MIT License)です。
Web Audio APIを使えばWebブラウザ上で音楽を奏でられると分かっていますが、そうそう簡単にできるという訳ではありません。APIをそのまま使うのではなくラッピングされたAPIが必要でしょう。そこで紹介したいのがBand.jsです。
[](http://images.moongift.jp/2013/09/Screenshot 2013-09-07 14.16.08.1378561299.png)
デモのプログラムです。Band.jsを読み込むと音楽の指定が容易になります。
デモのコード。長くなってしまうのは致し方ないですが、可読性は向上しています。
Band.jsがサポートするのは複数の楽器、繰り返しセッション、および複雑な拍子だそうです。再生、停止、リピートなどの指定も簡単にできます。デモでは様々なファミコンタイトルの音楽が再現されていますのでぜひ聞いてみてください。
MOONGIFTはこう見る
HTML5になり、多彩なAPIが追加されましたがそれらを駆使したサイトというのはまだあまり多くありません。ブラウザ互換性やレガシーなブラウザの対応などもありますが、API自体が複雑で使いこなせていない場合も多いです。
そこでライブラリとしてAPIをより手軽に使えるようにしたり、フレームワークでサポートしてしまうというのは良い方法ではないでしょうか。Web Audio API以外でも使えるAPIはたくさんありますので探してみると良いでしょう。