解码器之特征提取

特征提取(fbank)

目的:

1.把每一帧波形变成一个包含声音信息的多维向量;

2. 能够符合或类似人耳的听觉感知特性

3. 在一定程度上能够增强语音信号、抑制非语音信号

fbank

fbank的总体流程可以由下图表示,去掉(DCT)。

1.语音采样率:

语音采样率顾名思义就是在一秒长的音频上采样多少个幅值点。根据采样定理采样率要大于采样信号的两倍,才能还原原始信号信息。人声信号人声一般在300-3400,很多声卡采样率都是8K。对于我们这边的算法取16K,

就是为了不丢失其中的高频成分。

 

2.预加重:

语音信号中高频部分能量很小,容易被噪声覆盖,因此有一个预加重的过程,目的是为了提升高频部分,使得信号频谱变得平坦,移除频谱倾斜,来补偿语音信号受到发音系统所抑制的高频部分。

预加重公式:

由于高频信号表征的是信号变换的速率快慢,因此信号的高频分量一般体现在信号上升或者下降沿。预加重技术就是增强上升沿或者下降沿的幅度。不过本公式采用的是去加重技术,

保持高频不变,减去=少低频信号的幅值,从公式来看,是将当前帧点减去前一帧的幅度,因此在越是陡峭的地方,当前这点被减去的越少(因为

越是陡峭,两帧之间的幅值差越大。而比较平缓的地方基本相当减去了自身的k倍),这样一来高频信号幅值被减去的很少,低频信号被减去的很多,高频信号幅值相对提升。

关于预加重的详细解释以及公式推导:https://blog.csdn.net/wordwarwordwar/article/details/52961737?utm_source=blogxgwz5

 

3.分帧

人声带信号在短时长内可以认为是平稳信号(一般取0.025秒),短时间频谱不会变化(这样的信号特性方便傅里叶变换),所以为了方便分析信号,一般将语音信号分成很多帧。

后续的很多处理都是针对帧来操作的。在分帧的时候为了避免窗边对信号的遗漏,因此在对帧做偏移的时候,帧间要有重叠(一般选择10ms).否则,由于帧与帧连接处的信号会

因为加窗而被弱化,这部分的信息就丢失了。

4.加窗:

声音信号经过上面的分帧后,要做FFT处理。但是信号经过分帧后会有泄露(信号做FFT会被当成周期信号处理,当你截取的信号首尾不相等时,是不满足周期特性的),频谱与

原始信号有很大的差别。为了还原原始信号频谱,因此要对原始信号加上一个窗(实际上就是乘以一个窗函数,使得截取的信号满足傅里叶变换的条件)

关于泄露具体看:https://mp.weixin.qq.com/s?__biz=MzI5NTM0MTQwNA==&mid=2247484164&idx=1&sn=fdaf2164306a9ca4166c2aa8713cacc5&scene=21#wechat_redirect

关于窗具体看:https://www.zhihu.com/question/50402321/answer/144988327

5.FFT(快速傅里叶变换)

语音传进来的信号是时域信号,混合各种频段的信号,为了方便神经网络学习,需要将转成频域信号。然后在每一帧上做N点FFT来计算频谱,然后将每一帧的变换按轴频率拼接在一起就是语音谱。

如下图所示,横轴是时间,纵轴是频率,颜色深浅表示频谱强度。

傅里叶变换:https://zhuanlan.zhihu.com/p/19763358?columnSlug=wille(写的非常好)

DFT(离散傅里叶变换)https://zhuanlan.zhihu.com/p/45114376

FFT(快速傅里叶变换)https://blog.csdn.net/enjoy_pascal/article/details/81478582

5.Mel滤波器组

经过上面的步骤,在能量谱上应用Mel滤波器组,就能提取FBank特征。

在介绍Mel滤波器组之前,先介绍一下Mel刻度,这是一个能模拟人耳接收声音规律的刻度,人耳在接收声音时呈现非线性状态,对高频的更不敏感,因此Mel刻度在低频

区分辨度较高,在高频区分辨度较低,与频率之间的换算关系为:

Mel滤波器组就是一系列的三角形滤波器,通常有40个或80个,在中心频率点响应值为1,在两边的滤波器中心点衰减到0,如下图:

梅尔频率倒谱系数MFCC:https://zhuanlan.zhihu.com/p/43102193

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章