一、音频基础与采样理论:声音的物理特性、奈奎斯特定理、量化与编码、常见音频格式概述
1.1 声音的物理特性——先搞懂声音到底是什么
做音频编解码,第一件事不是打开代码编辑器,而是先理解声音本身。我刚开始接触音频开发时,觉得这玩意儿不就是波形图嘛,后来踩了不少坑才明白——不懂物理特性,后面调参数全靠蒙。
声音的本质是机械振动在介质中的传播。说白了,就是空气分子被推来推去,形成疏密波。人耳能感知的频率范围大约是 20Hz 到 20kHz,低于 20Hz 的叫次声波,高于 20kHz 的叫超声波。我们做音频编解码,主要关心这个频段内的信号。
声音有三个核心物理量:
- 频率(Frequency)——单位 Hz,决定音高。频率越高,声音越尖。
- 振幅(Amplitude)——决定音量。振幅越大,声音越响。
- 相位(Phase)——描述波形在时间轴上的位置。多声道系统里相位搞反了,声音会抵消,我遇到过这种尴尬情况。
关键点:数字音频系统只能处理有限带宽的信号。超出系统设计范围的频率,要么被滤掉,要么产生混叠失真——这是后面奈奎斯特定理要解决的核心问题。
1.2 奈奎斯特定理——采样率的下限是谁定的?
把连续的声音信号变成离散的采样点,这个过程叫采样。但问题来了:每秒采多少个点才够?
奈奎斯特定理给出了答案:采样频率必须大于信号最高频率的两倍。公式很简单:
fs > 2 × fmax
其中 fs 是采样频率,fmax 是信号中的最高频率分量。如果采样率不够,高频信号会伪装成低频信号混进来,这就是混叠(Aliasing)。我早期做语音采集时,采样率设了 8kHz,结果 4kHz 以上的高频成分全折回来了,听起来像加了层毛刺。
举个例子:CD 音频的采样率是 44.1kHz,为什么是这个数?因为人耳上限约 20kHz,44.1kHz 刚好大于 2×20kHz,还留了点余量。实际工程中,采样前必须加抗混叠滤波器,把高于 fs/2 的频率切掉。
| 应用场景 | 典型采样率 | 最高频率 | 说明 |
|---|---|---|---|
| 电话语音 | 8 kHz | 4 kHz | 够说话,不够音乐 |
| CD 音频 | 44.1 kHz | 22.05 kHz | 消费级标准 |
| DVD/蓝光 | 48 kHz | 24 kHz | 影视行业常用 |
| 高解析音频 | 96 kHz / 192 kHz | 48 kHz / 96 kHz | 录音室母带级别 |
避坑提醒:我曾经在一个嵌入式项目里,为了省存储把采样率降到 6kHz,结果语音里的齿音全变成了低频噪声。后来加了个 3kHz 低通滤波器才勉强能用。记住:采样率不是越低越好,得看你的信号带宽。
1.3 量化与编码——把采样值变成二进制
采样得到的是连续幅值,但计算机只能存离散值。量化就是把每个采样点的幅值映射到有限个等级上。
量化位深(Bit Depth)决定了等级数量:
- 8-bit:256 个等级,动态范围约 48dB,噪声明显
- 16-bit:65536 个等级,动态范围约 96dB,CD 标准
- 24-bit:16777216 个等级,动态范围约 144dB,录音室常用
量化会产生量化噪声。说白了,就是真实值和量化值之间的误差。位深每增加 1-bit,信噪比提升约 6dB。我见过有人用 8-bit 做音乐播放,底噪大得像收音机没信号——这就是量化精度不够。
编码则是把量化后的数值用二进制表示。常见的编码方式有:
- PCM(脉冲编码调制)——最原始的方式,直接存量化值。WAV 就是 PCM 的典型代表。
- μ-law / A-law——非线性量化,对小信号分配更多等级。电话系统里常用,8-bit 能实现接近 12-bit 的效果。
- 浮点编码——用 32-bit 或 64-bit 浮点数表示采样值,动态范围极大,但存储也大。
我的习惯:做音频处理时,内部计算用 32-bit 浮点,避免累积误差;最终输出再转成 16-bit 整数。这样既保证精度,又兼容播放设备。
1.4 常见音频格式概述——选对格式省一半功夫
市面上音频格式五花八门,但核心就两类:无损和有损。我整理了一张对比表,方便你快速区分:
| 格式 | 类型 | 压缩方式 | 典型码率 | 适用场景 |
|---|---|---|---|---|
| WAV | 无损 | 无压缩 / PCM | 1411 kbps (CD) | 录音、编辑、存档 |
| FLAC | 无损 | 线性预测 + 熵编码 | ~800 kbps | 无损音乐存储 |
| ALAC | 无损 | 类似 FLAC | ~800 kbps | Apple 生态 |
| MP3 | 有损 | 心理声学模型 + 霍夫曼 | 128-320 kbps | 网络传输、便携播放 |
| AAC | 有损 | 改进的心理声学模型 | 96-256 kbps | 流媒体、YouTube |
| Opus | 有损 | SILK + CELT 混合 | 6-510 kbps | 实时通信、低延迟场景 |
选格式时,我一般遵循这个原则:
- 要编辑、多次编解码 → 用 WAV 或 FLAC(无损,避免世代损失)
- 要网络传输、带宽有限 → 用 Opus 或 AAC(同码率下音质更好)
- 要兼容老旧设备 → 用 MP3(虽然老了,但哪儿都能播)
一句话总结:采样率决定频率范围,量化位深决定动态范围,编码格式决定存储效率。三者共同决定了数字音频的质量。
1.5 本章知识体系总览
下面这张图把本章的核心概念串起来了。从声音的物理特性出发,经过采样、量化、编码,最终落到具体的音频格式上。你可以把它当作本章的思维导图:
嗯,这张图把本章的脉络理清楚了。从声音的物理特性出发,到采样定理决定采样率,量化决定精度,最后编码决定存储格式。每一步都有物理约束和工程权衡。后面的章节,我们会在这个基础上深入编解码器的具体实现。