<audio> & AudioContext API
Firefox 下 AudioBuffer 似乎需要先设置值在赋给 SourceNode 才能播放
简单、典型的 web audio 工作流是这样的:
- 创建音频环境
- 在音频环境里创建源 — 例如
- 创建效果节点,例如混响、双二阶滤波器、平移、压缩
- 为音频选择一个目地,例如你的系统扬声器
- 连接源到效果器,以及效果器和目的地
每个样本点都是一个 代表着该音频流在特定时间特定声道上的数值的单精度浮点数(一组?)。
频谱图: 一个时间点不同频率上的强度(幅度)
一个采样帧是由一组在特定时间上的所有声道的样本点组成的
网页音频接口使用的是分离式(另外一种是交错式)的片段储存方式:左(L)右(R)声道像这样存储:
LLLLLLLLLLLLLLLLRRRRRRRRRRRRRRRR (对于一个有16帧的音频片段),这种方式允许对每个声道单独处理。
5.1声道:0: L: 左, 1: R: 右, 2: C: 中央, 3: LFE: 低音炮, 4: SL: 环绕左, 5: SR: 环绕右
当输入与输出的声道数不同时,我们就需要混频, AudioNode.channelInterpretation 属性为 "speakers"(扬声器) 或 "discrete"(离散声道)
音频的空间化(由网页音频接口的 PannerNode 和 AudioListener 节点处理)允许我们对空间中某一点的音频信号,以及这一信号的接听者建立位置和行为模型。
声音可视化:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Visualizations_with_Web_Audio_API