ASR-声学特征提取

方法一:MFCC特征提取

在这里插入图片描述

step 1:A/D转换(采样)

通过采样将连续的模拟信号转换为离散的数字信号,便于后续的数字化处理

step 2:预加重

正常的音频一般低频成分比高频成分多,通过预加重提升语音信号的高频部分,使频谱光滑
1.目的:增加高频成分,使频谱光滑
2.方法:
在这里插入图片描述在这里插入图片描述
3.效果图:
在这里插入图片描述

step 3:加窗分帧

数字化的语音信号是一个不平稳的时变信号,具有短时平稳性。因此在对语音信号进行分析前,
需要对其进行分帧,通常将每帧的长度设为20ms,相邻两帧之间有10ms的帧移

1.目的:利用音频信号的短时平稳性,分帧后的信号更便于后续处理

2.方法:帧长20ms,帧移10ms进行帧

3.效果图:
在这里插入图片描述

step 4:DFT+取平方

离散傅里叶变换的目的就是将音频信号从时域转换到频域

1.目的:将音频信号从时域转到频域

2.方法:
在这里插入图片描述

step 5:Mel滤波

将线性频率转换成人类听觉敏感的Mel频率,同时对频谱进行平滑(消除谐波的影响,突出原始
语音的共振峰)和降低信息量

1.目的:将之前得到的线性频率转换为符合人耳频率的Mel频率

2.转换公式:
在这里插入图片描述
3.Mel滤波器:
在这里插入图片描述

step 6:取对数

采用log压缩动态范围,人类对信号能量的感知是对数的

step 7:IDFT

得到倒谱系数,平滑对数功率谱

step 8:动态特征

描述倒谱系数随时间的变化。一阶差分是计算当前时刻的后一时刻与前一时刻的差值,二阶差分是
将一阶差分结果作为当前序列,计算当前时刻的后一时刻与前一时刻的差值

方法二:深度学习特征提取

step 1:采样

对于语音识别,16KHz的采样率就足以覆盖人类语音的频率范围了。16KHz即每秒采样16000个样本点,
下图给出的是前100个采样点的截图,其中每个点的值表示声波在1/16000处的振幅。
在这里插入图片描述
在这里插入图片描述

step 2:分帧

直接把这16000个数字输入到神经网络中分析采样来进行语音识别仍然很困难。所以可以通过对音频数据进行一些预处理来使问题变得更容易。比如首先将采样音频分成每份20ms长的音频块,下图给出的第一 个20ms的音频(即前320个采样点):
在这里插入图片描述
在这里插入图片描述

step 3:傅里叶变换

通过傅里叶变换将复杂的声波分解为一系列简单声波的叠加。有了这些单独的声波后就可以将每一份频段所包含的能量加在一起,最终得到的结果就是从低音到高音,每个频率范围的重要程度。以50Hz为一个频段的话,20ms的音频所含有的能量从低频到高频就可以表示为下图,其中每个数字表示50Hz的频段所含的能量:
在这里插入图片描述
对每20ms的音频块重复这个过程,最终得到一个频谱图(每一列从左到右都是一个20ms的块):
在这里插入图片描述

step 4:识别字符

有了格式易于处理的音频,再将它输入到神经网络中去。神经网络的输入便是这些20ms的音频块,对于每个小的音频切片,神经网络都将尝试找出当前正在说的声音所对应的字母。
在这里插入图片描述

step 5:获取映射图

通过神经网络跑完整个音频剪辑(一次一块)之后,将最终得到一份映射(mapping),其中标明了每个音频块和其最有可能对应的字母。
在这里插入图片描述

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