1. 声学基础回顾:声音的物理属性与数字化的第一道坎
各位同学,欢迎来到《声学特征提取实战要点解析》的第一章。说实话,很多做语音的工程师干了好几年,遇到采样率选错、相位信息丢失这种基础问题还是会翻车。我自己带项目时就见过,有人把 48kHz 采样的数据直接喂给 16kHz 训练的模型,结果识别率直接腰斩。所以这一章,咱们把地基打牢。
1.1 声音的物理三要素:频率、振幅、相位
声音的本质是机械波。你对着麦克风说话,声带振动挤压空气,形成疏密相间的纵波。描述这个波,只需要三个参数。
| 物理量 | 单位 | 物理意义 | 在音频中的体现 |
|---|---|---|---|
| 频率 | Hz | 每秒振动的次数 | 音调高低(男声 100Hz,女声 200Hz) |
| 振幅 | Pa 或 dB | 偏离平衡位置的最大位移 | 音量大小(响度) |
| 相位 | rad 或 ° | 振动在周期中的位置 | 波形对齐、空间定位 |
核心认知:频率决定音调,振幅决定响度,相位决定波形形状和空间感。三者缺一不可。
我在做麦克风阵列波束成形时,相位差算错 1 度,波束指向就偏了十几度。你想想看,相位这东西,平时做单通道特征提取可能不太在意,但一到多通道、声源定位,它就是命根子。
1.2 时域与频域:同一枚硬币的两面
时域信号就是麦克风直接录下来的波形——横轴是时间,纵轴是振幅。频域信号呢?它告诉你这个信号里有哪些频率成分,每个频率有多强。
为什么需要频域?因为人耳的听觉系统本身就是个频谱分析仪。基底膜不同位置对不同频率敏感,说白了,耳朵天生就在做傅里叶变换。你听一段音乐,能分辨出小提琴和钢琴,靠的就是频域信息。
我的习惯:拿到一段音频,我第一件事不是听,而是先看它的频谱图。时域波形能看出削波、静音段,但频域能告诉你噪声分布、共振峰位置、甚至录音设备的底噪特征。
时域和频域的桥梁是傅里叶变换。公式长这样:
X(f) = ∫ x(t) · e^(-j2πft) dt
别被数学吓到。你只需要记住:时域信号乘以不同频率的复正弦,再积分,就得到了该频率的强度。 计算机里做的是离散傅里叶变换(DFT),快速算法叫 FFT。
1.3 采样定理:奈奎斯特的底线
模拟信号要变成数字信号,第一步就是采样。采样定理说:采样频率必须大于信号最高频率的两倍。
为什么?
- 采样频率 fs 的一半叫奈奎斯特频率 fN
- 信号中高于 fN 的成分会被「折叠」回低频,产生混叠
- 混叠一旦发生,无法恢复
我曾经踩过的坑:有一次做超声波测距,信号频率 40kHz,我偷懒用了 80kHz 采样。结果发现回波里总有 10kHz 的假信号。查了半天,原来是环境里有个 50kHz 的干扰被混叠成了 30kHz,又和 40kHz 差拍出 10kHz。后来老老实实加了抗混叠滤波器,采样率提到 200kHz,问题才解决。
常见的音频采样率:
| 采样率 | 奈奎斯特频率 | 典型应用 |
|---|---|---|
| 8 kHz | 4 kHz | 电话语音 |
| 16 kHz | 8 kHz | 语音识别(主流) |
| 44.1 kHz | 22.05 kHz | CD 音质音乐 |
| 48 kHz | 24 kHz | 影视、专业音频 |
1.4 量化噪声:精度与代价的博弈
采样把时间离散化了,量化把幅度离散化了。每个采样点用有限个比特表示,比如 16 位就是 65536 个等级。
量化误差就是真实值和量化值之间的差。这个误差在频域表现为噪声,均匀分布在 0 到 fs/2 之间。量化噪声的功率只和量化位数有关:
SNR ≈ 6.02 × N + 1.76 dB
其中 N 是量化位数。每增加 1 位,信噪比提升约 6 dB。
实战经验:16 位量化(SNR ≈ 96 dB)对大多数语音场景够用。但如果你做微弱信号检测,比如远场语音、生物声学,建议用 24 位。我做过一个项目,用 16 位录 10 米外的说话声,量化噪声直接把弱音段淹没了,换成 24 位后信噪比明显改善。
量化位数选择建议:
- 8 位: 玩具级,不推荐用于任何严肃分析
- 16 位: 语音识别、普通录音的底线
- 24 位: 专业录音、高动态范围场景
- 32 位浮点: 后期处理友好,但文件体积大
1.5 知识体系总览
下面这张图把本章的核心逻辑串起来了。从物理属性到数字化,再到时频域分析,每一步都有对应的工程要点。
1.6 本章小结
这一章我们聊了三件事:
- 声音的物理属性——频率、振幅、相位,是后续所有特征提取的源头
- 时域与频域——傅里叶变换是连接两座城市的桥梁,必须理解它的物理含义
- 数字化约束——采样定理和量化噪声是硬件和算法之间的契约,违反它就要付出代价
给新人的建议:别急着调模型。先拿一段音频,看看它的时域波形、频谱图、听听不同采样率下的音质差异。我当年就是这么入门的——花了一周时间,把同一段语音用 8k、16k、44.1k 各存一份,对比听,对比看频谱。那之后,采样率对我来说就不再是一个抽象的数字了。