语音识别的音频预处理,其步骤大致为读取音频信息,进行特征提取.(以下以mfcc特征预处理为例。)
一、使用python自带的wave模块和matplotlib进行语音信息读取及频谱图的绘制,使用python_speech_features进行mfcc特征的提取。
import matplotlib.pyplot as plt
from python_speech_features import mfcc
import numpy as np
##读取音频文件
f=wave.open('xxx.wav'.'r')
##获得音频参数
para=f.getparams()
nchannels,samplewidth,framerate,,nframes=para[:4]
strData=f.readframes(nframes)
waveData=np.fromstring(strData,dtype=np.short)
waveData=np.reshape(waveData,[nframes,nchannels]).T
##绘制频谱图
spectrum,freqs,ts,fig=plt.specgram(waveData[0],Fs,window,sides,pad_to,NFFT,detrend)
plt.ylabel('frequency')
plt.xlabel('Time')
plt.title('Spectrum')
plt.show()
##进行梅尔频率倒谱特征提取
mfcc =mfcc(spectrum,samplerate=framerate)