波形图显示了信号随时间变化的幅度,但它隐藏了区分不同声音所必需的频率信息。另一方面,标准傅里叶变换提供的是整个音频片段中所有频率的概览,但它抹去了这些频率何时出现的信息。对于像语音这样的信号来说,这是一个很大的问题,因为其频率内容是时刻变化的。为了有效地分析语音,我们需要一种能同时保留时间和频率信息的方法。这正是语谱图的作用,它是一种视觉表示,呈现了信号的频率内容如何随时间变化。它是语音处理中最基本的工具之一。短时傅里叶变换 (STFT)语谱图是通过一种称为短时傅里叶变换 (STFT) 的过程生成的。STFT 不是一次性分析整个音频信号,而是将信号分解成短的、重叠的帧或窗口,通常长度为 20-30 毫秒。对于这些短帧中的每一个,我们可以假设信号是平稳的,这意味着其频率属性在该小时间段内没有太大变化。该过程如下:加窗: 音频信号被分成小的、重叠的帧。对每个帧应用一个窗函数(如汉宁窗或汉明窗),以减少频谱泄漏,这是一种可能在帧边界出现的伪影。傅里叶变换: 对每个加窗帧计算快速傅里叶变换 (FFT)。这将短时域信号转换为其频域表示,显示该特定帧中存在的每个频率的功率。堆叠: 将所有帧得到的频率频谱并排放置,形成一个二维图像。这有效地创建了一个三维表示,其中x轴是时间,y轴是频率,每个点的颜色或强度代表特定时刻给定频率的幅度或功率。digraph G { rankdir=TB; splines=ortho; node [shape=box, style=rounded, fontname="sans-serif"]; edge [fontname="sans-serif"]; graph [bgcolor="transparent"]; subgraph cluster_0 { label = "音频信号 x[n]"; style=dashed; signal [shape=record, label="<f0>|<f1> 帧 1|<f2> 帧 2|<f3> 帧 3|<f4>"]; } subgraph cluster_1 { label = "计算每个帧的 FFT"; style=dashed; fft1 [label="FFT", shape=ellipse, style=filled, fillcolor="#74c0fc"]; fft2 [label="FFT", shape=ellipse, style=filled, fillcolor="#74c0fc"]; fft3 [label="FFT", shape=ellipse, style=filled, fillcolor="#74c0fc"]; } spectrogram [label="语谱图", shape=note, style=filled, fillcolor="#96f2d7"]; signal:f1 -> fft1; signal:f2 -> fft2; signal:f3 -> fft3; {fft1, fft2, fft3} -> spectrogram [style=dashed, arrowhead=none]; label="通过 STFT 创建语谱图的过程"; fontname="sans-serif"; fontsize=12; }音频信号被分段成重叠的帧。对每个帧计算 FFT,然后将结果堆叠以形成最终的语谱图。在语谱图中读取语音语谱图将音频信号变成图像,使我们能够看到语音独特的模式。让我们看一下单词“speech”的语谱图并识别其组成部分。{"data":[{"z":[[0,0.5,1,1.5,2],[2,2.5,3,3.5,4],[4,4.5,5,5.5,6],[6,6.5,7,7.5,8],[8,8.5,9,9.5,10]],"type":"heatmap","colorscale":"Viridis","x":["0.1","0.2","0.3","0.4","0.5"],"y":[1000,2000,3000,4000,5000]}],"layout":{"title":"示例语谱图","xaxis":{"title":"时间 (秒)"},"yaxis":{"title":"频率 (赫兹)"}}}单词“speech”的语谱图显示了频率随时间的变化。元音: 语谱图最显著的特征是被称为共振峰的水平条。它们是声道的共振频率,在语谱图中显示为深色水平条带。共振峰的模式和间距定义了不同的元音声音。例如,在单词“speech”中,初始元音 /i/ 以一组特定的共振峰频率为特征。擦音: 单词“speech”中的 /s/ 和 /ch/ 音是擦音的例子。这些辅音是通过将空气强行通过狭窄通道产生的,形成湍流、高频噪声。在语谱图上,它们显示为分散在高频范围内的弥散、混乱的能量团。塞音: 塞音是像 /p/、/t/ 和 /k/ 这样的辅音,它们是通过阻塞气流然后突然放开产生的。这会在语谱图上产生短暂而尖锐的能量爆发。理解语谱图为我们提供了可视化语音语音学特征的强大工具。元音的水平共振峰、擦音的嘈杂云团以及塞音的突然爆发为每种声音提供了独特的视觉特征,使我们能够分析和处理语音信号。