Web Audio API
ブラウザの音声エンジン。JavaScriptから、音を生成・加工・ミックスするノードのグラフをリアルタイムで組み立てられる。
これが登場するまでは<audio>タグしかなく、ファイルを再生する以外はほとんど何もできなかった。2010年頃にGoogleのクリス・ロジャースがノードベースのモデルを提案し、ChromeはwebkitAudioContextというプレフィックス付きで実装した。競合したMozillaのAudio Data APIは廃止された。仕様がW3C勧告になったのは2021年のことだ。
AudioContextを作り、オシレーター、フィルター、コンボリューションリバーブ、FFTアナライザー、出力先をつなぎ合わせる。独自のDSPは当初ScriptProcessorNodeで書かれたが、メインスレッドで動くため、ページが他の処理をするたびに音が途切れた。後継のAudioWorkletは専用のオーディオスレッドで動き、中でWebAssemblyを使うことも多い。2018年以降、コンテキストはユーザーが何かをクリックするまで停止状態で始まる。原因は自動再生される広告だ。