语谱图是一种声音信号中频率随时间变化的视觉表示。它通过将音频信号分成短段,并对每个段应用一种称为短时傅里叶变换 (STFT) 的数学工具来创建。此过程将原始波形(时域信号)转换为时频表示。语谱图的 x 轴表示时间,y 轴表示频率,每个点的颜色或强度表示给定时刻特定频率的幅度(或能量)。例如,在 1,000 Hz 持续 0.5 秒的高能量爆发会显示为语谱图上该频率处的亮水平带。这种格式简化了对复杂声音(如语音)的分析,在语音中,多个频率(如音高和共振峰)重叠。
在语音识别中,语谱图是关键的预处理步骤。原始音频波形是高维且嘈杂的,这使得机器学习模型直接处理它们具有挑战性。通过将语音转换为语谱图,模型可以专注于频率和时间中的有意义模式。例如,音素(语言中不同的声音单位)具有独特的频率特征。像 /a/ 或 /i/ 这样的元音以强大的低频共振峰为特征,而像 /s/ 或 /sh/ 这样的摩擦音则表现出高频能量。语谱图使这些差异在视觉上显而易见,使模型能够学习频率模式和语言单位之间的相关性。现代语音识别系统,例如那些使用卷积神经网络 (CNN) 或 transformer 的系统,通常将语谱图(或派生特征,如梅尔频率倒谱系数)作为输入来识别音素、单词或短语。
为了创建用于语音识别的语谱图,开发人员通常会应用特定的预处理步骤。首先,将音频分成重叠的帧(例如,25 毫秒的窗口,具有 10 毫秒的重叠)以捕获短期频率变化。使用 STFT 处理每个帧,并且通常将得到的频率仓映射到 Mel 刻度(一种近似人类听觉灵敏度的非线性刻度)以创建 Mel 语谱图。例如,Mel 语谱图可能使用 128 个频带,而不是原始 STFT 的线性仓,从而强调感知相关的特征。然后将这些语谱图标准化并输入到神经网络中。在实践中,在单词“cat”的语谱图上训练的模型将学会检测 /k/ 声音的高频爆发、元音 /æ/ 的稳态共振峰以及 /t/ 的突然停止。与原始音频相比,这种方法降低了计算复杂性,并通过突出显示语音上重要的特征提高了准确性。