一.语音的产生简介
1.1 发音器官
人体的语音是由人体的发音器官在大脑的控制下做生理运动产生的。人体发音器官由三部分组成:肺和气管、喉、声道。 肺是语音产生的能源所在。气管连接着肺和喉,是肺与声道的联系通道。喉是由一个软骨和肌肉组成的复杂系统,其中包含着重要的发音器官——声带。声带为产生语音提供主要的激励源。声道是指声门(喉)至嘴唇的所有发音器官,包括咽喉、口腔和鼻腔。
1.2 语音的产生
语音是声音的一种,是由人的发声器官发出,具有一定语法和意义的声音。大脑对发音器官发出运动神经指令,控制发音器官各种肌肉运动从而振动空气从而形成。
空气由肺进入喉部,经过声带激励,进入声道,最后通过嘴唇辐射形成语音。
1.3 语音信号的数字模型
语音信号产生的时域模型
如图:语音信号的数字模型由三个部分组成,激励模型、声道模型、辐射模型。
语音信号S(z)=U(z)·G(z)·R(z)。
激励模型:发浊音时声带的不断开启和关闭将产生间歇的脉冲波。这个脉冲波类似于斜三角形脉冲串。如下图所示:
单个斜三角形波及其频谱
发清音时,可等效成随机白噪声。
声道模型:声道部分的数学模型目前有两种观点,一种是将声道视为多个不同截面积的管子串联而形成的系统,即“声管模型”,另一种是将声道视为一个谐振腔,即“共振峰模型”。
辐射模型:辐射模型表征口和唇的辐射效应和圆形头部的绕射效应。
二:一些基本名词简介
音素:语音中最小的基本单位是音素,音素是人类能区别一个单词和另一个单词的基础。音素构成音节,音节又构成不同的词和短语。音素又分为元音和辅音。
元音:元音,又称母音,是音素的一种,与辅音相对。元音是在发音过程中由气流通过口腔而不受阻碍发出的音。不同的元音是由口腔不同的形状造成的。(元音和共振峰关系密切)
辅音:气流在口腔或咽头受到阻碍而形成的音叫做辅音,又叫子音。不同的辅音是由发音部位和发音方法的不同造成的。
清音:清音和浊音的概念在文献中涉及较多。严格来讲,很多特征的提取都需要区分清音和浊音。当气流通过声门时,如果声道中某处面积很小,气流高速冲过此处时产生湍流,当气流速度与横截面积之比大于某个临界速度便产生摩擦音,即清音。简单来说,发清音时声带不振动,因此清音没有周期性。清音由空气摩擦产生,在分析研究时等效为噪声。
浊音:语音学中,将发音时声带振动的产生音称为浊音。辅音有清有浊,而多数语言中的元音均为浊音。浊音具有周期性。
发清音时声带完全舒展,发浊音时声带紧绷在气流作用下作周期性动作
三:语音特征
3.1.声强和声强级
在物理学中,把单位时间内通过垂直于声波传播方向的单位面积的平均声能,称为声强。声强用I表示,单位为瓦/平米。实验的研究表明,人对声音强弱的感觉并不是与声强成正比,而是与其对数成正比的。所以一般声强用声强级来表示。
SIL=10lg[I/I’]=10lg(I/I’)
式中I为声强,I’=10e-12瓦/平米称为基准声强,声强级的常用单位是分贝(dB)。
3.2.响度
响度时一种主观心理量,是人类主观感觉到的声音强弱程度。一般来说,声音频率一定时,声强越强,响度也越大。但是响度与频率有关,相同的声强,频率不同时,响度也可能不同。响度若用对数值表示,即为响度级,响度级的单位定义为方,符号为phon。根据国际协议规定,0dB声级的1000Hz纯音的响度级定义为0 phon,n dB声级的1000Hz纯音的响度级就是n phon。其它频率的声级与响度级的对应关系要从等响度曲线查出。
等响度曲线与声强级的关系
3.3.音高
音高也是一种主观心理量,是人类听觉系统对于声音频率高低的感觉。音高的单位是美尔(Mel)。响度级为40 phon,频率为1000Hz的声音的音高定义为1000Mel。
主观音高与实际频率的关系
3.4基音周期和基音频率
3.4.1 基音周期的概念
人在发音时,声带振动产生浊音(清音由空气摩擦产生)。浊音的发音过程是:来自肺部的气流冲击声门,造成声门的一张一合,形成一系列准周期的气流脉冲,经过声道(含口腔、鼻腔)的谐振及唇齿辐射最终形成语音信号。故浊音波形呈现一定的准周期性。所谓基音周期,就是对这种准周期而言的。它反映了声门相邻两次开闭之间的时间间隔或开闭的频率。
基音周期是语音信号最重要的参数之一,它描述了语音激励源的一个重要特征。基音周期信息在语音识别、说话人识别、语音分析与语音合成,以及低码率语音编码、发音系统疾病诊断、听觉残障者的语言指导等多个领域有着广泛的应用。(因为女性基频比男性高,所以有些算法中使用基频来区分性别,还挺准的)
3.4.2基音周期的估算方法
基音周期的估算方法很多,比较常用的有自相关法,倒谱法(我们提基频用的倒谱法),平均幅度差函数法,线性预测法,小波—自相关函数法,谱减—自相关函数法等。下面简单介绍用自相关法提取基频。
预处理:
为了提高基音检测的可靠性,有人提出了端点检测和带通数字滤波器两种预处理方法对原始信号进行预处理。在提取基频时端点检测比一般端点检测更为严格(一般端点检测会保留语音有话段的头和尾,以避免把有用信息当作噪声滤除,但头和尾不包括基频信息,所以在进行提取基音的端点检测时阈值设定更为严格,滤去头部和尾部)。用带通滤波器预处理的目的是为了防止共振峰第一峰值的干扰,一般带通滤波器的频率范围选为60~500Hz。
下图给出青年男女的基频范围图:
自相关法:
短时自相关函数的定义为 其中k是时间的延迟量,N为帧长,短时自相关函数具有以下重要性质。若当原信号具有周期性,那么它的自相关函数也具有周期性,并且周期性与原信号的周期相同。且在K等于周期整数倍时会出现峰值。清音信号无周期性,它的自相关函数会随着K的增大呈衰减趋势,浊音具有周期性,它的R(k)在基因周期整数倍上具有峰值,通常取第一最大峰值点作为基因周期点。自相关函数法基音检测正是利用这一性质来进行基因周期检查的。
3.5信噪比
定义:
信噪比的计量单位是dB,其计算方法是10lg(PS/PN),其中PS和PN分别代表信号和噪声的功率(用能量也是一样的)。
计算方法:
在噪声和语音完全混杂的情况下信噪比很难计算,在预知噪声的情况下,可以用实际信号(纯语音+噪声)减去噪声,得到近似的纯语音信号。从而通过进一步计算求得信噪比。
我们在实验中所采集的信号信噪比低时在10几dB,信噪比高时在30dB以上。
以下4个特征为医学中常用的检查嗓部病变的特征。
3.6谐噪比:
HNR(Harmonics-to-Noise ratio)是语音中谐波成分和噪声成分的比率。是检测病态嗓音和评价嗓音素质的一个客观指标,能有效地反应声门闭合情况。需要注意的是这里的噪声不是环境噪声,而是发声时由于声门非完全关闭引起的声门噪声。
3.7频率微扰(jitter)
频率微扰是描述相邻周期之间声波基本频率变化的物理量。主要反映粗糙声程度,其次反映嘶哑声程度。
语音信号中的频率微扰与声门区的功能状态是一致的。正常嗓音周期间的频率相同者较多,不同者甚少,因此频率微扰值很小。当发生声带病变时,微扰值增大,使声音粗糙。
3.8振幅微扰(shimmer)
振幅微扰描述相邻周期之间声波幅度的变化,主要反映嘶哑声程度。Jitter和shimmer共同反映声带振动的稳定性,其值越小说明在发声过程中声学信号出现的微小变化越少。
3.9规范化噪声能量(NNE)
主要计算发声时由于声门非完全关闭引起的声门噪声的能量。主要反映气息声程度,其次是嘶哑声程度,一定程度上反映声门的关闭程度,对由于声带器质性或功能性病变而产生的病理嗓音的分析很有价值。
3.10梅尔倒谱系数(Mel-scale Frequency CepstralCoefficients, MFCC)
3.10.1基本概念:
在语音识别(Speech Recognition)和话者识别(Speaker Recognition)方面,最常用到的语音特征就是梅尔倒谱系数。梅尔倒谱系数是在Mel标度频率域提取出来的倒谱参数,Mel标度描述了人耳频率的非线性特性,它与频率的关系可用下式近似表示:
式中f为频率,单位为Hz。
下图给出Mel频率与线性频率的关系。
Mel频率和线性频率的关系
3.10.2计算方法:
基本步骤:
计算倒谱的流程图
1.预加重
预加重处理其实是将语音信号通过一个高通滤波器:
式中μ的值介于0.9-1.0之间,我们通常取0.96。预加重的目的是提升高频部分,使信号的频谱变得平坦,移除频谱倾斜,来补偿语音信号受到发音系统所抑制的高频部分。同时,也是为了消除发生过程中声带和嘴唇的效应。(因为口唇辐射可以等效为一个一阶零点模型)
2.分帧、加窗,快速傅里叶变换
因为语音信号为短时平稳信号,所以需要进行分帧处理,以便把每一帧当成平稳信号处理。同时为了减少帧与帧之间的变化,相邻帧之间取重叠。一般帧长取25ms,帧移取帧长的一半。
3.Mel滤波器组
在语音的频谱范围内设置若干带通滤波器 ,M为滤波器的个数。每个滤波器具有三角形滤波器的特性,其中心频率为 ,在Mel频谱范围内,这些滤波器是等带宽的。每个带通滤波器的传递函数为:
其中:
三角带通滤波器有两个主要目的:
对频谱进行平滑化,并消除谐波的作用。此外还可以减少运算量。
在MATLAB的voicebox工具箱中有melbankm函数可用于计算Mel滤波器组。
三角形滤波器的示意图
4.计算每个滤波器组输出的对数能量为:
5.经离散余弦变换(DCT)得到MFCC系数:
将上述的对数能量带入离散余弦变换,求出L阶的Mel-scale Cepstrum参数。L阶指MFCC系数阶数,通常取12-16。这里M是三角滤波器个数。
以下两个特征为能量特征:
3.11短时能量
计算第i帧语音信号 的短时能量的公式为
计算一帧语音信号的短时能量
短时能量的计算方法比较简单,即取一帧信号,通过短时能量计算公式计算即可。
3.1.2短时平均幅度
语音信号的短时平均幅度定义为:
短时平均幅度也是一帧语音信号能量大小的表征,它与短时能量的区别在于计算时不论采样值的大小,不会因为取二次方而造成较大的差异,在某些应用领域中会带来一些好处。
短时能量和短时平均幅度的有作用主要是:作为区分清浊音,区分声母韵母,区分有话段和无话段的指标。
3.13短时平均过零率
短时平均过零率表示一帧语音中语音信号波形穿过横轴(零电平)的次数。
其计算公式为:
由于浊音具有较低的过零率而清音具有较高的过零率,过零率可以用来区分清音和浊音,在端点检查中有一定的运用。
3.14共振峰
基本概念:
共振峰是指在声音的频谱中能量相对集中的一些区域,共振峰不但是音质的决定因素,而且反映了声道(共振腔)的物理特征。声音在经过共振腔时,受到腔体的滤波作用,使得频域中不同频率的能量重新分配,一部分因为共振腔的共振作用得到强化,另一部分则受到衰减。由于能量分布不均匀,强的部分犹如山峰一般,故而称之为共振峰。在语音声学中,共振峰决定着元音的音质。
共振峰是表征语音信号特征的基本参数之一。它在语音信号合成、语音识别和语音编码等方面起着重要作用。共振峰可以等效为声道系统函数的复极点对,由于人的声道平均长度为17cm,而语音信号的能量主要集中在0-5kHz。因此语音通常包含4到5个稳定的共振峰,一般只需要研究前三个共振峰。
共振峰的一个示意图
从图中可以看到:1语音信号的能量在频率上存在频谱倾斜;2共振峰位置与谱包络位置很一致(这也是谱包络法提取共振峰的原理)
普通话10个元音共振峰均值数据表(Hz)
提取方法:
共振峰的提取方法较多,比较常见的有谱包络法、倒谱法、LPC内插法、LPC求根法、希尔伯特变换法等,但以上方法都或多或少受,虚假峰值,共振峰合并,高音调语音(尤其是女性)的影响,针对单个元音以上方法可以较好的找到共振峰,但对于连续语音准确度较差。在噪声背景下不具有很好的鲁棒性。下面简单介绍一种针对连续变化语音的鲁棒性较好的共振峰追踪算法。
算法示意图
传统的共振峰提取方法都是基于谱分析和峰值检测技术。这些方法对于噪声背景下共振峰的检测,既不准确又不鲁棒。图示这种基于预滤波的方法,在进行谱峰检测之前对每一个共振峰使用一个时变的自适应滤波器进行预滤波。预滤波限制了每个共振峰的频谱范围,因此减小了相邻峰值之间的干扰和背景噪声的干扰。
首先进行预加重,原因和MFCC中提到的相同,都是为了移除频谱倾斜。
第二步是进行希尔伯特变换,得到原实值信号的解析信号,便于分析计算。
第三部分是四个自适应共振峰滤波器。每个滤波器由一个全零点滤波器和一个单极点的动态追踪滤波器组成。这个滤波器的作用是在对每一个共振峰值进行估算之前,对其进行动态滤波,抑制相邻共振峰的干扰和基频干扰。
第四部分包括清浊音检测,性别检测(根据基频),能量检测。性别检测的目的是针对男女共振峰的差异性给定不同的滤波初值。能量检测是为了滤除无话段,类似于端点检查,清浊音检测是为了滤除清音,因为清音不含共振峰。
最后通过移动平均值作决策,符合条件的值作为共振峰估计值保留,不符合条件的值用其移动平均值代替。
上图是文章给出的共振峰估计和实际共振峰的图形。该方法比之前我们采用的倒谱法和LPC法的准确度都要高,但其计算复杂度较高,算起来太慢了。
共振峰参考文献:Robust Formant Tracking for Continuous
SpeechWith Speaker Variability
3.15 声门波
按语言产生的线性模型, 语言信号的频谱为:
(式一)
其中 是声门波的频谱, 是声道脉冲响应的频谱, 是口唇辐射效应的频谱。在语音信号的分析工作中,语音分析的一个主要任务是从信号中获得声道响应的频谱。口唇辐射的影响比较小, 容易作理论估计, 而声门波的频谱的关系比较复杂, 影响也较大。(以上是说为了得到准确的声道响应需要估计声门响应,这也是一些文献研究声门波的目的)。文献指出,声门波蕴含一定情感信息,对压力分类有一定作用。
下图给出一个声门波的模型:
(可以看到这个和我之前给出的激励模型相似)
声门波的计算方法:
由式一可知,声门
(式二)
由于口唇辐射容易估计,所以计算声门波的难点在于把声门响应和声道响应区分开。在closed phase,即图中C区时,声门和声道之间的影响是最小的。这时候分析声道参数时最合适的。这就需要从动态的声信号中找到声门闭合的瞬间(也就是closed phase),很多研究者通过动态算法,声门输入能量,共振峰稳定性,残余能量来寻找声门的闭合瞬间。然而受到讲话方式(比如压力状况下声门闭合时间会变短等)和性别的影响(女性讲话基频比男性更高,声门动作更快,声门并不总是完成闭合),上述方法都很难准确找到声门的闭合相。实际医学中一般用EGG(舌动电流描记器)等其它外部传感器来观察close phase,从而得到准确的声门估计。
下面给出moore提出的一种声门波算法。
该算法中把口唇辐射可以等效为一个一阶零点模型。声道响应用全极点模型来等效。根据式二,声门的估计可以又声门反滤波得到。
Moore提出的算法图示
1: 为输入,表示一帧信号,其长度为4-5个基音周期。
2:对原始信号进行P阶基音同步的线性预测分析,得到一组c初始的LPC参数(ap),用来产生残差信号,A(z)
3:找到残差信号的负峰值。它的负峰值的位置对应这声门波出现最大负斜率的位置。closed phase一般在这个位置附近。峰值位置被作为迭代的中点,而迭代的起点用峰值位置减去LPC阶数P得到。从c起取2P长度,做基于协方差的LPC,得到A(z)
步骤3的一个示意图
4: 将glottal derivative(gldv)和线性预测分析的参数存储在矩阵中。进行迭代,迭代次数为2P。
5:后处理过程。
声门参考文献:ALGORITHM FOR AUTOMATIC GLOTTALWAVEFORM ESTIMATIONWITHOUT THE RELIANCE ON PRECISE GLOTTAL CLOSURE INFORMATION