语音信号的预处理与特征提取

信号预处理:

  (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

  

     

     

    

posted @ 2025-04-22 08:06  爱露查  阅读(68)  评论(0)    收藏  举报