语音信号处理和自然语言处理(语音信号处理以及特征提取)
1.数字信号处理基础
- 基础知识
- 傅里叶分析
2.常用特征提取
- 特征提取流程
- Fbank
- MfCC
- 以正弦波为例(图a)
- 对于一个正弦波
- 其中f_0是信号本身的频率,单位是HZ,即一秒内的周期数
- 如果我们对此正弦波进行采样,每隔t_s秒进行一次采样,并使用一定范围的离散数值表示采样值,则可以得到采样后的离散信号
- 公式(2)即为离散信号的定义
- 其中,t_s为采样周期
- f_s = 1/t_s,为采样频率,或者采样密度,表示一秒之内采样的点数,t_s为采样周期
- n = 0,1,......为离散整数序列
- 对图(a)进行采样得到图(b)
- Q1:那么给定一个正弦波采样后的序列,如图(b),如何恢复出一个连续的正弦波?
- 首先,给出如下的离散序列如图(a),要求画出其对应的连续正弦波
- 对于该离散序列,可给出如图(b)不同的正弦波,也就是说,不同频率的正弦波,经过采样后出现了完全相同的离散信号,\textcolor{red}{why?}
- 可作如下解释,对于离散信号的定义可做变形,其中m为任意整数
- 再做如下替换,令 m = kn,所以 m/(nt_s) = k/t_s = kf_s,其中f_s = 1/t_s,k为整数,因为n也为整数,所以m必为整数,
- 对比公式(2)和(4),发现初始频率为f_0的正弦波和初始频率为f_0 kf_s的正弦波,在经过采样周期为t_s的采样后,两者的离散信号相同
Q2:为什么会出现频率混叠这种现象呢?
答:肯定存在一个正弦波采样不满足奈奎斯特定理
1.3奈奎斯特定理- 采样频率大于信号最大频率的两倍
- 即,在原始信号的一个周期内,至少要采样两个点,才能有效地杜绝频率混叠问题
频率混叠中的图(b)显然不满足奈奎斯特定理,故产生了频率混叠
1.4离散傅里叶变换(DFT)- 为什么要进行DFT?
- DFT将时域信号变换到频域,分析信号中的频率成分
- 理解:对于刚刚的正弦波,很明显只有一种频率,而对于语音而言,通常是各种频率的正弦波相互叠加,这时候如果横轴还是为 t 的话就不好分析这个信号,而将横轴变换为频率 f 后,这些叠加的正弦波就会在 f = f_0,f_1,...,f_n上显示出n个峰值,即代表一共有n种不同的频率,横看成岭侧成峰,如下图
- 什么信号可以进行DFT?
- 时域离散且周期的信号
- 非周期离散信号可以进行DFT吗?
- 需要进行周期延拓【也就是将当前信号作为整个信号的一个周期,然后使用这一个周期的信号去进行DFT】
- 傅里叶家族
1.4.1DFT的定义
给定一个长度为N的时域离散信号x(n),对应的离散频域序列为X(m)为:
- 其中,j = \sqrt{-1}
- e为自然对数底
- m = 0,1,2,...,N-1,频率索引
- X(m)为DFT的第m个输出
- 根据欧拉公式,DFT的公式还可以变换为:
- DFT本质上是一个线性变换
1.4.2DFT的性质
- 性质一:对称性,对于实数信号,有
- 如上图所示,DFT之后的离散频率序列的幅度具有对称性,因此在进行N点的DFT特征提取后,只需要保留N/2 1个点。语音信号特征提取时,一般使用512点DFT,由于对称性,我们只需要保留257个有效点。
- 性质2:X(m)实际上表示的是“谱密度”,如果对一个幅度为A实正弦波进行N点DFT,则DFT之后,对应频率上的幅度M和A之间的关系为:
- DFT之后的频域序列X(m)的幅值实际上是一个“密度”的概念,通俗讲,即单位带宽上有多少信号存在
- 性质3:DFT的线性
- 如果x_{sum}(n) = x_1(n) x_2(n),则对应的频域上有:X_{sum}(n) = X_1(n) X_2(n)
- 性质4:时移性
对x(n)左移k个采样点,得到x_{shift}(n) =x(n-k),对x_{shift}(n)进行DFT,有
1.4.3DFT的频率轴
- 频率分辨率:f_s/N,表示最小的频率间隔。N越大,频率分辨率越高,在频域上,第m个点所表示的分析频率(原始频率)为:
- 从这个角度也可以理解X(m)的幅值,体现了原信号中频率为\frac{m}{N}f_s的信号强度
- 对于上图 m = 1时,1/8* f_s = 1000,m = 2 时间,2/8* f_s = 2000
为了提高DFT频率轴的分辨率,而不会影响原始信号的频率成分。我们可以将时域长度为N的信号x(n) 补0,增加信号的长度,从而提高频率轴分辨率。对信号进行补0的操作,不会影响DFT的结果,这在FFT(快速傅里叶变换)中和语音信号分析中非常常见。比如,在语音特征提取阶段,对于16k采样率的信号,一帧语音信号长度为400个采样点,为了进行512点的FFT,通常将400个点补0,得到512个采样点,最后只需要前257个点。
2.Fbank和MFCC特征提取
Inverse Fourier transform of logarithm of spectrum 对数谱的逆傅里叶变换
2.1 Step1 预加重- 为什么需要预加重?
- 提高信号高频部分的能量,高频信号在传递过程中,衰减较快,但是高频部分又蕴含很多对语音识别有利的特征,因此,在特征提取部分,需要提高高频部分能量
- 预加重滤波器就是一个一阶高通滤波器,给定时域输入信号x[n],预加重之后的信号为
- 公式解读:直观解释: 预加重是一个高通滤波器,因此,低频信号(即时域上信号变换慢的信号)将被抑制;从公式(13)中,我们知道
- 如果信号x是低频信号(变化较慢),那么x[n] 和 x[n-1] 的值应该很接近,当在接近1的时候,[]−[−1] 接近于0,此信号的幅度将被大大抑制;
- 如果x是高频信号(变化很快),那么x[n] 和x[n-1] 的值将相差很大,[]−[−1] 的值不会趋近0,此信号的幅度还能保持,可以通过此滤波器
- 为什么需要加窗?
- 语音信号为非平稳信号,其统计属性是随着时间变化的,以汉语为例,一句话中包含很多声母和韵母,不同的拼音,发音的特点很明显是不一样的;
- 但是!语音信号又具有短时平稳的属性,比如汉语里一个声母或者韵母,往往只会持续几十到几百毫秒,在这一个发音单元里,语音信号表现出明显的稳定性,规律性,也就是在很短的时间里呈现出稳定性
- 在进行语音识别的时候,对于一句话,识别的过程也是以较小的发音单元(音素、字、字节)为单位进行识别,因此用滑动窗来提取短时片段,
- 帧长、帧移、窗函数的概念,对于采样率为16kHz的信号,帧长、帧移一般为25ms、10ms,即400和160个采样点
- 分帧的过程,在时域上,即用一个窗函数和原始信号函数进行相乘:
- w[n]称为窗函数,常用的窗函数有:
- 矩形窗:
- 汉明(Hamming)窗:
- 为什么不直接使用矩形窗?
- 加窗的过程,实际上是在时域上将信号截断,窗函数与信号在时域相乘,就等于对应的频域示进行卷积(*),矩形窗主瓣窄,但是旁瓣较大(红色部分),将其与原信号的频域表示进行卷积,就会导致频率泄露。
2.3 Step3 DFT
在经过上一步的加窗分帧后,会将原语音信号分割成很多个小段的语音信号,但这个小段语音信号并不是在时域上离散周期的,因此需要周期延拓,把这400个采样点认为是某个语音信号的一个周期来进行DFT
- DFT的作用:将上一步分帧之后的语音帧,由时域变换到频域,取DFT系数的模,得到谱特征
- 上图展示了语谱图的生成过程:
- 加窗分帧
- 将每一帧信号进行DFT(FFT),如第t帧信号,DFT系数为X_t(m),m = 0,1,...N
- 将每一帧DFT系数按照时间顺序排列起来,得到一个矩阵Y \epsilon C^{T*N},且Y[t,m] = X_t(m)
- 语谱图是一个三维图,横轴表示时间(t),纵轴表示频率,颜色的深浅表示当前时频点上幅度的大小|Y[t,m]|
- DFT得到了每个频带上信号的能量,但是人耳对于频率的感知不是等间隔的,而是近似于对数的
- 将线性频率转换为梅尔频率,梅尔频率与线性频率的转换公式为:
- 梅尔三角滤波器组:根据起始频率、中间频率和截止频率,确定各滤波器的系数
- 梅尔滤波器组设计
- 确定滤波器组数目P
- 根据采样频率f_s,DFT点数N,滤波器个数P,在梅尔域上等间隔的产生每个滤波器的起始频率、中间频率和截至频率,注意:上一个滤波器的中间频率是下一个滤波器的起始频率
- 将梅尔域上每个三角滤波器的起始、中间和截止频率转换线性频率域,并对DFT之后的谱特征进行滤波,得到P个滤波器组能量,进行log 操作,得到Fbank特征
- MFCC在Fbank特征基础上继续进行IDFT变换等操作
上图中,左边的倒谱明显是有两种正弦波复合而成,红线所示的正弦波与比较尖锐的正弦波(即高频和低频),低频的称为谱包络,高频的称之为谱细节,而谱包络的峰值称为共振峰,频域信号可以分解成谱包络(Envelope)和谱细节的乘积,不同音素的谱包络和共振峰具有区分性,为了提取谱包络,进行对数操作,即右边的变换
对X[m] = H[m]E[m]进行对数操作后,可变换为log|X[m]| = log|H[m]| log|E[m]|,此时谱包络和谱细节都将被提取到
Step5 IDFT
Step6 动态特征计算
- 一阶差分(Delta,Δ),类比于速度,简单计算方法
- 二阶差分(Delta delta,ΔΔ),类比加速度,简单计算方法
Step7 能量计算
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com