我正在开发一种后端语音识别软件,其中用户可以导入mp3文件。如何从此数字音频文件中提取功能?我应该先将其转换回模拟吗?
答案 0 :(得分:2)
您的问题不清楚,因为您错误地使用了术语模拟和数字。模拟是真实的连续功能,即电压,压力等。数字是模拟信号的离散(采样)和量化版本。在计算MFCC时,必须计算音频帧的FFT。你只能从数字信号中提取MFCC - 用模拟信号做它是不可能的。
如果您询问是否可以从mp3文件中提取MFCC,那么是 - 这是可能的。您所需要的只是执行标准算法,您可以获得您的功能 - 显然它超出了该问题的规范。
答案 1 :(得分:0)
你在这里混淆了一些东西,比如@jojek说你可以用数字信号完成所有这些。这是一个很好的教程:
这个更实用:
http://www.speech.cs.cmu.edu/15-492/slides/03_mfcc.pdf
来自维基百科:[http://en.wikipedia.org/wiki/Mel-frequency_cepstrum]
MFCC通常如下推导:[1] [2]
对信号进行傅立叶变换(窗口摘录)。意味着短时傅立叶变换)
使用三角形重叠窗口将上面获得的光谱的功率映射到mel刻度上。 (上述链接中描述的计算)
记录每个梅尔频率的功率记录。
采用mel log权力列表的离散余弦变换,就像它是一个信号一样。
MFCC是所得光谱的幅度。
这是一个Matlab工具箱,可以帮助您更好地理解它: