语音信号的预处理与特征提取
信号预处理:
(1)静音消除(去除前后两端的静音):
librosa.effects.trim(y,*,top_db=60,ref=<function amax>,frame_length=2048,hop_length=512,aggregate=,function amax>)
top_db:阈值,连续低于ref-top_db的值被视为静音去除
ref:默认为0
frame_length:分帧是每帧样本数
hop_length:帧移的样本数
librosa.effect.split:将语音进行分段,找到非静音的区域,返回区域序号
librosa.effects.remix:利用区间序号将音频重新合并(和split一起使用)
特征提取:
信号的频域分析:
短时傅里叶变换stft:librosa.stft
显示:librosa.display.specshow()
预加重:
librosa.effects.preemphasis:弥补高频部分的损耗,保护声道信息
显示:librosa.display.specshow()
梅尔滤波器组:
librosa.filters.mel:
Fbank特征:librosa.feature.melspectrogram和librosa.power_to_db
MFCC特征:对Fbank进行DCT变换,librosa.feature.mfcc,不同的DCT(1,2,3)方式有不同的特征
特征拼接与差分:
差分:librosa.feature.delta(mfcc,order=n),order表示n阶差分
拼接:np.concatenate

浙公网安备 33010602011771号