基于MATLAB的语音倒谱分析.docx
《基于MATLAB的语音倒谱分析.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的语音倒谱分析.docx(28页珍藏版)》请在冰豆网上搜索。
基于MATLAB的语音倒谱分析
摘要
语言是人类最重要的交流工具,它自然方便、准确高效。
随着社会的不断发展,各种各样的机器参与了人类的生产活动和社会活动,因此改善人与机器之间的关系,使人对机器的操纵更加便利就显得越来越重要。
随着电子计算机和人工智能机器的广泛应用,人们发现,人和机器之间最好的通信方式是语言通信,而语音是语言的声学表现形式。
要使机器听的懂人话,就要对语音信号进行处理。
随着信息技术的不断发展,尤其是网络技术的日益普及和完善,语音信号处理技术正发挥着越来越重要的作用。
为了寻找具有良好性能的特征及提取重要参数以提高识别系统性能,各种科学的算法应运而生,倒谱法作为信号处理的重要的方法之一,能够得到比较好的识别性能。
本文以MATLAB为平台,通过编程实现对语音信号的倒谱分析。
首先,本文简要说明了倒谱与语音的相关理论原理,包括倒谱原理和语音的组成元素,为之后的进一步研究奠定理论基础。
然后,对语音倒谱各个方面的应用进行了MATLAB编程,得到了语音基音检测和共振峰检测的实验仿真结果。
关键词:
语音信号;倒谱;MATLAB;基音检测;共振峰检测;
Abstract
Languageisoneofthemostimportantcommunicationtools,itisconvenientandefficient.Withthecontinuousdevelopmentofthesociety,avarietyofmachinesareusedinthehuman’sproductionandsocialactivities,thusimprovingtherelationshipbetweenmanandmachinemakesthemachinemoreconvenientwhatbecomesmoreandmoreimportant.Withthewideapplicationofelectroniccomputersandartificialintelligencemachine,itwasdiscoveredthatlanguagecommunicationisthebestmeansofcommunicationbetweenmanandmachine,whilethevoiceistheacousticmanifestationsofthelanguage.Tomakethemachineunderstandspeople,itisnecessarytoprocessthespeechsignal.WiththecontinuousdevelopmentofIT,especiallythegrowingpopularityofnetworktechnologyandimprovementofthevoicesignalprocessingtechnologyisplayinganincreasinglyimportantrole,inordertofindagoodperformancecharacteristicsandextractimportantparameterstoimprovetheperformanceoftherecognitionsystem,avarietyofscientificalgorithmshaveemerged,thecepstrum,asthesignalprocessingoneoftheimportantmethods,cangetbetterrecognitionperformance.
MATLABasaplatform,canachievecepstrumanalysisofthespeechsignalbyprogramming.First,thearticlebrieflydescribedtheitheoreticalprinciplesofcepstrumandvoice,includingthethecepstrumprinciplesandelementsofvoice,whichlaiedthetheoreticalfoundationforthefurtherresearch.ThenthespeechcepstrumapplicationinallaspectswasprogrammedinMATLAB,thuswegotvoicepitchdetection,peakdetectionexperimentsimulationresultsbysimulation.
Keywords:
speechsignal;cepstrum;MATLAB;pitchdetection;resonancepeakdetection;
1绪论
1.1目的及意义
由于语言是人们在日常生活中的主要交流手段,因此语音信号处理在现代信息社会中占用重要地位。
随着语音信号处理技术在实际生活中的应用的不断发展,语音信号处理技术已经越来越贴近人们的生活。
目前,语音信号处理技术处于蓬勃发展的时期,不断有新的产品被研制开发,市场需求逐渐增加,具有良好的应用前景。
语音信号处理虽然包括语音通信,语音合成,语音识别等内容,但是其前提和基础是对语音信号进行分析。
在语音信号处理中可以常用倒谱域来提取语音的基频和共振峰,用于语音识别。
倒谱系数是一种表征语音特征非常有效的参数矢量,它能将语音信号的声门激励信息及声道响应信息分离开来,也就是说倒谱具有解卷的特性,因此倒谱是说话人识别和语音识别中最常用的特征参数之一。
由于倒谱在语音信号处理中的重要地位,倒谱的应用也越来越广泛。
例如可应用于通信、建筑声学、地震分析、地质勘探和语音处理等领域。
尤其在语音处理方面,应用复倒谱算法可制成同态预测声码器系统,用于高度保密的通信。
1.2语音信号研究现状
声学是物理学的一个分支学科,而语言声学又是声学的一个分支学科。
它主要的研究方向是人的发声器官机理,发声器官的类比线路和数学模型,听觉器官的特性(如听阈、掩蔽、临界带宽、听力损失等),听觉器官的数学模型,语音信号的物理特性(如频谱特性、声调特性、相关特性、概率分布等),语音的清晰度和可懂度等。
当今通信和广播的发展非常迅速,而语言通信和语言广播仍然是最重要的部分,语言声学则是这些技术科学的基础。
语言声学的发展和电子学、计算机科学有着非常密切的关系。
在它发展的过程中,有过几次飞跃。
第一次飞跃是1907年电子管的发明和1920年无线电广播的出现。
因为有了电子管放大器,很微弱的声音也可以放大,而且可以定量测量。
从而使电声学和语言声学的一些研究成果,扩展到通信和广播部门。
第二次飞跃应该是在20世纪70年代初,由于电子计算机和数字信号处理的发展,人们发现:
声音信号特别是语音信号,可以通过模数转换器(A/D)采样和量化,它们转换为数字信号后,能够送进计算机.这样就可以用数字计算方法,对语音信号进行处理和加工.。
例如频谱分析可以用傅里叶变换或快速傅里叶变换(FFT)实现,数字滤波器可以用差分方程实现.在这个基础上,逐渐形成了一门新学科———语音信号处理。
它的发展很快,在通信、自动控制等领域,解决了很多用传统方法难以解决的问题。
在信息科学中占有很重要的地位,其中语音识别的研究也开始了飞速的发展。
语音识别的研究工作可以追溯到20世纪50年代AT&T贝尔实验室的Audry系统,它是第一个可以识别十个英文数字的语音识别系统。
但真正取得实质性进展,并将其作为一个重要的课题开展研究则是在60年代末70年代初。
这首先是因为计算机技术的发展为语音识别的实现提供了硬件和软件的可能,更重要的是语音信号线性预测编码(LPC)技术和动态时间规整(DTW)技术的提出,有效的解决了语音信号的特征提取和不等长匹配问题。
这一时期的语音识别主要基于模板匹配原理,研究的领域局限在特定人,小词汇表的孤立词识别,实现了基于线性预测倒谱和DTW技术的特定人孤立词语音识别系统;同时提出了矢量量化(VQ)和隐马尔可夫模型(HMM)理论。
随着应用领域的扩大,小词汇表、特定人、孤立词等这些对语音识别的约束条件需要放宽,与此同时也带来了许多新的问题:
第一,词汇表的扩大使得模板的选取和建立发生困难;第二,连续的语音中,各个音素、音节以及词之间没有明显的边界,各个发音单位存在受上下文强烈影响的协同发音(Co-articulation)现象;第三,非特定人识别时,不同的人说相同的话相应的声学特征有很大的差异,即使相同的人在不同的时间、生理、心理状态下,说同样内容的话也会有很大的差异;第四,识别的语音中有背景噪声或其他干扰。
因此原有的模板匹配方法已不再适用。
20世纪90年代前期,许多著名的大公司如IBM、苹果、AT&T和NTT都对
语音识别系统的实用化研究投以巨资。
语音识别技术有一个很好的评估机制,那就是识别的准确率,而这项指标在20世纪90年代中后期实验室研究中得到了不断的提高。
比较有代表性的系统有:
IBM公司推出的ViaVoice和DragonSystem公司的NaturallySpeaking,Nuance公司的NuanceVoicePlatform语音平台,Microsoft的Whisper,Sun的VoiceTone等。
其中IBM公司于1997年开发出汉语ViaVoice语音识别系统,次年又开发出可以识别上海话、广东话和四川话等地方口音的语音识别系统ViaVoice’98。
它带有一个32000词的基本词汇表,可以扩展到65000词,还包括办公常用词条,具有“纠错机制”,其平均识别率可以达到95%。
该系统对新闻语音识别具有较高的精度,是目前具有代表性的汉语连续语音。
我国语音识别研究工作起步于五十年代,但近年来发展很快。
研究水平也从实验室逐步走向实用。
从1987年开始执行国家863计划后,国家863只能计算机专家组为语音识别技术研究专门立项,每两年滚动一次。
我国语音识别技术的研究水平已经基本上与国外同步,在汉语语音识别技术上还有自己的特点与优势,并达到国际先进水平。
中科院自动化所、声学所、清华大学、北京大学、哈尔滨工业大学、上海交通大学、中国科技大学、北京邮电大学、华中科技大学等科研机构都有实验室进行过语音识别方面的研究,其中具有代表性的研究单位为清华大学电子工程系与中科院自动化研究所模式识别国家重点实验室。
清华大学电子工程系语音技术与专用芯片设计课题组,研发的非特定人汉语数码串连续语音识别系统的识别精度,达到94.8%(不定长数字串)和96.8%(定长数字串)。
在有5%拒识率情况下,系统识别率可以达到96.9%(不定长数字串)和98.7%(定长数字串),这是目前国际最好的识别结果之一,其性能已经接近实用水平。
研发的五千词邮包对非特定人连续语音识别系统的识别率达到98.73%;并且可以识别普通话与四川话两种语言,达到实用要求。
中科院自动化所及其所属模式科技公司2002年发布了他们共同推出的面向不同计算平台和应用的“天语”中文语音系列产品——PattekASR,结束了中文语音识别产品自1998年以来一直由国外公司垄断的历史。
1.3主要研究内容
本文研究的是语音信号的倒谱分析,首先第一章的绪论部分,介绍了本文的研究目的与意义、语音信号的研究现状和本文的研究内容。
第二章介绍了倒谱的理论知识。
详细叙述了倒谱的定义以及计算方法,将倒谱分为实倒谱和复倒谱,并区分实倒谱与复倒谱之间的关系,由此奠定了倒谱分析研究的基础。
接着第三章介绍语音的组成,分别利用倒谱的定义求解了声门激励信号与声道冲激响应序列这两个语音卷积分量的复倒谱,并得出相应的结论,接着对语音的发音类型作了理论阐述。
最后第四章具体研究了倒谱在语音信号处理中的简单应用,主要是语音信号识别的参数提取。
首先通过输入一段语音,并将其导入到MATLAB程序中进行语音的处理,完成语音在MATLAB中的倒谱实现,接着介绍倒谱在同态信号处理系统中的作用及同态信号处理系统的工作原理,然后是语音信号的主要应用,也是语音倒谱分析的重点内容,包括基音检测和共振峰检测两个方面,作为语音信号的重要参数,分别进行了详细的设计,为了清晰的描述程序的编写过程,对设计思路方法都进行了完备的阐述,并依据设计的算法画出了逻辑流程图,从而在MATLAB中完成程序的编写,最后通过对仿真结果进行了理论的分析,得出了语音的参数量值,完成了对语音信号倒谱分析的内容。
2倒谱的基本原理
倒谱(CEP)参数是重要的语音特征参数,它是对语音进行同态处理的产物。
在提取由于载波传递的信号特性时,用Time-Cepstrum分析会非常有效,能把相关的特性给提取出来。
Cepstrum在语音识别特征参数提取中用到很多,这是因为语音本质的东西往往是声带的振动,然后经过声道和口腔的调制才产生我们可以听到或拾取的声音。
通过Cepstrum分析语音就能将这一本质性的特征参数提取出来。
而要熟练运用倒谱法,还是要从基本理论入手。
2.1复倒谱和倒谱的定义
复倒谱的概念不是唯一的,一般有三种定义。
定义如下:
其中假设信号为x(n)
☆复倒谱的Z变换定义
☆复倒谱的傅里叶变换定义
☆复倒谱的离散傅立叶变换定义
复倒谱的定义可以用图2.1表示
Z
ln
Z-1
FT
ln
IFT
DFT
ln
IDFT
x(n)
x(n)
x(n)
图2.1三种复倒谱定义的框图表示
有了复倒谱的定义后,倒谱的概念就不会复杂了。
现在我们以复倒谱傅里叶变换定义为例来定义倒谱,将取对数有
为复数,则只考虑其实部。
令
FT
ln|.|
IFT
x(n)
c(n)
图2.2倒谱的实现框图
x(n)的对数幅度谱的傅立叶逆变换,即图2.2中的c(n)称为“倒频谱”或“倒谱”
c(n)就是要求取的语音信号倒谱系数。
2.2复倒谱的计算方法
在复倒谱分析中,Z变换后是复数,取对数时是复对数运算,此时存在相位多值性问题——相位卷绕。
取信号为例进行说明
求傅里叶变换
求复对数
由以上倒谱计算的流程可以得到其倒谱的幅度:
相位:
由上式虚部可知相位有多值性
相位可以写成:
其中
为整数,所以相位多值,这种现象被称为相位卷绕。
避免相位卷绕的方法主要有:
微分法、最小相位信号法。
(1)微分法
由傅里叶变换的微分特性
改写:
DFT
乘n
DFT
÷
IDFT
除n
x(n)
nx(n)
n
图2.3利用傅立叶变换的微分特性求复倒谱的框图
避免了求复对数的问题,但其缺点是会产生严重的频谱混叠。
原因:
频谱中的高频分量比
有所增加,所以仍使用
原来的取样率将引起混叠;混叠后求出的
就不是
的复倒谱了。
(2)最小相位信号法
1)这是由倒谱c(n)求复倒谱的方法。
2)最小相位信号法是由最小相位序列的复倒谱性质和Hilbert变换的性质推出来的。
3)适用条件:
最小相位信号序列
4)最小相位信号序列:
信号的零极点全部在z平面单位圆内。
其复倒谱序列是因果序列。
进一步引入辅助因子
则:
图2.4因果序列的分解与恢复
结论:
1.一个因果序列可由其偶对称分量来恢复;
2.由倒谱的定义可知,的偶对称分量
就是
DFT
复对数
ln(·)
IDFT
x(n)
(实部)
(虚部)
图2.5最小相位法求复倒谱
2.3复倒谱与倒谱的关系
x(n)
^
x(n)
FT
ln|.|
IFT
FT
ln
IFT
c(n)
x(n)
图2.6复倒谱与倒谱关系框图
1)“倒频谱”或称“倒频”的量纲是时间,记作“quefrency”。
(由“frequency”转变来的新词)
2)复倒谱涉及的是复对数运算,而倒谱是实数的对数运算。
3)倒频谱不含信号的相位信息。
因为人的听觉对语音的感觉特征主要包含在幅度信息中,而相位信息不起作用。
4)倒谱经过正逆变换后,一般不能还原成自身,计算倒谱的过程中,丢失了相位信息。
5)已知一个实数序列x(n)的复倒谱
,可以由其求出倒谱c(n)。
任何一个序列可写成偶对称序列和奇对称序列之和。
3语音信号的组成分析
语音是可以看作由两个卷积分量组成,即声门激励信号和声道冲激响应序列。
不同的声门激励模型可产生不同的典型语音,如浊音、清音。
语音模型是由声门激励模型和声道模型卷积而成的,声道模型在频域表征语音频谱的包络结构,共振峰结构包含在声道模型中。
经过复倒谱分析,原本呈现卷积关系的声门激励模型和声道模型在倒频域呈加性关系。
3.1语音的两个分量
语音可以看成是由声门激励信号和声道冲激响应序列卷积而成的如图3.1,所以要想对语音信号进行处理,首先要了解语音分量的倒谱。
声道冲激响应序列
声门激励信号
语音信号
图3.1语音信号产生模拟框图
(1)声门激励信号
发清音时,声门激励是能量较小、频谱均匀分布的白噪声。
发浊音时,声门激励是以基音为周期的冲激序列。
主要考察浊音时的声门激励信号的复倒谱,浊音x(n)的数学表示式
其中
是幅度因子,
为用样点数表示的基音周期
下面求浊音声门激励的复倒谱
步骤:
1.对x(n)进行Z变换
2.对上式取对数并用泰勒公式展开
3.对上式进行逆Z变换
改写为:
结论:
•1.一个有限长的周期冲激序列。
其倒谱也是一个周期冲激序列,且周期不变,只是变为无限长序列。
•2.其振幅随k的增大而减小,衰减速度比原序列要快。
•3.利用上述性质,可以用“高时窗”从语音信号的频谱中提取浊音激励信号的倒谱,从而提取出基音。
(2)声道冲激响应序列
若用极零模型来描述声道冲激序列
,则
求对数:
都小于1
用泰勒公式展开
然后求逆Z变换
结论:
1
是双边序列,存在于的范围内。
2
由于均小于1,所以
为衰减序列,即随|n|的增大而减小。
3短时窗提取声道冲激响应序列的复倒谱是很有效的。
4最小相位序列的复倒谱是因果序列。
5最大相位序列的复倒谱是反因果序列。
3.2语音类型
图3.2语音生成机理模型
由图3.2,空气由肺部排入喉部,经过声带进入声道,最后由嘴辐射出声波,这就形成了语音。
在声门(声带)以左,称为“声门子系统”,它负责产生激励振动;右边是“声道系统”和“辐射系统”。
当发不同性质的语音时,激励和声道的情况是不同的,它们对应的模型也是不同的。
1浊音
空气流经过声带时,如果声带是绷紧的,则声带将产生张弛振动,即声带将周期性地启开和闭合。
声带启开时,空气流从声门喷射出来,形成一个脉冲,声带闭合时相应于脉冲序列的间隙期。
因此,这种情况下在声门处产生出一个准周期脉冲状的空气流。
该空气流经过声道后最终从嘴唇辐射出声波,这便是浊音语音。
这个准周期脉冲的周期即为基音周期。
声门处产生的准周期脉冲其周期、宽度以及形状与声带的长度、厚度及张力等参数有关。
声带越短、厚度越薄、张力越大,则听起来感觉的音调就越高,也就是浊音的基音频率越高。
因此,基音频率是由声带张开闭合的周期所决定。
男性的基音频率一般为50~250Hz,女性基音频率为100~500Hz。
2清音
空气流经过声带时,如果声带是完全舒展开来的,则肺部发出的空气流将不受影响地通过声门。
空气流通过声门后,会遇到两种情况。
一种情况是,如果声道的某个部位发生收缩形成了一个狭窄的通道,当空气流到达此处时被迫以高速冲过收缩区,并在附近产生出空气湍流,这种湍流空气经过声道后便形成所谓摩擦音或清音。
令一种情况是,如果声道的某个部位完全闭合在一起,当空气流到达时便在此处建立起空气压力,闭合点突然开启便会让气压快速释放,经过声道后便形成所谓爆破音。
这两种情况下发出的是清音。
4语音倒谱的应用及MATLAB仿真
表征一个人声音个性的参数主要有反映声道特性的共振峰频率和反映声门特性的基音参数。
为了能够提取出这些参数,就要借助一些工具,本节通过MATLAB完成倒谱在语音处理的各方面应用。
4.1倒谱的MATLAB实现
本实验所用的语音样本是Cooledit在普通室内环境下录制的一段语音,采样频率为8kHz,单声道。
MATLAB仿真结果如下:
(程序见附录A)
图4.1倒谱程序仿真结果
图4.1是取一段语音的倒谱图,第一幅是这段语音的时域波形图,共取400点语音,在倒谱图上会看到许多峰值,这些峰值都与基因周期有关,分别是一次谐振,二次谐振……
4.2倒谱在同态信号处理系统的应用
同态信号处理也称为同态滤波,实现将卷积关系和乘积关系变换为求和关系的分离处理。
×,*——>+,将非线性信号处理变为线性信号处理的过程。
线性系统
特征系统
D*[]
逆特征系统
D*-1[]
y(n)
*
+
+
x(n)
*
图4.2常见的同态信号处理系统
按照被处理的信号来分类,大体上可以分为乘积同态信号处理和卷积同态信号处理
由于语音信号可以视为声门激励信号和声道响应信号的卷积结果。
我们仅讨论卷积同态信号处理系统的问题。
(1)特征系统D*[]
完成将卷积信号转化为加性信号的运算。
(2)第二个子系统对加性信号进行所需要的线性处理(满足线性叠加原理等)
(3)第三个子系统是逆特征系统D*-1[],使其恢复为卷积性信号。
(4)特征系统D*[]和逆特征系统D*-1[]的区别
a.第一步和第三步的运算相同。
b.第二步不同,前者是对数运算,后者是指数运算。
(框图如图4.3)
Z
exp
Z-1
Z
ln
Z-1
图4.3特征系统与逆特征系统的框图表示
4.3倒谱在基音检测方面的应用
基音是语音信号的一个重要参数,在语音产生的数字模型中它也是激励源的一个重要参数,准确地检测语音信号的基音周期对于高质量的语音分析与合成、语音压缩编码、语音识别和说话人确认等具有重要的意义。
1.基音检测的概念
基音是指发浊音时声带振动所引起的周期性,而声带振动频率的倒数就是基音周期。
基音周期具有时变性和准周期性,它的大小与个人声带的长短、厚薄、韧性和发音习惯有关,还与发音者的性别、年龄、发音时的力度及情感有关,是语音信号处理中的重要参数之一,它描述了语音激励源的一个重要特征。
基音周期的估计称为基音检测(PitchDetection),基音检测的最终目标是找出和声带振动频率完全一致的基音周期变化轨迹曲线,如不可能则找出尽量相吻合的轨迹曲线。
然而由于人的声道的易变性及其声道特征的因人而异,而基音周期的范围又很宽,且同一个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,故实际中的基音周期的精确检测是一件比较困难的事情。
然而,尽管语音信号的基音检测有许多困难但由于它在语音信号处理中的重要作用,促使广大学者争相涉足。
2.倒谱法求基音周期
语音的倒谱是将语音的短时谱取对数后再进行IDFT得到的,所以浊音信号的周期性激励反映在倒谱上式是同样周期的冲激。
借此,可从倒谱波形中估计出基音周期。
一般把倒谱波形中第二个激励,认为是对应激励源的基频。
下面给出一种倒谱法求基音周期的框图及流程图。
先计算倒谱,然后在预期的基音周期附近寻找峰值。
如果倒谱的峰值超出了预先规定的门限,则输入语音段定为浊音