将模拟声波转换为数字序列后,您可能会想,是否能将这些数据直接输入到机器学习模型中。简短的回答是:我们通常不会这样做。原始数字音频虽然完整地代表了声音,但对于语音识别系统来说,它的格式并不适用。为什么不使用原始音频?将原始音频样本序列输入模型会带来一些重要问题:高维度: 数据量之大是一个主要难题。一秒钟以16 kHz采样的音频会产生16,000个数字。五秒钟的片段就是80,000个数字。在如此长的序列上训练模型计算量很大,并且可能导致模型难以学习到有用的规律。不相关信息: 原始音频包含大量与识别说话内容不相关的信息。这包括持续的背景噪音、说话者声音的特定音高(变化可能很大)以及其他声学干扰。我们的目标是从这些噪音中分离出信号,即语音。缺乏一致性: 一个词的原始波形在两个人说出时可能看起来截然不同,即使是同一个人在不同音量或不同情绪下说出时,也会有很大不同。在这些原始值上训练的模型将难以泛化,并在这些变化中识别出相同的词。为了解决这些问题,我们进行特征提取。目标是将高维、嘈杂的音频信号转换为更紧凑、稳定且有用的表示。这种新的表示是一组特征。可以将其想象成概括一部长电影。您不会描述每一个画面,而是会描述主要人物、重要情节和背景。这些就是电影的“特征”。在语音识别中,特征是描述音频一小段重要声学属性的数值,这使得机器学习模型的任务更容易处理。digraph G { rankdir=TB; splines=ortho; node [shape=box, style="rounded,filled", fillcolor="#e9ecef", fontname="Arial"]; edge [fontname="Arial"]; "原始音频" [fillcolor="#a5d8ff"]; "特征" [fillcolor="#96f2d7"]; "原始音频" -> "预处理" [label="分帧、加窗"]; "预处理" -> "FFT" [label="生成频谱"]; "FFT" -> "频谱图"; "频谱图" -> "梅尔滤波器组" [label="应用感知尺度"]; "梅尔滤波器组" -> "DCT" [label="去相关与压缩"]; "DCT" -> "特征" [label="MFCCs"]; }特征提取流程将原始音频信号转换为一组紧凑的特征。从频谱图到感知特征在上一节中,我们了解了频谱图如何将频率内容随时间显示。频谱图是对原始波形的重大改进,并且本身就是一种特征表示形式。它使我们从分析简单的振幅转变为分析丰富的频谱,在此频谱中,与语音相关的规律开始显现。标准频谱图采用线性频率尺度。例如,在标准频谱图中,100 Hz和200 Hz之间的距离与4000 Hz和4100 Hz之间的距离被同等对待。但人类听觉的感知方式并非如此。我们对低频声音变化的感知远比对高频声音变化敏感。对于语音,将一个音素与另一个音素区分开来的大部分信息都集中在这些较低的频率中。为了构建更好的特征集,我们需要一种更接近模仿人类听觉属性的表示。这引出了梅尔尺度,一种感知音高尺度。梅尔尺度的设计使在该尺度上间隔相等的声音,人类听起来也感觉间隔相等。通过将我们的频率信息转换到梅尔尺度上,我们可以更重视那些对理解人类语音最相关的频段。这是**梅尔频率倒谱系数(MFCCs)**背后的核心思想,它是语音识别系统中运用最成功、最广泛的特征之一。在下一节中,我们将详细介绍从频谱图计算这些有效特征的具体步骤。