在监督学习任务中,语音识别问题的一个关键步骤是将音频信号转换为文本。由于原始音频信号中存在大量噪声,不能直接将其作为模型的输入。研究发现,从音频信号中提取特征并将其作为输入提供给基础模型,比直接使用原始音频信号作为输入能获得更好的性能。MFCC(Mel-frequency cepstral coefficients)是音频信号特征提取中广泛使用的技术。
MFCC是一种在语音和音频处理中广泛使用的特征提取技术。MFCC用于以适合各种机器学习任务的方式表示声音的频谱特征,例如语音识别和音乐分析。简而言之,MFCC是一组系数,它们捕获声音信号功率谱的形状。它们首先通过使用离散傅里叶变换(DFT)等技术将原始音频信号转换到频域,然后应用mel尺度来近似人类对声音频率的听觉感知。最后,从mel尺度的频谱中计算出倒谱系数。
MFCC特别有用,因为它们强调了对人类语音感知重要的音频信号特征,同时丢弃了不太相关的信息。这使得它们在诸如说话人识别、情感检测和语音转文本转换等任务中非常有效。
将逐步了解MFCC技术的每个步骤。
在这一步中,将音频信号从模拟格式转换为数字格式,采样频率为8kHz或16kHz。
预加重增加了高频的能量幅度。当查看音频信号的频率域中的有声段(如元音)时,发现高频的能量远小于低频的能量。增强高频的能量将提高电话检测的准确性,从而提高模型的性能。预加重是通过如下所示的一阶高通滤波器完成的。
MFCC技术的目标是从音频信号中开发出可以用来检测语音中音素的特征。但在给定的音频信号中会有很多音素,因此将音频信号分成不同的段,每个段宽25ms,信号间隔10ms,如下所示。平均每人每秒说三个词,有4个音素,每个音素有3个状态,导致每秒有36个状态或每个状态28ms,接近25ms窗口。
将从每个段中提取39个特征。此外,在分割信号时,如果直接在信号的边缘处将其切断,边缘处幅度的突然下降将在高频域产生噪声。因此,不使用矩形窗口,而是使用Hamming/Hanning窗口来切割信号,这不会在高频区域产生噪声。
将通过应用DFT变换将信号从时域转换到频域。对于音频信号来说,在频域中进行分析比在时域中更容易。
耳朵感知声音的方式与机器感知声音的方式不同。耳朵在低频处的分辨率高于高频处。因此,如果听到200Hz和300Hz的声音,可以很容易地区分它们,与1500Hz和1600Hz的声音相比,尽管两者之间的差值都是100Hz。然而,对于机器来说,所有频率的分辨率都是相同的。注意到在特征提取阶段模拟人类听觉属性将提高模型的性能。
因此,将使用mel尺度将实际频率映射到人类将感知的频率。映射的公式如下所示。
人类对音频信号能量在高能量时的变化不如低能量时敏感。对数函数也具有类似的属性,在输入x的低值时,对数函数的梯度更高,但在高值时梯度值较小。因此,对Mel滤波器的输出应用对数,以模仿人类听觉系统。
在这一步中,对前一步的输出进行逆变换。在了解为什么必须进行逆变换之前,首先需要了解人类是如何产生声音的。声音实际上是由声门产生的,声门是一个控制呼吸道进出气流的阀门。声门中空气的振动产生声音。振动发生在谐波中,产生的最小频率称为基频,所有剩余的频率都是基频的倍数。产生的声音将被传递到声腔。声腔根据舌头和其他发声器官的位置选择性地放大和抑制频率。每个产生的声音都有其独特的舌头和其他发声器官的位置。
下图显示了不同音素的声腔传递函数。注意,在时域和频域中,周期在变换后是反转的。因此,频域中的基频具有最低的频率,将在时域中具有最高的频率。
信号幅度的对数的逆称为倒谱。下图显示了IDFT操作前后的信号样本。图(c)中右端的峰值频率是基频,它将提供有关音高的信息,而右端的频率将提供有关音素的信息。将丢弃基频,因为它不提供有关音素的任何信息。
MFCC模型在应用IDFT操作后取信号的前12个系数。除了12个系数外,它还将取信号样本的能量作为特征。这将有助于识别音素。样本能量的公式如下所示。
除了这13个特征外,MFCC技术还将考虑特征的一阶导数和二阶导数,构成另外26个特征。导数是通过取音频信号样本之间的这些系数的差异来计算的,它将有助于理解过渡是如何发生的。因此,MFCC技术将从每个音频信号样本中生成39个特征,这些特征用作语音识别模型的输入。
1. 自动语音识别2. 语音学 3. 语音信号分析