【web音频学习(一)】音频基础

物理的声音

音调

由声波的频率决定,频率越高,音调越高;频率越低,音调越低。

  • "振动次数"指一次完整的往复运动,即一个完整周期。
  • 单位:赫兹 (Hz),1 Hz = 1 次/秒。

声响

由声波的振幅决定,振幅越大,能量越多,人耳感觉越响;振幅越小,越轻。

  • 单位:分贝 (dB)。

音色

由声波的波形决定,体现声源的独特"指纹"。

计算机中的音频

基本概念

采样率

每秒钟对模拟声波进行采样的次数

  • 单位 Hz(或 kHz)。

  • 常见值:44 100 Hz(CD 音质)、48 000 Hz(专业音频)。

  • 一般采用率需要最少是声调的两倍,一次声波震动,最少要记住最高点和最低点,这样才能记录足够多的数据。

  • 采样率越高,生产的音频图波形越圆滑。

采样大小(位深)

每次采样记录的量化精度,用多少个二进制位来表示瞬时振幅。

比如:16bit 所表示的数据返回是 [2**-15,2**15]

  • 常见值:16 bit(CD)、24 bit(高清录音)。
  • 位深越大,采样数据精度越大,动态范围越宽,噪声越小。

声道

同时记录的独立音频信号数量

  • 1 = 单声道(Mono),2 = 双声道/立体声(Stereo)。
  • 声道数量遇到,音频音质更大,但是音频大小也会倍数增长。

位速(码率 / 比特率)

每秒存储或传输的总数据量

  • 单位 bit/s(或 kbps、Mbps)。
  • 计算:位速 = 采样率 × 采样大小 × 声道数 例:44 100 Hz × 16 bit × 2 ch ≈ 1 411 kbps(CD 立体声)。

例题

采样频率 44100 Hz,采样精度16 bit,单声道,采集3 分钟,文件大小是多少MB。

44100 * 16 * 3 * 60 = 127008000 bit

2116800 / 8 / 1024 / 1024 ≈ 15.141M

原始音频数据PCM

未经压缩的原始音频数字信号,只记录瞬时振幅,不压缩、不编码。

  • 单声道:采样点按时间顺序依次排列。
  • 多声道(如立体声) :各声道采样值 交叉(interleaved)存放,小端字节序: 例:L R L R ...

位宽 / 数值范围

位宽 每采样字节 典型类型 数值区间 备注
8 bit 1 UInt8 0‒255 无符号
16 bit 2 Int16 --32 768‒+32 767 小端
24 bit 3 Int24 --8 388 608‒+8 388 607 需对齐
32 bit 4 Int32 --2 147 483 648‒+2 147 483 647 小端
32 bit Float 4 Float32 --1.0‒+1.0(实际裁剪区) Web 麦克风常用

Web 端麦克风 API 返回的 Float32Array32-bit IEEE-754 浮点 PCM ,每个采样 4 字节,值域 [-1.0, 1.0]

相关推荐
爱喝白开水a1 小时前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
董世昌411 小时前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
吃杠碰小鸡2 小时前
高中数学-数列-导数证明
前端·数学·算法
kingwebo'sZone2 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word
xjt_09013 小时前
基于 Vue 3 构建企业级 Web Components 组件库
前端·javascript·vue.js
我是伪码农3 小时前
Vue 2.3
前端·javascript·vue.js
夜郎king3 小时前
HTML5 SVG 实现日出日落动画与实时天气可视化
前端·html5·svg 日出日落
夏幻灵4 小时前
HTML5里最常用的十大标签
前端·html·html5
Mr Xu_5 小时前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js
未来龙皇小蓝5 小时前
RBAC前端架构-01:项目初始化
前端·架构