绘制声波形 - 线性频率尺度上的幅度

时间:2017-02-17 19:27:17

标签: matlab speech-recognition

我有一个西班牙音素的声学波形,我想计算它的幅度谱,并在线性频率刻度上以dB幅度绘制。我怎样才能在MATLAB中完成这个?

由于

2 个答案:

答案 0 :(得分:1)

首先快速提醒:在stackoverflow中,您需要展示自己的一些努力来解决问题,然后寻求帮助。

现在回答你的问题:

您可以使用“频谱图”Matlab函数绘制频谱图。

[s,f,t] = spectrogram(x,window,noverlap,f,fs)

点击此处查看详细信息:https://www.mathworks.com/help/signal/ref/spectrogram.html

对于语音信号,您需要指定采样频率“fs”(当您使用以下文件读取文件时可以得到:

[y,Fs] = audioread(filename)

您可能希望指定变量“window”和“noverlap”,因为语音信号可以根据窗口的尺寸显示不同的属性(快速现象在大窗口中不可见)。典型值为20ms窗口,重叠10ms(通过考虑采样频率选择最佳值,使用最近的2 ^ n值进行快速傅里叶计算)。

计算光谱时,窗口大小和重叠也有效。如果对整个波形应用FFT,那么您将获得该句子的“平均”光谱信息。要捕捉特定现象,您必须使用窗口技​​术并执行短期傅立叶分析。

答案 1 :(得分:0)

使用sptool

信号处理工具箱Show its Document