最終更新:2019-03-11 (月) 04:26:46 (1873d)
Web Audio API
Top / Web Audio API
音声処理・音声合成のためのJavaScript API
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
Web Audio API (日本語訳)
変更点
Autoplay Policy Changes (Chrome 62)
Web Audio Changes in m36
入門
- Web Audio API/まとめ - チュートリアルとか参考サイトなど。
- Web Audio API/作例
インターフェイス
AudioContext
- 全ての基礎となるコンテキスト。時間の管理機能やオーディオの出力地点を持つ
- WebKit
AudioNode
- ほぼ全てのモジュールの元となる基本インターフェース。入出力を持つ
サブクラス
- AudioSourceNode - オーディオソースを表現する抽象インターフェイス
- AudioBufferSourceNode - AudioBufferから音を生成する
- MediaElementAudioSourceNode? - audioタグまたはvideoタグ要素からのオーディオソース
- OscillatorNode - 周波数と波形を指定して音を生成
- MediaStreamAudioSourceNode? - represents an audio source from a MediaStream
- AudioDestinationNode - 最終出力
- GainNode? - ゲインをコントロール
- DelayNode? - ディレイ?の制御
- ScriptProcessorNode (旧JavaScriptAudioNode) - JavaScriptでオーディオ処理
- PannerNode? - 空間音響とか。
- ConvolverNode? - リアルタイムリニアエフェクト(例:コンサートホール?の会場)を適用
- AnalyserNode - ビジュアライザ、FFTとか
- ChannelSplitterNode? - オーディオストリームのチャンネルを分離する
- ChannelMergerNode? - オーディオストリームのチャンネルを結合する
- DynamicsCompressorNode? - dynamics compression effect.
- BiquadFilterNode - 各種フィルタ
- WaveShaperNode? - non-linear waveshaping effect for distortion and other more subtle warming effects.
- DynamicsProcessorNode? - dynamic-shaping (compressor / expander) effects.
その他
- AudioBuffer - メモリ内部でオーディオを扱う。単発の音やオーディオクリップ
- AudioProcessingEvent? - ScriptProcessorNodeによって使用されるonaudioprocessイベントハンドラに渡される。
- AudioParam - AudioNodeの機能をそれぞれ個別にコントロールする
- AudioListener? - 聴衆者(リスナー)の位置と方向を表す
ブラウザ
対応ブラウザ
- http://caniuse.com/audio-api
- Google Chrome
- Safari 6.0?以降
- Firefox 28?以降
Webブラウザ/対応フォーマット
Firefox
- https://wiki.mozilla.org/Web_Audio_API
- Firefox currently supports the incompatible, Mozilla-specific Audio Data API, but it is marked as "deprecated" in favor of the W3C standard. Work has started to support the new Web Audio API in Firefox.
WAAPISim
- クロスブラウザ?対応のライブラリ
- Google Chrome : Web Audio APIがサポートされていますので何もしません
- Safari(6) : Web Audio APIがサポートされていますが、メソッド名が古いため最新のメソッド名を追加します (ノード作成、start/stop、setTargetAtTime?)
- Firefox : Firefoxがサポートする「Audio Data API」を利用してシミュレートします
- Opera : Flashを利用してシミュレートします
- IE : Flashを利用してシミュレートします。また音声アプリで多用するFloat32Arrayを無理やり普通のArrayに割り当てます