RSS Twitter Facebook

2013/05/03 (2013年05月 のアーカイブ)

WebAudioAPIのちょっと困ったところ

WebAudioAPIは実装間のコンパチビリティを取るのが結構やっかいだと思うのだよ。
例えばフィルターのQをグイーンと上げて発振する手前ぎりぎりで使ってたはずが別のブラウザだとピーピー言っちゃってるなんて事になったら目も当てらんない。

昨日気が付いた所:
  • AudioParamのvalueに値を入れても直接反映されず、ある時定数を持ってスムージングされる。
  • ただし、そのAudioParamに別の信号(オシレータとか)を接続した場合はそのスムージング処理は行われない。
こういう細かな挙動が仕様として明文化されていないのが厳しいなあ。

Javascriptで全ての信号処理をするならJavascriptさえちゃんと走っていればどの環境でも同じ結果が出るのだけど、WebAudioAPIはブラックボックス化した各ノードがそれぞれそれなりの機能を持っているので、複雑なつなぎで音を作ると環境による微妙な違いが結果としてバタフライ効果的に作用する可能性がある。もうソースコードコピペするくらいのつもりの互換性がないと厳しいかも知れん。

まあWebAudioAPIそのものを実装する人なんてほとんどいないのであまり問題にはならないのかも知れないけど。FirefoxのWebAudioAPIの実装が今進んでいるはずだけど、どんなもんだろうか。

Posted by g200kg : 2013/05/03 12:30:43