首先是Take the Fourier transform of (a windowed excerpt of) a signal.这个其实说了两件事:一是把语音信号分帧,二是对每帧做傅里叶变换。要分帧是因为语音信号是快速变化的,而傅里叶变换适用于分析平稳的信号。在语音识别中,一般把帧长取为20~50ms,这样一帧内既有足够多的周期,又不会变化太剧烈。每帧信号通常要与一个平滑的窗函数相乘,让帧两端平滑地衰减到零,这样可以降低傅里叶变换后旁瓣的强度,取得更高质量的频谱。帧和帧之间的时间差(称为“帧移”)常常取为10ms,这样帧与帧之间会有重叠,否则,由于帧与帧连接处的信号会因为加窗而被弱化,这部分的信息就丢失了。傅里叶变换是逐帧进行的,为的是取得每一帧的频谱。一般只保留幅度谱,丢弃相位谱。Map the powers of the spectrum obtained above onto the mel scale, using triangular overlapping windows.这一步做的事情,是把频谱与下图中每个三角形相乘并积分,求出频谱在每一个三角形下的能量。一般有以下几个效果:傅里叶变换得到的序列很长(一般为几百到几千个点),把它变换成每个三角形下的能量,可以减少数据量(一般取40个三角形);频谱有包络和精细结构,分别对应音色与音高。然后是Take the logs of the powers at each of the mel frequencies.总结以上就把一帧语音信号用一个12~20维向量简洁地表示了出来;一整段语音信号,就被表示为这种向量的一个序列。语音识别中下面要做的事情,就是对这些向量及它们的序列进行建模了。