参考基于dsp(数字信号处理器)的语音分析系统_第1页
参考基于dsp(数字信号处理器)的语音分析系统_第2页
参考基于dsp(数字信号处理器)的语音分析系统_第3页
参考基于dsp(数字信号处理器)的语音分析系统_第4页
参考基于dsp(数字信号处理器)的语音分析系统_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 绪论1.1 课题的背景与意义语音是人类进行信息交流最直接、最方便、最有效的工具,语音信号是携带语音信息的语音声波。在信息化时代,人们也期望用这种最便捷的信息交流工具和各种信息存储、处理的设备和终端进行信息交互。语音信号处理1研究如何能更加有效地产生、传输和获取语音信息的一门学科。它涉及数字信号处理、语言学、语音学,生理学、心理学、模式识别以及人工智能等多个学科的知识,是信息技术学科中发展最为迅速的一个领域。语音信号处理内容非常广泛,它包含语音识别语音合成,此外还有语音压缩编码、语音理解、说话人识别、语音增强等各个分支,总的来说语音信号处理包含了语音信号的数字表示方法,语音信号处理的各种方法和技术以及语音处理理论和技术在各个领域中的实际应用。语言是人类持有的功能。声音是人类常用的工具,是相互传递信息的最主要的手段。因此,语音信号是人们构成思想疏通和感情交流的最主要的途径。并且,由于语言和语音与人的智力活动密切相关,与社会文化和进步紧密相连,所以它具有最大的信息容量和最高的智能水平。现在,人类已开始进入了信息化时代,用现代手段研究语音信号,使人们能更加有效地产生、传输、存储、获取和应用语音信息,这对于促进社会的发展具有十分重要的意义。让计算机能听懂人类的语言,是人类自计算机诞生以来梦寐以求的想法。随着计算机越来越向便携化方向发展,随着计算环境的日趋复杂化,人们越来越迫切要求摆脱键盘的束缚而代之以语音输人这样便于使用的、自然的、人性化的输人方式。作为高科技应用领域的研究热点,语音信号采集与分析从理论的研究到产品的开发已经走过了几十个春秋并且取得了长远的进步。它正在直接与办公、交通、金融、公安、商业、旅游等行业的语音咨询与管理。工业生产部门的语声控制,电话、电信系统的自动拨号、辅助控制与查询以及医疗卫生和福利事业的生活支援系统等各种实际应用领域相接轨,并且有望成为下一代操作系统和应用程序的用户界面。可见,语音的分析和研究将是一项极具市场价值和挑战性的工作。我们今天进行这一领域的研究与开拓就是要让语音信号处理技术走入人们的日常生活当中,并不断朝更高目标而努力。语音信号的分析之所以能够那样长期地、深深地吸引广大科学工作者去不断地对其进行研究和探讨,除了它的实用性之外,另一个重要原因是,它始终与当时信息科学中最活跃的前沿学科保持密切的联系,并且一起发展。语音信号采集与分析是以语音语言学和数字信号处理为基础而形成的一门涉及面很广的综合性学科,与心理、生理学、计算机科学、通信与信息科学以及模式识别和人工智能等学科都有着非常密切的关系。对语音信号采集与分析的研究一直是数字信号处理技术发展的重要推动力量。因为许多处理的新方法的提出,首先是在语音信号处理中获得成功,然后再推广到其他领域。1.2 语音处理的研究状况语音信号的处理最早可以追溯到1874年电话的发明,电话的理论基础是尽可能不失真地传送语音波形。直到1939年Dudley发明声码器,通道声码器技术取代了“波形原则”的处理方法,它的理论基础认为语音是由人的声带振动产生的声源(载波)受到不断变化的声道的控制(调制)而产生的,这一概念就是以后迅速发展起来,并广泛应用到各种理论研究和应用实际过程中的语音参数模型的雏形,由此人们开始了语音合成和语音压缩编码的研究。上个世纪60年代中期数字信号处理的方法和技术取得突破性进展,主要是快速傅立叶变换算法的成功应用。出现了第一台以数字计算机为基础的孤立词语音识别器,随后又成功研制出第一台有限连续语音识别器。70年代初,Flanagan出版的重要著作语音分析合成和感知,奠定了数字语音处理的系统理论基础。与此同时,倒谱分析技术和线性预测技术在语音处理中得到成功应用,微电子和集成电路技术取得新的进展,高性价比的微处理器芯片和性能优异的专用信号处理芯片不断问世,再次推动了语音信号处理技术的发展和应用2。语音识别以语音为研究对象,它是语音信号处理的一个重要研究领域,是模式识别的一个分支,涉及到生理学、心理学、语言学、计算机科学以及信号处理等诸多领域,甚至还涉及到人的体态语言(如人在说话时的表情、手势等行为动作可帮助对方理解),其最终日标是实现人与机器进行自然语言通信,让人机交互界面更加自然和容易使用。语音识别是语音处理中的难点,对它的研究开始的比较晚,但它的一些研究方法和结果可以运用到另外的研究分支中去,因此也是语音处理研究中的重点。1952年贝尔实验室的Davis等人首次研制成功能识别十个英语数字的特定人孤立数字识别系统,该系统的成功研制标志着人们开始语音识别的研究工作。此后很长的时间里,语音识别的研究方法主要是用特殊的硬件获取语音信号的特征参数,再在计算机上进行模板匹配和判决,由于受当时计算机技术和信息处理理论的限制,语音识别一直未取得突破性进展。直到上个世纪70年代,动态时间归正技术(DTW)算法、线性预测分析技术(LPC)理论、LPC频谱分析、隐马尔可夫模型(HMM)3、人工神经元网络(ANN)、矢量量化(V-Q)等理论,并在语音识别中成功运用,开创了语音识别研究的新局面,语音识别系统的识别率得到了显著的提高。此后语音识别系统由原来的特定人小词汇量孤立词的系统发展到能进行非特定人、大词汇量、连续语音识别。我国语音识别理论研究和应用起步较晚,但由于汉语具有音节种类较少的特点,汉语是单音节语言,汉语中音节数只有400个,加上音调才1200个,词是由音节组合成,便予以音节识别为基础实现大词汇的语音识别,因此,进展较快。清华大学、中国科学院声学所和西安电子科技大学相继成功研制出无限词汇的汉语听写机。四达公司在90年代初推出首批汉语听写机之后,与哈尔滨工业大学合作研制出具有自然理解能力的新产品。模识科技公司Pattek ASR中文语音识别产品,它面向不同计算平台和应用,具有国际先进水准,是我国第一个拥有完全自主知识产权的语音识别技术产品。模识科技公司此次推出的产品具有识别率高、对环境噪声和不同口音适应能力强、系统占用资源少等特点,Pattek ASR对方言的识别率在95以上。只要对现有的手机、家电、电话总机稍作改装,就可以用语音命令上网查阅资料、控制电视、接通电话分机,国外一些著名的大公司纷纷加大对汉语语音识别研究的投入。进入上个世纪90年代,随着多媒体时代的来临,语音识别系统由实验室走向实用。许多发达国家和一些公司如美国、日本、韩国以及IBM、Apple、ATT、NTT等著名公司都为语音识别系统的实用化开发研究投以巨资,其中语音识别软件的发展最为迅速。语音识别软件是语音识别理论和计算机技术相结合的产物。IBM公司于1997年开发汉语ViaVoice语音识别系统,次年又开发出可以识别上海话、广东话和四川话等地方口音的语音识别系统ViaVoice98,平均识别率可达到95。该系统对新闻语音识别具有较高的精度,是目前具有代表性的汉语连续语音识别系统。IBM宣布,为增强网络浏览和语音电子邮件的功能,将推出其新一代语音识别软件。可使用户通过语音,而不是使用键盘来浏览网络、切换应用程序、执行命令、口授邮件和文本文件等操作。语音合成是最早被研究的语音处理分支,它研究的主要内容是让人们通过听觉来获取以其他形式表示的信息。最早的语音合成是用机械的方式模拟人的发声过程而产生声音。1939年Dudley发明的声码器,用电子线路产生语音的声源,并构成滤波器模拟声道的滤波作用。现代的语音合成都是基于计算机技术的语音处理过程。由D.Klatt设计的串、并联混合,是语音合成研究中最具代表性的工作。20世纪90年代末,日本的一些研究学者提出一种少样本、不等长语音拼接合成技术PSOLA,该方法来源于利用短时傅立叶变换重构信号的叠接相加法。当前汉语语音合成系统中,合成效果较好的都是采用波形拼接的合成技术,文本语音转换系统(TTS)是语音合成的一个重要应用形式。语音合成的应用领域十分广泛,如:自动报警、报时、车站机场广播、电话查询业务以及各种电子出版物的语音朗读等。语音压缩编码是伴随语音的数字化而产生的,它的研究和语音合成一样起源于1939年Dudley发明的声码器,若简单地由连续语音信号抽样量化得到的数字语音信号传输和存储,就会占用太多的信道资源和存储空间。研究表明语音信号中含有大量的冗余信息,如何采用各种编码技术,在保证尽量少的失真并具有一定的可懂度和自然度的情况下,减少语音信号的冗余度,成为语音压缩编码的主要内容。最早研究和使用的编码方法是不依赖语音产生模型假定,以PCM和ADPCM为代表的波形编码技术,它的编码数率较高,一般在16kb/s64kb/s,具有语音音质高、抗躁能力强的特点。1974年,LPC编码首次用于分组语音通信,传输数率达到3.5kb/s,实现了低速的编码。一些以LPC以及由其改进和演变的混合编码为代表的基于模型假定的编码方法,可以更大程度上减少语音信号的冗余度,使低速率传输、存储语音信息成为可能。美国在1980年公布了一种2.4kb/s的线性预测编码技术后,于1988年又公布一个4.8kb/s的码激励线性预测编码(CELP)语音编码算法,随后欧洲也推出了16kb/s的规则脉冲激励(RELP)线性预测编码算法。这些语音编码算法具有较好的可懂度和自然度。随着对低速率语音编码算法研究的深入和计算机网络技术的迅速发展,语音信号经过压缩后在互联网上以数据包的形式传输,就形成了IP电话,它用VOIP技术实现的通过TCP/IP网络以不同于传统的电话网来传输语音信号。由此衍生出在网络环境下的语音识别和语音压缩编码,成为语音处理新的发展方向。20世纪90年代,针对不同的应用,国际电联和一些地区标准协会制定一系列语音压缩编码标准,如数码率为5.3-6.4kb/s的G.723.1,以及数码率为8kb/s的G.729等,这些标准的制订保证了应用在通信网中的各种语音编码具有良好的兼容性。语音处理的研究取得很大的成绩,一些应用也取得突破性的进展,有很多有关的研究成果已实现商品化生产并投放市场,取得较好的经济效益和社会效益。一些信息科学中的新出现的理论和处理方法引入语音处理的研究中,如小波分析、分形理论以及语音信号的非线性处理方法。由于语音本身和应用环境的复杂多变,语音处理系统的性能还是有很多不尽人意的地方,用它来解决实际问题还是有很多困难,如无限词汇汉语合成中连续语流中各基音轮廓的平滑过渡问题,语音识别系统的适应性差,主要体现在对环境依赖性强,高噪声环境下语音处理的进展缓慢。2 语音处理的基本理论贯穿于语音分析全过程的是“短时分析技术”4。因为语音信号从整体来看其特性及表征其本质特征的参数均是随时间而变化的,所以它是一个非平稳态过程,不能用处理平稳信号的数字信号处理技术对其进行分析处理。虽然语音信号具有时变特性,但是在一个短时间范围内(一般认为在1030ms的短时间内),其特性基本保持不变即相对稳定,因而可以将其看作是一个准稳态过程,即语音信号具有短时平稳性。所以任何语音信号的分析和处理必须建立在“短时”的基础上。即进行“短时分析”,将语音信号分为一段一段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为1030ms。这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数组成的特征参数时间序列。根据所分析出的参数的性质的不同,可将语音信号分析分为时域分析、频域分析、倒频域分析等;时域分析方法具有简单、计算量小、物理意义明确等优点,但由于语音信号最重要的感知特性反映在功率谱中,而相位变化只起着很小的作用,所以相对于时域分析来说频域分析更为重要。设计将简要介绍时域分析、频域分析。2.1 语音信号的时域特性信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且也是最直观的是它的时域波形。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。时域分析通常用于最基本的参数分析及应用,如语音的分割、预处理、大分类等。这种分析方法的特点是:a.表示语音信号比较直观、物理意义明确。b.实现起来比较简单、运算且少。c.可以得到语音的一些重要的参数。d.只使用示波器等通用设备,使用较为简单等。2.1.1 短时平均能量及短时平均幅度由于语音信号的能量随时间而变化,轻音和浊音之间的能量差别相当显著。因此对短时能量和短时平均幅度进行分析,可以描述语音的这种特征变化情况。设语音波形时域信号为、加密分帧处理后得到的第帧语音信号为,则满足下式:, (2-1) 其中,并且为帧长,为帧移长度。设第帧语音信号的短时能量用表示,则其计算公式如下: (2-2)是一个度量语音信号幅度值变化的函数,但它有一个缺陷,即它对高电平非常敏感(因为它计算时用的是信号的平方)。为此可采用另一个度量语音信号幅度值变化的函数即短时平均幅度函数,它定义为: (2-3) 也是一帧语音信号能量大小的表征,它与的区别在于计算时小取样值和大取样值不会因取平方而造成较大差异,在某些应用领域也会带来一些好处。短时能量和短时平均幅度函数的主要用途有:可以区分浊音段与清音段,因为浊音时值比清音时大的多。可以用来区分声母与韵母的分界,无声与有声的分界,连字(指字之间无间隙)的分界等。作为一种超音段信息,用于语音识别中5。2.1.2 短时过零率短时过零率是语音信号时域分析中的一种特征参数。它是指每帧内信号通过零值的次数。对有时间横轴的连续语音信号,可以观察到语音的时域波形通过横轴的情况。在离散时间语音信号情况下,如果相邻的采样具有不同的代数符号就称为发生了过零,因此可以计算过零的次数。单位时间内过零的次数就称为过零率。一段长时间内的过零率称为平均过零率。因此过零率在一定程度上可以反映信号的频率信息。语音信号不是简单的正弦序列,所以平均过零率的表示方法就不那么确切。但由于语音信号是一种短时平稳信号,采用短时平均过零率仍然可以在一定程度上反映其频谱性质,由此可获得谱特性的一种粗略估计。定义语音信号的短时过零率为: (2-4) 式中,是符号函数,即: (2-5)为窗函数,计算时常采用矩形窗,窗长为。可以理解为:当两个相邻点符号相同时,没有产生过零;当相邻两个样点符号相反时,为过零次数的2倍。因此在统一帧(点)的短时平均过零率时,求和后必须要除以2N。这样就可以将窗函数表示为: (2-6)在矩形窗条件下,式(2-4)可以化简为: (2-7)由此可以得出实现短时平均过零率的运算图,如图2-1所示:图2-1 短时平均过零率的运算图 在实际中求过零率参数时,需要十分注意的一个问题是如果输入信号中包含有50Hz的工频干扰或者A/D变换器的工作点有偏移(这等效于输入信号有直流偏移),往往会使计算的过零率参数很不准确。为了解决前一个问题,A/D变换器前的防混叠带通滤波器的低端截频应高于50Hz,以有效地抑制电源干扰。对于后一个问题除了可以采用低直流漂移器件外,也可以在软件上加以解决,这就是算出每一帧的直流分量并予以滤除。对语音信号进行分析,发现发浊音时,尽管声道有若干个共振峰,但由于声门波引起功率谱的高频跌落,所以其话音能量约集中在3kHz以下。而发清音时,多数能量出现在较高频率上。高频就意味着高的平均过零率,低频意味着低的平均过零率,所以可以认为浊音时具有较低的过零率,而清音时具有较高的过零率。当然,这种高低仅是相对而言,并没有精确的数值关系。利用短时平均过零率6还可以从背景噪声中找出语音信号,可用于判断寂静无声段和有声段的起点和终点位置。在孤立词的语音识别中,必须要在一连串连续的语音信号中进行适当分割,用以确定一个一个单词的语音信号,即找出每一个单词的开始和终止位置,这在语音处理中是一个基本问题。此时,在背景噪声较小时用平均能量识别较为有效,而在背景噪声较大时用平均过零率识别较为有效。但是研究表明,在以某些音为开始或结尾时。如当弱摩擦音(如、等音素),弱爆破音(如、等音素)为语音的开头或结尾;以鼻音(如、等音素)为语音的结尾时。只用其中一个参量来判别语音的起点和终点是有困难的,必须同时使用这两个参数。2.2 语音信号的频域特性语音的感知过程与人类听觉系统具有频谱分析功能是紧密相关的,因此,对语音信号进行频谱分析,是认识语音信号和处理语音信号的重要方法。傅里叶分析是线性系统和平稳信号稳态特性的强有力手段,在许多工程和科学领域中得到了广泛的应用。这种以复指数函数为基函数的正交变换,理论上很完善,计算上很方便,概念上易于为人们理解,是语音信号频域分析中被广泛应用的一种方法。傅里叶频谱分析的基础是傅里叶变换,用傅里叶变换及其逆变换可以得到傅里叶谱、自相关函数、功率谱、倒谱等多种频谱分析方法。短时分析应用于傅里叶变换就是短时傅里叶变换。若有语音的时间信号,用短区间的时间窗函数来分割语音信号的某个短区间,进行频谱分析,把分割出某个短区间而求得的频谱,称作短时间频谱,其定义如下: (2-8)上式中引入了时间参数,这是窗函数分割语音信号的终了时刻。离散的短时傅里叶变换定义为: (2-9)式中,是一个实数窗序列,它能够在特定时间指数上从输入语音信号中显然是个二维函数,也称为时频函数。我们可以从两个角度来理解时频函数的物理意义:第一种解释是,当n固定时,例如,则是将窗函数的中心移至处截取,再做傅立叶变换而得到的一个频谱函数。这个是由式(2-8)从频率轴方向来解释的。第二种解释是,从时问轴方向来理解:当频率固定时,例如,则可看作是信号经过一个中心频率为的低通滤波器后产生的输出。这是因为式(2-9)中的窗序列通常具有带通滤波器响应,而的傅立叶变换为,这里的指数对有调制作用,是使其频谱产生移位,即将频谱中对应于频率的分量平移到零频。因此,式(2-9)可理解为如图2-2所示的带通滤波作用。图2-2 从带通滤波作用理解短时傅立叶变换傅立叶变换在语音信号分析中得到了应用,首先是利用傅立叶频谱,检测出其峰值并做共振的估算,这种方法称作峰值检测法。其次,应用倒谱可以求出语音信号的基音周期。可见对语音信号进行必要的频域分析对了解语音信号是很有帮助的7。2.3 语音识别系统语音识别系统通常由四部分组成:语音输入、语音分析、识别处理和识别输出。其中,语音输入部分包括前置放大器、控制放大器和模数转换器等器件,它将语音信号变换成数字电信号;语音分析部分则通过滤波器、芯片等将数字电信号进行频率分析或动态分析,并找出其特征,将语音信息转化为文字信息;识别处理部分则由计算机软件与硬件将文字信息按语法、逻辑及上下文关系生成可表达准确意思的句子;识别输出部分通过不同的器件将识别结果用各种方式输出,以便执行各种任务,如语音、文字或指令等。设计所做的工作是对一些孤立词的识别,属于小词汇量孤立单词识别系统,能使系统识别一些简单的语音命令。图2-3是孤立词语音识别系统的基本原理,先对输入的语音信号进行端点检测,然后,提取特征量,再根据是识别还是训练,进行模式匹配或者创建参考模式库。图2-3 语音识别流程图2.3.1 语音信号预处理在语音信号处理中,预处理通常包含A/D转换、预加重、加窗、端点检测等基本步骤8。(1)语音信号模/数(A/D)转换语音信号是随时间和幅度而变化的一维信号,语音信号处理是对语音信号进行数字处理,所以在对语音信号处理之前需要将语音信号数字化,即进行模/数(A/D)转换。一个完整的模数转换必须包含有采样、保持、量化和编程四个基本过程,一般在运算过程中将采样于保持简化成一步,量化和编程简化成一步。由奈奎斯特采样定理可知,采样频率要大于或者等于原始信号频率的2倍,才能在采样的过程中保持信号的完整性。(2)语音信号的预加重语音信号在完成A/D转换后可以进行预加重了,由于受声道模型中声门激励和嘴唇辐射的影响,语音信号的高频端大约在800Hz以上会产生衰减,斜率通常为6dB/倍频。为了抵消这种现象,使高频信号曲线平滑,在分析语音信号之前应对原始语音信号进行预加重来滤除低频干扰,采用一个一阶滤波器,提高语音信号的高频成分。(3)语音信号加窗处理加窗处理其实分为两个步骤:分帧与加窗。在语音信号处理中,由于信号是一种非平稳的时变信号,但可以认为语音信号在10ms-30ms短时段是平稳的,将语音信号划分成一个一个这样的小时段,此为分帧,每一个小时段称为一帧。为了得到语音信号中的样本信号,用时间窗函数去乘原始信号,相应于频域就是离散信号的频谱与窗函数频谱的卷积,此为加窗。常用的时间窗函数有矩形窗、汉宁窗和海明窗,系统中采用的是海明窗。(4)语音信号端点检测端点检测,主要用来检测语音识别中样本信号的起点和终点,因此,又被称为起止点检测。在语音信号处理中,语音信号的数据量非常庞大,如果对全部语音信号都加以处理,不仅增加系统处理器的负荷,还会影响系统的识别率。为了将有用的语音信号从系统采集的原始语音信号中提取出来,则就要对采集的语音信号进行分析,将语音的信号段和噪音段从语音信号中检测区分开来,从而准确的检测出语音段的起点与终点,去除从语音信号中无声段,极大的减少了数字信号处理器的运算量和处理时间,提高系统的性能和识别率。端点检测是语音信号预处理的核心部分,在整个语音识别过程中也处于非常关键的位置。一般来说,端点检测位在语音信号处理的最前端,其正确与否将直接影响到整个语音识别系统的性能,由于语音信号的识别算法的前期数据是参考端点检测时的结果,所以也将直接影响到识别算法的准确性,从而影响到整个系统的性能,降低系统的识别率。因此,作为语音信号识别系统的前端处理,必须确保其优化性与准确性。端点检测的算法有很多,系统采用的是基于双门限比较法的端点检测,即通过语音信号的短时能量检测与过零率检测进行语音信号的端点检测。2.3.2 特征参数的提取经过语音预处理中端点检测后,已经将语音信号中清音、噪音区别出来,这时就可以对所需语音信号进行特征参数提取,在分析语音信号的同时去掉无用信息,这些信息又比较占空间,最后获得对识别算法有用的重要参数。在提取过程中,并不是很广泛的提取,毕竟语音识别系统的内存有限,为了减少处理器的运算量,提高识别率,要求所提取的特征参数能充分代表说话者的语音特征,与其他的说话者有很好的区分性,各个特征参数之间能相互独立。此外,为保证语音识别便于实现,所提取的特征参数应该便于计算。语音信号的特征参数分为两种:时域特征参数,在一帧短时信号中由各个时域采样而直接组成一个参数矢量,如基音周期、短时平均能量等;频域特征参数则是在一帧短时信号经过了一些变化后再组成的参数矢量,如Mel频率倒谱系数、LPC倒谱系数、短时频谱等。线性预测倒谱系数(LPCC)是基于人的发声机理原理,使系统的传递函数的形式和全极点数字滤波器达到一致,由于语音信号采样点之间具有相关性,从而现在某个时刻或将来的某个时刻的语音信号的抽样能够用之前的若干语音抽样的线性组合来估计。得到语音信号的实际采样值和线性预测采样值间的均方误差(MSE),令MSE最小可得到线性预测系数(LPC),最后求出线性预测倒谱系数(LPCC)。美尔频率倒谱系数(MFCC)是基于入耳听觉特征,将语音的产生与之相结合的一种特征参数。该特征参数充分考虑了人耳的听觉特性,接着将频谱转化成基于Mel频率的非线性频谱,最后转换到倒谱域上。线性预测倒谱系数(LPCC)参数的优点是计算量小,对元音有较好的描述能力,其缺点在于对辅音的描述能力较差,抗噪声性能较差。而美尔频率倒谱系数(MFCC)因为模拟了人的听觉特性,且没有任何前提假设。由于汉语孤立词的识别过程中对辅音需要有很高的分辨力,同时MFCC参数具有识别性能和抗噪能力,所以,在汉语语音识别中MFCC参数的性能优于LPCC参数,文中所采用的是美尔频率倒谱系数(MFCC)。2.3.3 美尔频率倒谱系数(MFCC)基本原理美尔频率倒谱系数(MFCC)是基于人体人耳昕觉特征,并将语音与之结合的一种特征参数。对于不同频率的语音信号,人耳有不同的感知能力,实验发现,语音信号频率在1000Hz以下,人耳的感知能力与语音频率成线性关系,在1000Hz以上,人耳的感知能力与语音频率成对数关系。因此,人们为了表达这两种特殊的不同的对应关系,引出了美尔(Mel)频标的概念,即1000Hz的感知程度的1/1000为1Mel,对应的关系如下: (2-10) 其中为频标,为语音信号频率。在实际语音信号处理中,MFCC的计算过程较复杂,步骤较多,MFCC的基本步骤如图2-4:图2-4 MFCC计算步骤下面详细介绍MFCC具体的计算过程:(1)先对语音信号预处理:预加重、分帧加窗、端点检测;(2)通过快速傅里叶变换将预处理后的每一帧语音信号转化为频域信号,并计算短时能量谱:= (2-11)(3)通过一组(取24个)按Mel频标分布的三角带通滤波器得到滤波器,将关系转化为: (2-12)(4)能量谱通过Mel滤波器可以计算其输出,取帧的算法是以中心频率为基线在1000Hz上下范围各取12个: (2-13)其中表示K个Mel滤波器组,k表示第k个滤波器,K表示滤波器总个数。的定义如下: (2-14)(5)滤波器组输出后,再用DCT离散余弦变换,便可求得MFCC系数 (2-15)由于标准倒谱参数设定不同帧的语音不相关,所以只能得到他们的静态参数,但是实际上,他们是相关的,而且在变化时是连续的,为此引入一阶差分Mel倒谱参数: (2-16)其中c,d为一帧语音参数,k为常数。一般将MFCC参数与差分参数合成一个向量作为一帧语音信号的特征参数9。2.3.4 模板匹配模板匹配法是多维模式识别系统中最常用的一种相似度计算方法。在训练过程中,经过特征提取和特征维数的压缩,并采用聚类方法或其他方法,针对每个模式类各产生一个或几个模板,识别阶段将待识别模式的特征矢量与各模板进行似度计算,然后判别它属于哪个类。这种模板匹配法也适合语音识别时进行的相似度计算,但语音识别在特征维数方面存在一个时间对准问题,是通常模式识别匹配计算时不具备的一些特殊情况。孤立词识别时,每个类是一个词,每词由一个或多个音素构成。在训练或识别过程中,每次说同一个词时,不仅其持续时间长度会随机地改变,而且各个词的各音素或类音素的相对时长也是随机变化的。因此在匹配时如果只对特征矢量序列进行线性时间规整,其中的音素或类音素就可能对不准。而应该采用某种非线性时间对准算法。动态时间规整(Dynamic Time Warping,简称DTW)就是效果最好的一种非线性时间规整模板匹配算法,它是语音识别中一种很成功的匹配算法。不同的人所发的语音信号其模式有很大的差异即使是同一个人在不同的时间由于方法不同,会产生声音速度不同及其他语音特征参数的变化。在模式匹配时,由于这些变化会影响测度的估计,从而使识别率降低。为了提高识别率,首先要把语音信号的起始点检测出来。其次,为了提高识别率,为了克服两次同样的语音而发音时间长短的不同,采用对标准模式的语音信号均匀地伸长或缩短直到它与未知语音信号长度相一致。这种方法能达到的识别精度完全取决于端点检测的精度。2.3.5 失真度的测试及相似度匹配计算失真度是衡量相似性的基本准则和标准,选择好失真度对系统的性能和品质有至关重要的影响。相似度的匹配计算,也可以称为相似性的度量。就是指利用常用的矢量量化、动态时间规整、隐马尔可夫模型10、神经网络等方法与事先设置好的计算机参考模型进行对比计算。为了进行相似性的度量,我们将特征模板库中的各个模板称之为参考模板,用来表示;将待处理的输入语音经过预处理以及特征提取以后得到的特征矢量序列称之为测试模板,用来表示。参考模板可以表示为:,其中为参考模板所包含的语音帧的总数,为语音帧的时序标号,为第帧的语音特征矢量。测试模板可以表示为:,其中为测试模板所包含的语音帧的总数,为帧的时序标号,为第帧的语音特征矢量。计算测试模板和参考模板的相似度,可以计算他们之间的失真,失真越小对应的相似度越高。测试模板和参考模板之问的总体失真表示为。为了计算这一失真,应从、中的每个对应帧的失真算起,假设、分别为、中任意选择的帧号,则这两帧之问的帧失真相应的就可以用来表示。对于特征矢量之间的失真度,有多种度量的方法。为了简单和便于处理,通常用欧氏距离(欧基里德距离)或其变形来进行度量。下面的公式给出了利用欧氏距离度量的失真度计算方法: (2-17)其中和为帧和对应的特征矢量,为特征矢量的维数。计算总体失真,需要考虑模式帧数是否相等的情况:(1),这时可以依次计算各个帧之间的失真并求取和,即可求得总失真。(2),这时需要将其中帧数较小模式的用扩张的方法映射到较大的帧序列上,或者将其中帧数较大模式用压缩的方法映射到较小的帧序列上,然后在分别计算新的各帧的失真,从而求得总失真。例如假设,那么可以将,用线性扩张映射为一个N帧序列,在计算后者与之间的总失真,这时计算可按第一种情况逐帧进行。线性扩张映射的计算公式如下: (2-18)从上面的(2-18)计算关系我们可以看出,线性映射虽然在计算总失真的方法上有了 明显的提升,但是并未反映语音段落在不同情况下的时间的变化,处理的效果不是最佳的。为了将不同长度的模式进行对准,而且尽可能小地引入误并从而达到最佳效果。为了将不同长度的模式进行对准,而且尽可能小地引入误差从而达到最佳地效果,可以采用动念规划(Dynamic Programming,DP)的方法。下面所要介绍的动态时间规整算法即是一种有效的时间对准算法。2.3.6 动态时间规整(DTW)基本算法动态时间规整(DTW)算法是基于最近邻的动态时间规整算法,该算法引用了非线性时间对准算法,从而解决了由于人体发音的长短不同的问题,是效果最好、使用最为广泛的模板匹配算法,特别是在孤立词的语音识别的成功应用。更由于这种算法具有识别率高、数据量小、分析速度快的优点,使得DTW成为孤立词识别系统的一种主流算法。说话人对同一个词的两个发音不可能完全相同,这些差异不仅包括音强的大小、频谱的偏移,更重要的是发音时音节的长短不可能完全相同,而且两次发音的音节往往不存在线性对应关系。考虑到语音识别的过程中,用户进行训练或者识别时,即使每次尽量以同样的方式说同一个词汇,其持续时间的长度也会随机改变,而且每个词内部各个部分(比如元音、辅音)的相对时长也是随机改变的。因此,如果直接用特征矢量序列的模式束进行相似性的比较,其效果不是最佳的。需爱对特征参数序列重新进行时问的校准,采用动念时间规整(DTW)方法可以有效地解决这个问题。在用DTW算法进行识别判决时,由于测试语音与参考模式语音长短不同,因此需要通过DTW动态计算两个长度不同的模式之间的相似程度,或者叫做失真距离。假设测试和参考模板分别用T和R表示,它们之间的相似度用它们之间的距离来度量,距离越小相似度越高。为了计算这一失真距离,要从和中各个对应帧之间的距离算起。设和分别是和中任意选择的帧号,表示这两帧特征矢量之间的距离。在DTW算法中通常采用欧式距离。图2-5 DTW算法假设路径通过的格点依次为,其中 ,。路径可以用函数来描述,其中,。为了使路径不至于过分倾斜,约束斜率在0.52的范围内。求最佳路径的问题即为: (2-19)其中为最佳路径函数。 (2-20)其中的由下式决定:= (2-21)从,开始往下搜索,再搜索.,对每一个都存储相应的前一格点及相应的帧匹配距离。搜索到时,只保留一条最佳路径。由于DTW不断地计算测试矢量与模板矢量的距离以寻找最优的匹配路径,所以得到的两矢量匹配是累计距离最小的路径函数,这保证了它们之间存在最大的声学相似特性。2.3.7 动态时间规整(DTW)高效算法DTW的基本算法虽然简单方便,但是运算量相对较大。实际匹配中,匹配的路径已经规定了路径的斜率,许多交叉点式该路径到达不了的。在这个平行四边形区域外的交叉点是不需要考虑在内的,因此,也不需要保存所有帧的匹配距离矩阵。DTW的高效算法的主要目的在于提高运算效率,在实际计算过程中,将路径主要分成了3个部分:。其中,和为整数。分成的三部分在网络中的关系如图所示。其中,M和N满足,。若超出此范围则不能匹配,X轴与Y轴的信号帧相比较,得出,的计算公式: (2-22)图2-6 DTW高效算法路径关系当时,分成的三部分为,。在这种情况下X轴和所要比较的Y轴上的帧数会出现不同,积累距离如下: (2-23)其中,D表示累积距离,d表示帧匹配距离。动态时间规整(DTW)算法结构简单,识别率高,而DTW的高效算法除了具备这些优点外,更是有运算量小、鲁棒性高、精确度更高的特点11。3 语音识别系统硬件电路通常在语音识别系统中,编程软件基本使用C语言和汇编语言相结合的编程方法,硬件电路则会根据系统的具体性能要求、实现功能、投入成本的不同会采取不同的方案来实现。一般来说,基于单片机的语音识别系统价格便宜,但是功能性不强,实用性不高;基于PC的语音识别系统体积过大,使用不方便;而基于DSP的语音识别系统实用性强、稳定性高、片内资源丰富、易于移植,是一种比较理想的实现语音识别的硬件平台。图3-1 特定人孤立词识别系统硬件结构图该系统以TMS320VC540212为核心电路,对特定人孤立词语音信号进行采集和处理,ADC为VC5402的模拟接口电路,包括放大、滤波和A/D转换电路,把有话筒采集进来的模拟语音信号,转换成数字语音信号。其中SRAM和Flash分别为VC5402的数据存储器和程序存储器。模式控制部分由按键控制训练输入模式和识别模式的选择;CPLD完成DSP的外部存储器寻址和控制模块的逻辑控制。控制电路为该系统的后续电路,可以是一个电器的开关,门锁开关等。看门狗电路监控电路中电压的稳定性以及CPU的工作状态。该硬件的工作过程如图3-2所示:图3-2 系统硬件工作过程3.1 芯片3.1.1 DSP芯片DSP(digital Signal processor)指的是数字信号处理器,也称为DSP芯片,是一种专门用于数字信号处理的微处理器。DSP的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,采用流水线操作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。根据数字信号处理的要求,DSP具有一些主要特点:在一个指令周期内可完成一次乘法和一次加法;程序和数据空间分开,可以同时访问数据空间和程序空间;片内具有快速RAM,通常可通过独立的数据总线同时访问两块芯片:具有低开销或零开销循环及跳转的硬件支持;具有在单周期内操作的多个硬件地址产生器;快速的中断处理和硬件I/O支持;可以并行执行多个操作,支持流水线操作,取指、译码和执行等操作可以流水执行。DSP是一种特殊的专用微处理器,是高性能系统的核心。不仅具有可编程性,而且其实时运行速度远远超过通用的微处理器,其特殊的内部结构、强大的信息处理能力以及较高的运行速度,是DSP最重要的特点。3.1.2 TMS320VC5402芯片TMS320VC5402(简称VC5402)是TI公司的C54X家族的成员之一,它是基于先进的改进哈佛结构的16位定点DSP,拥有一条程序总线和三条数据总线。片内集成有一个具有高度并行性的算术逻辑单元(ALU)、专有硬件逻辑、片内存储器和片内外设等几部分。其主要特征如下13:1先进的多总线结构:三条16位数据总线和一条程序总线;240位桶形移位器和40位累加器:3可寻址1M16bit的程序空间;44K16bit的片内ROM和16Kxl6bit的片内RAM;5片内外设包括:软件可编程的等待状念发生器软件可编程的锁相环(PLL)两个多通道缓冲串口(McBsP)增强型8位主机接口(HPl8)两个16位定时器六通道DMA控制器6软件设置进入省电模式;7指令周1ns(10MIPS);8内核电压1.8V,I/O电压3.3V。片内可屏蔽ROM中固化有启动装载程序(BOOTLOADER)和中断向量表等。系统上电时,BOOTLOADER自动把用户代码从外部搬移到程序空问。复位后,中断向量表可被重新映射到程序空问的任何页(128字)的开始处。为了和慢速的外设打交道,VC5402提供了等待状态发生器。通过软件设置等待周期的个数,不仅降低了系统硬件设计的复杂性,而且为系统带来了很大的灵活性。C5402片内集成了软件可编程的锁相环时钟电路,它只需要一个参考时钟输入,就可以得到31种不同频率的输出时钟,最大的乘率因子(在寄存器CLKMD中设置)为14,最小的为0.25。这样,一方面可利用较低频率的外部时钟源产生较高频率的CPU时钟,另一方面在不工作时可降低CPU时钟频率到外部频率的1/4,从而降低了CPU的功耗。一个高性能的语音识别系统,首先要保证实用、可靠和稳定,另外系统成本也在考虑的范围内。3.2 电源电路由于系统中DSP芯片内核电压与外围供电电压不同,内核电压为1.8V,外部供电电压为3.3V,为同时满足两种不同电压同时供电,系统采用TPS767D318电源芯片供电,为系统板分别提供3.3V和1.8V,它的输入为5V直流电源,双开漏电复位的200ms延迟。这里采用了TPS767D318的电路,具体电路如图3-3所示: 图3-3 TPS767D318电路图3.3 语音信号采集电路和DSP接口语音信号采集电路是语音识别系统中的核心部分,其作用是将语音信号采集提供给DSP,为DSP处理语音信号做好准备。3.3.1 TLV320AIC23TLV320AIC23是TI公司推出的一款高性能立体声音频编解码器,内部含有耳机输出放大器,可以选择linein和mic等不同输入方式。该器件中数/模转换器和模/数转换器都集成在芯片内部,可在8KHZ至96KHZ的采样率下提供16bit到32bit四种不同的采样数据。同时,TLV320AIC23还具有很低的功耗,回放模式为23mW,节电模式仅为151xw。因此,TLV320AIC23是一款实用性非常高的音频编解码器。TLV320AIC23通过外部处理器对其内部寄存器进行编程配置,其配置接口支持SPI总线接口和I2C总线接口。数据传输格式支持右判断模式、左判断模式、12C模式和DSP模式4种方式。其中DSP模式专门针对TI的DSP设计14。C5402的多通道缓冲串口McBSP可以按照SPI总线接口模式配置,该模式下其串行数据传输格式与AIC23的DSP模式下的格式兼容,此外,这两款芯片的I/0电压兼容,从而使得二者可以无缝连接,中间也无需进行电压转换,二者的连接也非常的简单方便。(1)TLV320AIC23和数字模块连接方式AIC23的数字音频接口支持I2S模式,也支持DSP Mode模式,设计采用后一种连接方式,传输数据的时序图如图3-4所示,帧同步信号下降沿触发器数据发送,发送的数据长度和位数由寄存器设置。图3-4 DSP模式数据时序图(2)TLV320AIC23配置接口的连接AIC23的配置接口支持I2C模式,也支持SPI模式。设计中用到的方法是利用DSP的一个McBSP用SPI模式跟AIC23连接,配置寄存器时序图如图3-5所示,在CS#的下降沿AIC23锁存进数据,在CS#的上升沿将数据锁存进寄存器。图3-5 SPI模式配置时序图(3)TLV320AIC23的控制寄存器及地址:表3-1 TLV320AIC23的控制寄存器地址寄存器0000000LINE IN左声道音量控制寄存器0000001LINE IN右声道音量控制寄存器0000010耳机左声道音量控制寄存器0000011耳机右声道音量控制寄存器0000100模拟通道控制寄存器0000101数字通道控制寄存器0000110省电控制寄存器0000111数字接口格式寄存器0001000采样率寄存器0001001数字接口激活寄存器0001010Reset寄存器3.3.2 DSP和TLV320AIC23接口VC5402提供了两个增强型的高速、全双工多通道缓存串行口MsBSP,具有全双工的通信机制以及双缓存的发送寄存器和二缓存的接收寄存器,允许连续的数据流传输,数据长度可以为8,12,16,20,24,32,同时还提供了A律和律压扩,多达128个通道的发送与接收。MsBSP通过相应的引脚使得一个数据通路和一个控制通路与外部设备相连。MsBSP的引脚如下15:(1)DX:发送引脚,与MsBSP相连发送数据(2)DR:接收引脚,与接收数据总线相连(3)CLKX:发送时钟引脚(4)CLKR:接收数据引脚(5)FSX:发送帧同步引脚(6)FSR:接收帧同步引脚VC5402和AIC23的引脚连接示意图如图3-6所示。DSP对AIC23控制寄存器的配置由McBSP1完成,两个芯片之间的语音数据的传输由McBSP0完成,数据交换时序图如图3-4,寄存器配置时序图如图3-5。图3-6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论