3. 音频质量评价

做音频这行,耳朵当然重要。但说实话,很多时候耳朵会骗人。你听到的“嘶嘶声”到底是底噪还是谐波失真?那个“嗡嗡声”是50Hz工频还是空调外机?

这时候,你需要一双“电子眼”——频谱分析。它能把声音拆成频率和时间的二维图像,让你一眼看到问题在哪。我个人习惯,拿到一段音频先不看波形,先拉进频谱里扫一遍。很多毛病,波形上根本看不出来。

核心认知:频谱图是声音的“X光片”。波形告诉你“声音有多大”,频谱告诉你“声音里有什么”。两者结合,才是完整的诊断手段。

频谱图到底怎么看?

先别急着开软件。你得先明白屏幕上那些花花绿绿的东西代表什么。

一张标准的频谱图(Spectrogram),有三个维度:

  • 横轴(X轴):时间 —— 从左到右,声音在时间轴上的变化。单位是秒或分钟。
  • 纵轴(Y轴):频率 —— 从下到上,频率由低到高。单位是Hz或kHz。人耳能听到的大概是20Hz-20kHz。
  • 颜色/亮度(Z轴):能量/幅度 —— 颜色越亮(通常是黄、红、白),表示该频率点的能量越强;颜色越暗(蓝、黑),能量越弱。

举个例子。你录了一段人声,在频谱上你会看到:

  • 基频(比如男声100-200Hz)是一条连续的亮线。
  • 泛音(谐波)在基频上方,以整数倍频率出现,亮度递减。
  • 如果某个频段突然出现一条水平亮线,那多半是固定频率的噪声(比如50Hz电源干扰)。

我的小技巧:刚开始看频谱时,先找“不该出现的东西”。比如一段安静的背景音里,突然出现一条亮线,或者某个频段颜色异常深。这些往往是问题的信号。

FFT与STFT:频谱背后的数学魔法

你看到的频谱图,不是直接录下来的。它是通过数学变换算出来的。这里有两个核心概念:FFT 和 STFT。

FFT(快速傅里叶变换)

说白了,FFT就是把一段时域信号(波形)拆解成频域信号(频谱)。它告诉你“这段声音里,各个频率的成分各有多少”。

但FFT有个问题:它只能分析一整段信号。如果你把整首歌丢进去做FFT,你只能知道整首歌的频率分布,却不知道“第30秒的那个吉他扫弦”在频率上有什么特征。时间信息丢了。

这就好比你把一整部电影的所有画面叠加成一张照片——你只能看到模糊的轮廓,看不到剧情发展。

STFT(短时傅里叶变换)

为了解决这个问题,科学家们想了个办法:把信号切成一小段一小段,对每一小段分别做FFT,然后把结果按时间顺序拼起来。这就是STFT。

你看到的频谱图,本质上就是STFT的结果。每一小段的长度,叫做“窗口大小”(Window Size)。

  • 窗口越大:频率分辨率越高(能看清更细的频率差异),但时间分辨率越低(看不清瞬态变化)。
  • 窗口越小:时间分辨率越高(能看清瞬态),但频率分辨率越低(频率看起来模糊)。

这是一个经典的“测不准原理”在音频领域的体现。你不可能同时获得极高的时间和频率分辨率。

我曾经踩过的坑:有一次做语音降噪,我把STFT窗口设得特别大,想看清噪声的精确频率。结果降噪后语音变得“糊”了,因为时间分辨率太低,把语音的瞬态(比如爆破音“p”、“t”)也给抹掉了。后来我换成了中等窗口(1024点),才平衡了两者。

下面这张图,帮你理清FFT和STFT的关系:

FFT vs STFT 核心逻辑对比 FFT(快速傅里叶变换) 输入:整段时域信号 输出:全局频谱 有频率精度,无时间信息 STFT(短时傅里叶变换) 输入:分段时域信号 加窗 → 分段FFT 窗口大小决定时频分辨率 输出:频谱图(Spectrogram) 时间 + 频率 + 能量三维信息 核心区别:FFT 看“全局”,STFT 看“过程”。 实际音频分析中,99% 的情况用的是 STFT。

常见频谱分析工具

理论讲完了,咱们来点实际的。工欲善其事,必先利其器。我常用的工具有这么几个,各有各的用处。

工具 类型 核心用途 我的评价
Spek 免费 / 轻量 快速查看频谱概貌 启动快,适合“瞄一眼”
iZotope RX 专业 / 付费 深度诊断 + 修复 行业标准,功能强大但学习曲线陡
Audacity 免费 / 开源 基础频谱分析 + 编辑 够用,适合入门练习
Adobe Audition 专业 / 付费 多轨编辑 + 频谱分析 和视频工作流结合好

Spek:最轻量的“频谱快照”

Spek 是我电脑里常驻的工具。它只有一个功能:把音频文件拖进去,立刻显示它的频谱图。没有编辑功能,没有播放功能,就是纯粹的“看一眼”。

什么时候用它?

  • 检查音频文件是不是“假高音质”(比如320kbps MP3冒充无损,频谱在20kHz以上会被一刀切)。
  • 快速确认一段录音里有没有明显的底噪或低频轰鸣。
  • 对比两个版本(比如降噪前后)的频谱差异。

一个小技巧:用Spek看MP3的频谱。如果高频在16kHz或20kHz处像刀切一样突然消失,那基本可以断定是低码率有损压缩。无损音频的高频会自然衰减到接近0,但不会“一刀切”。

iZotope RX:音频界的“手术刀”

如果说Spek是听诊器,那iZotope RX就是核磁共振仪。它不仅能看,还能直接在频谱图上“动手术”。

RX的频谱显示功能(Spectrogram)有几个核心优势:

  • 可调节的时频分辨率:你可以实时调整窗口大小,找到最适合当前问题的平衡点。
  • 选区工具:你可以用鼠标在频谱上框选一个区域(比如某个噪声),然后单独处理它(静音、衰减、替换)。
  • 多种显示模式:线性频率、对数频率、相位谱、声谱图……满足不同需求。

我在项目中遇到过一段录音,背景里有间歇性的“咔哒”声。波形上看不出来,因为声音很小。但在RX的频谱上,每个“咔哒”声都显示为一个垂直的亮条(瞬态噪声)。我直接用“Spectral Repair”(频谱修复)功能,把这些亮条替换成周围的频谱信息,几秒钟就搞定了。

如何用频谱找问题?实战四步法

光说不练假把式。下面是我总结的“频谱找问题四步法”,你试试看:

  1. 看整体轮廓:打开频谱,先看全局。有没有明显的水平亮线(固定频率噪声)?有没有大片的暗区(频段缺失)?高频有没有被截断?
  2. 找异常模式:
    • 水平亮线:通常是电源干扰(50/60Hz及其谐波)、设备底噪。
    • 垂直亮条:通常是瞬态噪声(鼠标点击、开关声、爆音)。
    • 模糊的色块:可能是混响、房间共振、或压缩器产生的失真。
  3. 放大可疑区域:用鼠标框选那个异常区域,放大查看。调整窗口大小,让异常特征更清晰。
  4. 交叉验证:用耳朵听一下那个区域,确认频谱上看到的问题和听到的一致。有时候频谱上看着很吓人,但耳朵不一定敏感;有时候耳朵觉得有问题,频谱上却看不出来(比如极低频率的失真)。两者结合,才是王道。

注意:不要过度依赖频谱。我曾经见过有人把一段人声的频谱修得“干干净净”,所有噪声都去掉了,结果声音听起来像“塑料味”。因为有些“噪声”其实是声音的自然组成部分(比如气息声、齿音)。修过头了,声音就假了。频谱是工具,耳朵才是最终裁判。