matlab 中 fft 和 specgram 的区别?

2017-03-22 15:21:00 +08:00
 tp227

语音识别菜鸟,想要对原始语音文件(.wav 格式)进行时域频域图的转换,应该用哪个函数?虽然在 matlab 中用 help 对两个函数进行了查看,但是只能理解部分,希望有懂得大神能够给予详细的解答,非常感谢!

4962 次点击
所在节点    自然语言处理
1 条回复
hxy1ng
2017-03-30 03:54:25 +08:00
FFT 是时域信号到频域信号的转换。
spectrogram 是 short-time Fourier transform 。时域信号在时间轴上进行分段(加窗)再对每一部分进行 FFT 。
所以你会看到 STFT 其实是三维的,时间轴,频率轴,以及强度( spectrogram 图上的颜色深度)。
一般语音识别不会直接用 STFT ,参见 Mel-Frequency Cepstral Coefficients (MFCC), Perceptual Linear Prediction (PLP)。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/349473

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX