语音识别基本概念

时间:2024-04-06 15:45:16

说话人识别的基础知识
1.语音的产生
声门:两片声带之间的空间叫声门
主声道:声带即声门以上,经过咽喉,口腔的通道
鼻道:经过小舌和鼻的管道
声道是分布参数系统,为谐振腔
分布参数系统即系统状态变化不能只由有限个参数变化描述,而是用场(一维或多维空间变量的函数)

浊音:由声带振动并激励声道而得到的语音(气流通过绷紧的声带,冲激声带产生振动,使声门处产生准周期性的脉冲串,并激励声道)
清音:气流高速冲击某处收缩的声道而得到的语音(声带松弛而不振动,气流通过声门直接进入声道)

声带每开启和闭合一次的时间为声带振动的周期(音调周期、基音周期)。它的倒数为基本频率(基音频率、基音) F0=1/T

音色:共振频率
音调:基本频率

2.语音信号的数字模型
语音信号是线性时不变系统(声道)在准周期脉冲序列和随机噪声激励下的输出

激励模型:
浊音为一个以基音周期为周期的斜三角波脉冲串
清音为随机白噪声(可使用均值为0,方差为1,并在时间或幅度上均匀分布的序列)

声道模型:
声管模型 把声道看做一个由多个不同截面积的管子串联而成的系统
共振峰模型 把声道看作一个谐振腔,共振峰就是这个腔体的谐振频率
(共振峰:一般来说,语音段的波形重复率比较高,找出一个基本周期,这个基本周期形状和频率的大小分别代表着内容和音色,对它进行FFT,求得频率极大值点,称之为共振峰。共振峰也代表着声带震动后,经过声道这个谐振腔,得到的语言的频谱最大值点,因此也表示声道的谐振频率点,因此也可以通过求LPC间接求得。即先由LPC得到声道系统函数,再求声道频谱响应,接着用峰值检测法(或别的方法)检测峰值点,即为共振峰。
人的发声器官(声道和口腔)肌肉较软,阻尼较大,会对较多的频率产生共鸣;把声道当作一个发音的谐振腔体来看,当发音的激励频率等于声道的谐振频率时,即两个频率相等,声道就会以最大的振幅来回振荡,也就是所谓的共鸣;共鸣起振了谐振腔体振动,接着声道会放大了某些频率成分和衰减了其他频率成分,从而产生某些谐振频率,在频率特性上被放大的谐振频率就会陆续峰起,一般把这些谐振频率称之为共振频率,这些峰称为共振峰formant

共振峰反映了声道的特征,一般多用来作为情感识别特征)
级联型 认为声道由一组串联的二阶谐振器构成。元音一般用全极点模型(级联的级数由声道长度决定)
并联型 对于非元音和大部分辅音 用零极点模式
混合型 极联与并联混合

辐射模型:
一阶高通滤波

话音信号数字模型=激励模型、声道模型、辐射模型的串联

3.语音信号的分帧
截取语音信号进行傅里叶变换(弄清楚语音中各个频率成分的分布),即加窗
加窗的目的是让一帧信号的幅度在两端渐变到 0。渐变对傅里叶变换有好处,可以提高变换结果(即频谱)的分辨率,具体的数学就不讲了。
加窗的代价是一帧信号两端的部分被削弱了,没有像*的部分那样得到重视。弥补的办法是,帧不要背靠背地截取,而是相互重叠一部分。相邻两帧的起始位置的时间差叫做帧移,常见的取法是取为帧长的一半,或者固定取为 10 毫秒。

对一帧信号做傅里叶变换,得到的结果叫频谱

语音识别基本概念

图中的横轴是频率,纵轴是幅度。频谱上就能看出这段语音在 480 和 580 赫兹附近的能量比较强。语音的频谱,常常呈现出「精细结构」和「包络」两种模式。「精细结构」就是蓝线上的一个个小峰,它们在横轴上的间距就是基频,它体现了语音的音高——峰越稀疏,基频越高,音高也越高。「包络」则是连接这些小峰峰顶的平滑曲线(红线),它代表了口型,即发的是哪个音。包络上的峰叫共振峰,图中能看出四个,分别在 500、1700、2450、3800 赫兹附近。有经验的人,根据共振峰的位置,就能看出发的是什么音。
对每一帧信号都做这样的傅里叶变换,就可以知道音高和口型随时间的变化情况,也就能识别出一句话说的是什么了。

语谱图

语谱图中的花纹有横杠、乱纹和竖直条。横杠是与时间轴平行的几条深黑色带纹,它们是共振峰。从横杠对应的频率和宽度可以确定相应的共振峰频率和带宽。在一个语音段的语谱图中,有没有横杠出现是判断它是否是浊音的重要标志。竖直条是语谱图中出现于时间轴垂直的一条窄黑条。每个竖直条相当于一个基音,条纹的起点相当于声门脉冲的起点,条纹之间的距离表示基音周期,条纹越密表示基音频率越高。b,p……清音的语谱图为乱纹

宽带语谱图具有较好的时间分辨率,给出共振峰频率和清辅音的能量汇集区
窄带语谱图具有较好的频率分辨率,其时间坐标方向表示基音及各次谐波

说话人识别系统过程
一.预处理:数字化,预加重(在对信号取样后,插入一个一阶高通滤波器,这样只剩下声道部分,便于对声道参数进行分析),分帧,加窗,端点检测(从语音信号中确定语音的起点和终点)

二,特征参数提取
1.时域参数:短时平均能量,短时平均过零率,基音周期等

mfcc特征参数提取:
1、预处理(预加重,分帧,加窗)
2、FFT:对每一帧信号进行快速傅里叶变换。从时域数据转变为频域数据
3、计算谱线能量:
4、计算通过Mel滤波器的能量
5、计算DCT倒谱
人的耳朵实质上可以等效于为一组滤波器,而人说听到的声音高低和声音频率不成线性关系,MFCC参数就是将人耳的听觉感知特性和语音产生机制相结合,模拟人耳。
1.将频域轴做变换,变成MEL频率轴,有个公式的你去看
2.在MEL频率轴上设置L个三角形滤波器,信号经滤波器后得到输出,这里的L就是MFCC的维数
3.得到的输出做DCT变换,得到MFCC参数。
大概就这三步,得到静态的MFCC参数,HTK里面L取12,再加上1个能量特征,构成13维特征向量,再做2次差分,得到总共39维的特征向量。

信噪比:信噪比定义为信号能量与噪声能量的比值:(用于衡量带噪语音中噪音的量)
信噪比是信号和噪声能量比值的对数值。
你放到cool edit或者audition中可以看到波形,没语音的部分就是低噪可以看看电平大小,在看看有语音的地方电平多少,然后这两者间的差距就是信噪比的概念。我们如果要让信号更清晰就是要减小底噪,增加语音的音量才能提高信噪比。
信噪比减小后语音信号差不多被噪声淹没了。p98

声波是一维的,它在每个时刻有一个基于高度的值。
为了将声波转换成数字,我们只记录声波在等距点的高度,即采样。我们每秒读取数千次,并把声波在该时间点的高度用一个数字记录下来,就形成一个.wav文件
对于语音识别而言,16khz(每秒采样16000次)
语音识别基本概念
由于采样定理(Nyquist theorem),我们知道我们可以利用数学,从间隔的采样中完美重建原始声波——只要我们的采样频率比期望得到的最高频率快至少两倍就行。

语音信号处理的一个分支是从带噪语音中得到纯净语音
带噪语音是由纯净语音和混叠的噪声一起形成的,噪声可以是加性的,也可以是非加性的。主要讨论加性噪声,也就是语音=纯净语音+噪声,语音和噪声互不相关。带噪语音的频谱等于语音频谱和噪音频谱的叠加。

语音端点检测是指从包含语音的一段信号中确定出语音的起始点和结束点位置。
没有噪声情况下的语音端点检测用短时平均能量就可以检测出语音的端点。
双门限法:基于短时平均能量和短时平均过零率提出的。原理是汉语中的韵母有元音,能量较大,所以可以从短时平均能量中找出韵母。而声母是辅音,频率较高,相应的短时过零率较大。

CTC:基于神经网络的时序类分类
语音识别声学模型的训练属于监督学习,要知道每一帧对应的label才能进行训练。在训练的数据准备阶段必须要对语音强制对齐
ctc放宽了这种一一对应的强制要求,只需要一个输入序列和一个输出序列就能训练。不需要对数据对齐和一一标注。直接输出序列预测的概率

输出状态引入了一个blank。多个输出序列可以映射到一个输出