语音处理之特征信息抽取
简介
当前在很多任务中都需要用到对于语音信息的特征抽取,在观察了许多博客和自己的实践,最终成功获取,当前网上博客存在老旧和零碎的问题。这里我整理了一些问题,写了一些自己的心得。使用到了librosa作为语音处理的主要工具,scipy,io.wavfile ,pydub 文件读取包等 安装方式:
pip install scipy
pip install pydub
如果pydub安装失败就使用conda
conda install pydub
pip install librosa
这里在安装失败的或者在读取数据出错的时候,建议使用conda来安装,我在实际安装中发现,对于pydub,使用pip安装的时候会发生pydub和依赖包(如ffpeg)不匹配现象(python3和python2)
mp3转wav格式
很多时候我们获取的信息都是以mp3格式存在的,但是实际处理中,我们最好转换为wav的格式。虽然librosa.load(’.mp3’) 也是可以的,但是速度奇慢,如果数据量较大,建议不要这么做。
try:
jing = AudioSegment.from_mp3(filename)
jing.export(save_path+filename+'.wav',format="wav")
except:
print(filename)
以上是处理的第一步,接下来
sr,wav = wavfile.read(self.basepath+'aud_wav_3/'+str(id)+'.wav')
wav = wav.astype('float32') / 32767
wav=wav.mean(-1)
mfccs=librosa.feature.mfcc(y=wav,sr=sr,hop_length=self.hop_length,n_mfcc=74)
如果直接使用librosa速度是非常慢的,而如果先将它用wavfile读取出来,