语音识别与语音识别 MFCC

信息处理 声音的 预处理 倒谱分析
2022-02-14 07:53:42

我对语音识别中涉及的声学预处理有一个基本的了解:将语音分成帧,找到每帧的梅尔频率倒谱系数,从 MFCC 和信号能量构造一个特征向量,并将语音与几个“原型”进行比较语音样本以找到最接近的匹配。

在进行语音识别(即识别谁说的,而不是说什么)时,我认为可能使用了不同的窗口函数,或者可能使用了不同类型的滤波器组来将频谱转换为 mel 标度,但我并不完全确定——也许这完全是一个不同的过程。有谁知道说话人识别的 MFC 分析不同于语音识别的分析?

1个回答

这是完全相同的提取过程。帧速率、滤波器组数量、频带间距等参数可能会因系统而异,但这只是调整过程的结果(选择产生最佳性能的参数),而不是基本的不同之处。两个任务的某些参数(例如帧持续时间)的“最佳位置”是相同的。

您必须记住,MFCC 捕获了一个整体音色参数,该参数测量所说的内容(电话)以及说话者声音和性别的细节,并且很难将这两个维度分开。Alice 说“o”、Bob 说“o”、Alice 说“a”和 Bob 说“a”的 MFCC 向量都是不同的——这看起来很难用于语音识别(由于说话人可变性)和语音识别(由于电话可变性)。有一些解决方法,但...

在语音识别系统中,您必须确保训练数据包含每个说话者的所有电话的足够出现次数。如果您在 Bob 的“o”上训练 Bob 语音模型,那么当您输入 Bob 的“a”时它不会工作。正因为如此,给定说话人的 MFCC 数据的训练集在设计上必须是非常异构的——这就是为什么高斯混合模型在这项任务中如此成功的原因。

相反的问题出现在语音识别系统中:如果你训练一个根据 Bob 的声音训练的识别系统,并尝试用根据 Alice 的声音计算的 MFCC 数据提供给它,它不会工作。该问题的一种解决方案(声道长度归一化)是找到 MFCC 向量的线性变换,以便在应用于 Alice 的 MFCC 数据时,使其与模型捕获的数据相似。