之前没有用python处理数据的经验,从零开始学习。感觉python和c最不同的一点是intent
一般处理声音都是要先提取特征值。
毕竟时域看不出来什么区别,所以采用的是频域的方法。
参考了好多论文,用MFCC作为特征值的方法比较多,于是准备试试。
在python这边主要用的librosa库和python_speech_features包,这里选用的是librosa的方法
开始真是各种错误频出。。。
- 分割完声音数据后用librosa.load居然说是imcomplete wav chunk
然后百度了一下,首先先试试能不能用播放器打开这些wav文件,然后发现能打开了后,看来要找找其他问题了。最后下载了一个ffmpeg编码器,按照另一篇文章里提到的,把一个文件改了读取音频的路径,问题解决 - librosa.feature.mfcc 提取出来了mfcc系数,但是不知道该怎么将数据保存下来,于是,又迷茫了。。
查了一下可以用np.save的方法,用numpy数组来保存。
为了显示确实提取了,我用了np.load()`import librosa
import librosa.display
import numpy as np
Load a wav file
y, sr = librosa.load(‘your filepath.wav’, sr=None)
extract mel spectrogram feature
wav_feature = librosa.feature.mfcc(y=y, sr=sr,n_mfcc=20)
np.save(‘chosen filepath.npy’,wav_feature)
a=np.load(‘上面设置的文件名.npy’)
print(a)`