円周率の各桁(0〜9)をド3〜ラ4に対応させて演奏(?)するアプリケーションを作成しました。
↓↓↓
円周率$\pi$
これは、かつて作成したアプリケーションの円周率$\pi$と音階を用いて作成しました。
FC2サーバでも1発でアップロードできるように(笑)、.htmlファイルが1MB以下になるように円周率$\pi$を10000000桁抽出しました。
また、円周率$\pi$の各桁において、0をド3、1をド#3、・・・、9をラ4に対応させ、それらの音階をWeb Audio APIで鳴動させます。
円周率に意味があるとして、ひたすら桁を追うという試験的なものですが、演奏する場面としては、円について何かを得ようとするときにはどうぞ。
ソースコードとしては、鳴動の関数を繰り返して呼び出すときにsetIntervalを用いて、ループ変数をインクリメントしつつ呼び出すという形です。
変数を.charAt()に入れて円周率$\pi$の桁を得ます。
Web Audio APIについて、setIntervalで繰り返して呼び出しています。
setIntervalのタイミングと鳴動する関数内でstop()するまでの時間を同じにしておくと、各音の間でプツップツッという音が入って余り心地よくはないです。
1回だけ音を鳴動させるだけのときはあまり気にもならないほどでしたが、連続して規則的に現れると気になりそうです。
それを和らげるために、鳴動する関数の内部でstop()するまでの時間をsetIntervalの繰り返しのタイミングの0.8倍としています。
修正しないときよりはプツッ音がマシになっています。
ただし、それでも現れるので、演奏アプリケーションというまでは少し遠そうです。
Web Audio APIで成功されてる方もいらっしゃるので、いける話ではあります。
↓↓↓
音楽の理論のページ