做语音识别的工作,学习的第一步应该就是特征提取。但是对于一个没学过信号处理的同学(我)来说,什么信号旁瓣、功率谱、频谱泄露都没有概念。
第一步就走得异常艰难,所以经历过这份痛的我决定写一篇文章,唯一的目的就是让不了解MFCC提取的同学读完这篇文章能够有一个感性认识,从而在今后接触到该内容时知道“什么是什么”,继而有更深的理解。
所以我会用非常通俗也因此不严谨的话介绍MFCC提取过程,读者建立大致概念后建议去读一些专业的资料。同时如果你发现了本篇有错误的地方,欢迎指正,我会换一个正确的说法尽可能做到通俗的同时保证严谨。
采样:从连续的语音信号到一个个离散的点
像这张图所示,左图是模拟信号,所谓模拟信号就是连续的信号,比如一天中温度随时间的变换。但是计算机无法处理这种密不可分的数据,因此我们需要将左图的连续信号转换成离散信号,也就是一个个单独的点,即一天中每隔1秒的温度各是多少。
这个从左图到右图的转换叫做ADC(Analog to Digital Converter,数模转换)。
但是这个转换过程并不是随意取一个时间间隔去采样就行,而是要遵循一定要求。奈奎斯特采样定律要求采样频率大于原始频率的两倍。换句话说就是在原始信号的一个周期内至少要采样两个点。在非周期性信号中