特征提取模块
参数:
winlen –分析窗口的长度,以秒为单位。默认值为0.025s(25毫秒)
winstep –连续窗口之间的间隔,以秒为单位。预设值为0.01s(10毫秒)
nfilt –过滤器组中的过滤器数,默认为26。
nfft – FFT大小。默认值为512。
lowfreq –梅尔滤波器的最低频带边缘。以Hz为单位,默认值为0。
highfreq –梅尔滤波器的最高频带边缘。以Hz为单位,默认值为samplerate / 2
preemph –使用以emph为系数的pre -emphas过滤器。0是没有过滤器。默认值为0.97。
返回值:
包含要素的大小为numpy的数组(nfilt为NUMFRAMES)。每行包含1个特征向量。
(1) 读取语音数据,数据读取出来的情况如下:
【1,67263】
(2) 预加重(按照公式)
其中
取0.97 对数据进行处理
(3) 分帧加窗(帧长为25ms,帧移为10ms,窗函数为汉宁窗),需要注意的是,最后一帧不足400个点时需要补0(防止丢失信息)
(4) 快速傅里叶变换(此时一帧为512个点)取模后,每一帧保留前257个数
(5) 计算功率谱,其中N为512,计算过程就是对傅里叶变换后的数据取模后取平方,再除以512,即将第 (4)步的结果平方后除512
(6) 将第六步的结果通过Mel滤波(滤波器个数为40个)
(7) 为防止对数计算出问题,将第(7)步结果中的0全部替换成非负最小值
(8) 将第(8)步的结果以10为底取对数,并乘20。
(9)归一化:
网友评论