语音与深度学习(一):python特征提取
准备工作
首先需要在pycharm中安装好python_speech_features和librosa两个包。
建议先安装anaconda,然后在anaconda中创建一个虚拟环境,用于安装Pycharm的所有需要的包,然后再在pycharm中导入在anaconda中创建的虚拟环境即可。(同时使用conda命令安装pycharm包比使用pip命令安装成功率更高)。这样可以在任意一台电脑上在pycharm中导入这个虚拟环境都可以随时调用之前安装的包,而不用再去安装pycharm中繁琐的包了。
python_speech_features安装方法
librosa安装方法
使用python_speech_features提取音频文件特征
2 使用librosa包进行mfcc
librosa使用方法:
import librosa
y, sr = librosa.load('i1.wav',sr=None)
mfccs = librosa.feature.mfcc(y=y, sr=sr,n_mfcc=24) #n_mfcc为返回的mfcc数据维度
其中
librosa.feature.mfcc(y=None, sr=22050, S=None, n_mfcc=20, dct_type=2, norm='ortho', **kwargs)
参数:
#y:np.ndarray [shape=(n,)] 或 None
#音频时间序列
#sr:number > 0 [scalar]
#y的采样率
#S:np.ndarray [shape=(d, t)] or None
#对数功能梅尔谱图
#n_mfcc: int > 0 [scalar]
#要返回的MFCC数量
#dct_type:None, or {1, 2, 3}
#离散余弦变换(DCT)类型。默认情况下,使用DCT类型2。
#norm:None or ‘ortho’
#规范。如果dct_type为2或3,则设置norm =’ortho’使用正交DCT基础。
#标准化不支持dct_type = 1。
#kwargs:额外的关键参数
#参数melspectrogram,如果按时间序列输入操作
#返回: M:np.ndarray [shape=(n_mfcc, t)]
#MFCC序列
常用参数,调用方法
mfcc_features = librosa.feature.mfcc(wavedata, sr=framerate, n_fft=1024, hop_length=512, n_mfcc=13)
#其中wavedata为语音数据
#framerate为采样率
#hop_length为帧移
#n_mfcc为返回的mfcc数据维数,默认为20维