传统的梅尔频率倒谱系数(MFCCs)几十年来一直是语音处理的主力。然而,现代深度学习模型常能受益于更丰富、处理程度较低的输入表示。对于更精密的架构,理解高级特征提取技术对于提升性能变得不可或缺。这些方法旨在从原始信号中保留更多信息,或者让模型本身直接从数据中学习最有效的表示。对数梅尔滤波器组能量在应用离散余弦变换(DCT)以生成MFCCs之前,该过程需要计算应用于功率谱的一组重叠三角形滤波器内的能量。这些滤波器根据梅尔刻度分布,该刻度近似于人类听觉感知。中间输出,通常是这些滤波器组能量的对数(常被称为对数梅尔频谱图、梅尔频率频谱系数或FBank特征),已成为许多当前用于ASR和TTS的深度学习系统的标准输入。计算步骤如下:计算输入音频信号的短时傅里叶变换(STFT)。计算每个帧的功率谱(幅度平方)。将梅尔滤波器组应用于功率谱。每个滤波器汇总其频率带内的能量。对所得的滤波器组能量取对数。$$ \text{对数梅尔能量}k = \log \left( \sum{f} |S(f)|^2 M_k(f) \right) $$这里,$S(f)$ 是频率 $f$ 处的频谱幅度,$M_k(f)$ 是频率 $f$ 处第 $k$ 个梅尔滤波器的响应。为什么使用对数梅尔能量而不是MFCCs?信息保留: MFCC计算中的DCT步骤去除了滤波器组能量的相关性,这对于高斯混合模型(GMMs)等较旧的模型有益。然而,这种变换也丢弃了一些频谱信息。深度神经网络,特别是CNN和Transformer,善于直接从高维滤波器组输出中学习相关性和复杂模式。学习到的变换: 神经网络可以有效地从对数梅尔特征中学习必要的变换,有可能近似甚至超越固定的DCT。使用对数梅尔滤波器组能量(通常是40或80个滤波器)在降维和信息保持之间提供了良好的平衡,作为许多高级模型的强大基线。{"layout": {"title": "梅尔滤波器组", "xaxis": {"title": "频率 (赫兹)"}, "yaxis": {"title": "权重", "range": [0, 1.1]}, "showlegend": false, "margin": {"l": 40, "r": 10, "t": 40, "b": 40}}, "data": [{"x": [0, 100, 200], "y": [0, 1, 0], "type": "scatter", "mode": "lines", "name": "滤波器 1", "line": {"color": "#74c0fc"}}, {"x": [100, 250, 400], "y": [0, 1, 0], "type": "scatter", "mode": "lines", "name": "滤波器 2", "line": {"color": "#4dabf7"}}, {"x": [250, 450, 650], "y": [0, 1, 0], "type": "scatter", "mode": "lines", "name": "滤波器 3", "line": {"color": "#339af0"}}, {"x": [450, 700, 950], "y": [0, 1, 0], "type": "scatter", "mode": "lines", "name": "滤波器 4", "line": {"color": "#228be6"}}, {"x": [700, 1000, 1300], "y": [0, 1, 0], "type": "scatter", "mode": "lines", "name": "滤波器 5", "line": {"color": "#1c7ed6"}}, {"x": [1000, 1400, 1800], "y": [0, 1, 0], "type": "scatter", "mode": "lines", "name": "滤波器 6", "line": {"color": "#1c7ed6", "dash": "dot"}}]}重叠的三角形滤波器按梅尔刻度分布。较高频率的滤波器通常具有更宽的带宽。可学习滤波器组与前端一项重要进展是可学习特征的理念,其中特征提取过程本身被整合到神经网络中,并在训练期间进行优化。网络不再依赖于梅尔刻度等固定的预定义滤波器组,而是为特定任务和数据集学习最佳滤波器。卷积前端一种流行方法是使用一维卷积层直接应用于原始音频波形或经过最少处理的版本。这些初始层充当可学习的滤波器组。SincNet: 该架构使用sinc函数对第一层卷积层的滤波器进行参数化。sinc函数 $sinc(x) = \sin(\pi x) / (\pi x)$ 定义了频域中的理想矩形滤波器。SincNet学习每个滤波器的低截止频率和高截止频率,有效地学习了一组带通滤波器。这种参数化是高效的(每个滤波器只有两个参数),并鼓励学习有意义、可解释的滤波器。 $$ g[n; f_1, f_2] = 2f_2 \text{sinc}(2\pi f_2 n) - 2f_1 \text{sinc}(2\pi f_1 n) $$ 这里 $g[n]$ 代表时域中的滤波器抽头,通过其截止频率 $f_1$ 和 $f_2$ 学习。LEAF(可学习前端): 作为SincNet的演进,LEAF使用通过高斯低通滤波器实现的可学习类Gabor滤波器。它可能提供比SincNet强制的严格带通形状更大的灵活性,并已表现出强大的性能。这些可学习前端替代了固定的STFT和梅尔滤波器组阶段。该初始层(在池化和激活之后,例如对数压缩)的输出随后被馈入主声学模型(如LSTM或Transformer)的后续层。优点:端到端优化允许滤波器专门适应任务(ASR、说话人识别等)和训练数据的特性。有可能捕获固定梅尔滤波器遗漏的相关声学信息。考量:需要足够的训练数据来学习有意义的滤波器。增加了初始模型层的复杂性。滤波器参数的初始化策略会影响收敛。其他基于心理声学感知的特征虽然梅尔刻度特征占主导地位,但也存在其他基于人类听觉感知的表示方式:Gammatone滤波器组: 这些滤波器基于耳蜗响应的生理测量。它们具有与三角形梅尔滤波器不同的形状(更不对称),有时被用作替代方案,特别是在听力研究中,偶尔也用于ASR。感知线性预测(PLP): PLP是另一种特征提取技术,与MFCCs相似,但包含了额外的感知要素,如临界带宽分析(类似于梅尔刻度)、等响度预加重(近似耳朵的频率依赖敏感性),以及强度-响度幂律压缩(使用立方根而非对数)。PLP的性能常与MFCCs相当。音高特征对于许多语音任务,特别是文本转语音合成以及ASR中分析声调语言或韵律,基频(F0)或音高是一个重要特征。音高信息在MFCCs或对数梅尔能量等标准频谱表示中大部分丢失。音高通常使用应用于波形或频谱的专门算法(例如YIN、pYIN、CREPE、RAPT)进行估计。所得的F0轮廓(每帧的音高值)通常会:进行对数变换,因为音高感知是对数性的。进行归一化(例如,按说话人进行均值和方差归一化)。作为额外的输入通道附加到主要频谱特征(如对数梅尔能量)上,以输入到神经网络。加入音高可以大幅提升合成语音的自然度,并为ASR中区分声调语言中的词语或理解句子的语态(疑问句 vs. 陈述句)提供有价值的线索。原始波形输入可学习特征的最终体现是将原始音频波形样本直接馈入神经网络,从而绕过所有传统信号处理步骤。像wav2vec、wav2vec 2.0、HuBERT以及一些端到端TTS系统(常包含类似WaveNet的组件)直接处理音频样本序列。动机:避免手工设计的特征提取带来的任何潜在信息丢失。允许模型最大限度的灵活性,从而从头开始学习最相关的表示。挑战:高维度: 原始音频具有非常高的采样率(例如每秒16,000个样本),导致输入序列极其长。计算成本: 处理原始波形通常需要专门架构,常涉及具有大感受野的深度一维卷积网络或精巧的下采样机制,这使得训练和推理计算密集。数据需求: 有效地从原始波形中学习通常需要非常大的数据集,常借助自监督预训练。实际中选择特征虽然可学习前端和原始波形模型在许多研究基准测试中代表了当前最佳水平,但对数梅尔滤波器组能量在实际的ASR和TTS系统中仍是具有高竞争力和广泛使用的特征表示。它们在信息含量、维度和计算可行性之间提供了良好的平衡。选择通常取决于:任务: TTS通常比标准ASR更明显地受益于音高特征。模型架构: 有些模型专门为特定特征类型设计(例如,CNN与类频谱图输入配合良好,而wav2vec处理波形)。计算预算: 原始波形和可学习前端通常比固定滤波器组要求更高。数据可用性: 可学习特征需要大量数据才能有效训练。理解这些高级特征选项,能让您在设计或调整语音处理系统时做出明智的决定,超越默认选择,通过为模型提供更丰富或更定制化的信息来提升性能。这些特征构成了我们接下来将讨论的统计和深度学习模型赖以运行的输入部分。