5.4.1 音频帧处理:滤波、变速与变调(Filtering, Time-Stretch & Pitch-Shift)

音频处理的工程形态与 5.2 的分析实践互为镜像:分析是 "帧 → 特征",处理是 "帧 → 修改 → 重建"。本节讨论三类最常用的音频帧处理:滤波 改变频率构成,变速 改变时间尺度,变调 改变音高。

滤波与均衡(Filtering & Equalization)

滤波是最基础的音频处理:按频率选择性地通过或衰减信号分量。以 低通滤波器(Low-Pass Filter) 为例,它保留截止频率(Cutoff Frequency)以下的分量,衰减以上分量。工程中最常用的设计之一是 巴特沃斯滤波器(Butterworth Filter),其幅频响应在通带内 maximally flat(最大平坦),阶数 $n$ 决定过渡带的陡峭程度:

H(f)2=11+(f/fc)2n|H(f)|^2 = \frac{1}{1 + \left( f / f_c \right)^{2n}}

注意这个响应 不是砖墙——6 阶 Butterworth 在 2 倍截止频率处仍有约 -36dB 的残留。所以滤波后的频谱中,截止频率以上的分量是 显著衰减而非彻底消失,这一点我们会在 5.4.3 的实测频谱图中亲眼看到。

工程实现上还有一个细节值得记住:普通滤波会引入 相位延迟(不同频率延迟不同),离线处理时若要求波形无相位失真,可以使用 前向-后向两次滤波(filtfilt) 抵消相位偏移——practice_6 采用的正是这种方式。

当我们把一组不同中心频率的滤波器排成一列、各自配上增益,就得到了 均衡器(EQ [Equalizer])——音乐播放器里的 "低音增强" "人声清晰",本质都是滤波器组的增益配置。

变速不变调(Time-Stretch)

直接按 $0.75\times$ 慢放音频,音高会随之降低(播放速率与音高绑定)。要 只改速度、不改音高,就需要 相位声码器(Phase Vocoder) [16] 。它的思路恰好建立在 5.2 的帧分析之上:

  1. 分析:对音频做 STFT——就是 5.2.1 的切帧、加窗、逐帧 FFT,得到每一帧的 幅度谱与相位谱
  2. 修改:在时间轴上重新排布这些帧(放慢就插值出更多帧),并 修正相位增量,使相邻帧的相位保持连续
  3. 合成:逐帧逆 FFT,再用 重叠相加(OLA [Overlap-Add]) 把加窗后的帧拼回连续信号——50% 重叠在这里同时承担了平滑过渡的职责

于是我们再次看到:切帧、加窗、重叠 这些 5.2 的概念,不只是分析手段,也是处理手段。OLA 与切帧是同一个动作的两端。

变调(Pitch-Shift)

变调与变速在数学上是一对孪生操作:重采样(Resample) 会同时改变速度与音高,而相位声码器可以单独改变速度。那么 先重采样再变速,两个效果就能解耦——例如把信号重采样到 $1.19\times$(音高升高 3 个半音,见 1.4.1 的十二平均律频率比 $2^{3/12} \approx 1.19$),再用相位声码器把时长拉回原来的长度,就得到 只升调、不变速 的结果。Librosa 的 pitch_shift 正是这样组合的 [6]

这三类处理在 practice_6 中被串成一条链:低通滤波 → $0.75\times$ 变速 → 升 3 半音变调,5.4.3 将展示每一步的实测数据。

可见,音频帧处理的核心不是新工具,而是老概念的新用法:滤波塑造频率,相位声码器重塑时间,二者组合解放音高。

下一节转向视频:视频帧的处理,本质上是把图像处理在时间轴上批量执行。

Copyright © Since 2021 李述博 (Arikan.Li) , All Rights Reserved all right reserved,powered by GitbookLast Updated: 2026-08-25 08:20:30

results matching ""

    No results matching ""