欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于MATLAB的语音信号的端点检测毕业论文.doc

    • 资源ID:3938840       资源大小:561.50KB        全文页数:24页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于MATLAB的语音信号的端点检测毕业论文.doc

    基于MATLAB的语音信号的端点检测 摘要:语音端点检测是指从一段语音信号中准确的找出语音信号的起始点和结束点,它的目的是为了使有效的语音信号和无用的噪声信号得以分离,因此在语音识别、语音增强、语音编码、回声抵消等系统中得到广泛应用。目前端点检测方法大体上可以分成两类,一类是基于阈值的方法,另一类方法是基于模式识别的方法,本文主要对基于阀值的方法进行研究。端点检测在语音识别中占有十分重要的地位,直接影响着系统的性能。本文首先对语音信号进行简单的时域和频域分析及预处理,其次利用基于短时能量和短时过零率的双门限算法进行语音端点检测,并对这几种用这种算法进行端点检测,进行实验分析,分析此方法的优缺点。关键词:语音信号处理;语音端点检测;双门限;短时能量;短时过零率Voice signal endpoint detection based on MATLABAbstract:Endpoint detection is a voice signal from the accurate speech signal to the identify start and the end points, the purpose is to enable to separated the effective voice signals and un-useful noise. So, in the speech recognition system, speech enhancement, speech coding, echo cancellation and other systems are widely used.In Current the endpoint detection can be roughly divided into two categories, one is based on the threshold method, another method is based on the method of pattern recognition , the main in this paper is based on the method of threshold method. The Endpoint detection is take a very important position in the speech recognition, it directly affects the performance of the system. In this article first domain analysis in simple speech signal time, than dual threshold algorithm, cepstrum algorithm, spectral entropy algorithm for endpoint detection, and these types of endpoint detection algorithms, and experimental analysis points and analysis the advantages and disadvantages of this method. Key word:Signal processing; voice activity detection; double threshold; Short-time energy ;The rate of short-time zero-passing 1.绪论语音,即语言的声音,是语言符号系统的载体。它由人的发音器官发出,负载着一定的语言意义,语言依靠语音实现它的社会功能。语音是人们交流思想和进行社会活动的最基本手段,因此我们要对语音信号进行处理分析,优化人类通信交流。语音信号处理包括语音通信、语音增强、语音合成、语音识别和说话人识别等方面。语音信号的好坏、语音识别率的高低,都取决于语音信号处理的好坏。因此,语音信号处理是一项非常有意义的研究课程,而语音端点检测是语音语音信号处理中非常重要的一步。语音端点检测是语音分析、合成和识别中的一个重要环节,目的是从包含语音的一段信号中找出语音的起始点及结束点,从而只存储和处理有效语音信号。所谓语音端点检测,就是从一段给定的语音信号中找出语音的起始点和结束点。在语音识别系统中,正确、有效的进行端点检测不仅可以减少计算量和缩短处理时间,而且能排除无声段的噪声干扰、提高语音识别的正确率。研究表明1,即使是在安静的环境下,语音识别系统一半以上的错误可能主要来源于端点检测。除此之外,在语音合成、编码等系统中,高效的端点检测也直接影响甚至决定着系统的主要性能。因此,端点检测的效率、质量在语音处理系统中显得至关重要,广泛开展端点检测实现手段方面的研究,有一定的现实意义2。有效的端点检测不仅可以减少数据的存和处理时间,而且能排除无声段的噪声干扰。端点检测的困难在于无声段或者语音段前后人为呼吸等产生的杂音、语音开始处的弱摩擦音或弱爆破音以及终点处的鼻音,这些使得语音的端点比较模糊,需要综合利用语音的各种信号特征,从而确保定位的精确性,避免包含噪音信号和丢失语音信号。近年来出现了很多种端点检测的方法如短时能量、短时过零率、传统的双门限法、倒谱特征的检测方法、谱熵的检测方法法、分形法等。本文借助MATLAB3采用短时能量和短时过零率结合的双门限法语来进行语音端点检测,此算法在纯语音和高信噪比的情况下都检测得比较好,但在低信噪比下检测结果就不尽人意。尽管语音端点检测技术在安静的环境中已经达到了令人鼓舞的准确率,但是在实际应用时由于声的引入和环境的改变通常会使系统性能显著下降。研究表明,即使在安静的环境中,语音识别系统一半以上的识别错误来自端点检测器。因此,作为语音识别系统的第一步,端点检测的关键性不容忽视,尤其是噪声环境下语音的端点检测,实验室的研究结果与复杂的实用环境下的语音端点检测仍存在一定的差距,它的准确性很大程度上直接影响着后续的工作能否有效进行,如何准确地检测出带噪语音的端点至今仍是一个难题。1.1 研究背景及意义语音4是语言的声学表现形式,语言是人类特有的功能,声音是人类常用的信息交语言学、声学、生理学、心理学和数学等诸多领域的内容。随着现代科学的蓬勃发展,人类社会越来越显示出信息社会的特点,犹如衣、食、住、行对于人类是必要的一样,通信和信息交换也成为了人类社会存在的必要条件,不但在人与人之间,而且在人与机器之间每时每刻都需要进行大量的信息交换。让计算机听懂人类的语言,是人类自计算机诞生以来梦寐以求的想法。计算机越来越向便携化方向发展,计算环境的日趋复杂化,人们越来越迫切要求摆脱键盘的束缚。在电子计算机和人工智能机器的广泛应用中,人们发现,人和机器之间最好的通讯方式是直接进行语言通讯,实现人机自由对话,赋予机器以听觉,辨别话音的内容或者辨别说话人的身份,使机器能够按照人的意志进行各种操作,把人类从繁重或危险的劳动中解脱出来。用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、获取和应用语音信息,这对于促进社会的发展十分重要。语音技术的应用己经成为一个具有竞争性的高新技术产业,它正在直接与办公、交通、金融、公安、商业、旅游等行业的语音咨询与管理,工业生产部门的语声控制,电话、电信系统的自动拨号、辅助控制与查询以及医疗卫生和福利事业的生活支援系统等各种实际应用领域相接轨,并且有望成为下一代操作系统和应用程序的用户界面。语音处理内容涉及到计算机科学、模式识别、信号处理、生理学、语音学、心理学等学科,还涉及到信号和信息处理系统、通信和电子系统等具体应用领域。多媒体技术的发展,使语音技术逐渐在越来越多的场合中推广使用,语音信号处理技术发展迅速,其研究成果具有重要的学术及应用价值,涉及一系列前沿课题。语音信号处理与信息科学中最活跃的前沿科学密切联系,并且共同发展。例如,神经网络理论、模糊集理论、小波理论是当前热门的研究领域,这些领域的研究常常把语音处理任务作为一个应用实例,而语音处理研究者也从这些领域的研究进展中找到突破口,使语音处理技术研究取得进展5。从技术角度讲,语音信号处理是信息高速公路、多媒体技术、办公自动化、现代通信及智能系统等新兴领域应用的核心技术之一。经过几十年的努力,语音信号处理在语音识别、语音增强、语音编码、说话人识别、说话人情感识别、语音合成等方面取得了巨大的进步,然而,一旦这些技术应用在实际环境中,由于环境噪声、信道、说话人自身因素等方面的影响,性能急剧下降,因为在实际环境中没有完全纯净的语音信号,一般都会伴有噪声或其它干扰。例如,办公室环境下,电脑风扇转动的声音,键盘敲打的声音等都是噪声,而语音信号处理系统的处理对象是有效语音信号,即排除了纯噪声段的语音信号段。语音端点检测6的任务就是判断待处理信号是语音还是非语音,从输入信号中找到语音部分的起止点。端点检测是语音识别、语音增强以及语音编码等中的一个重要环节。有效的端点检测技术不仅能减少系统的处理时间、提高系统的处理实时性,而且能排除无声段的噪声干扰,从而使后续工作的性能得以较大提高。语音端点检测的准确性对于语音识别系统的性能有着较大的影响。在一个完整的语音识别系统中,许多相关因素影响着整个系统的识别精度和效率,由于在自然环境中,纯净的语音信号总伴随着各种不同类型的噪声,而语音识别系统处理的对象是有效的语音信号,因此,由于噪声的干扰,往往使得整个系统的识别率下降,有学者用一个多话者的数字识别系统做了如下一个实验。首先对所有记录的语音用手工找出准确的端点,得到它们的识别率;然后逐帧(帧长为15ms)加大端点检测的误差,在每次加大误差的同时得到它们的识别率。结果表明在端点检测准确时识别率为93%的系统,当端点检测的误差在士60ms(4帧)时,识别率降低了3%;在士90ms(6帧)时,降低了10%;而当误差在进一步加大时,识别率急剧下降。研究表明,即使在安静环境下语音识别系统中一半以上的识别错误都是因为语音端点检测的不准确所造成的。所以,对于语音识基于强背景噪声下的语音端点检测算法及实现别系统来说,有效的端点识别不仅能够减轻系统的运算负载,使得处理时间减少,提高了系统的实时性,而且能够去除静音时背景噪声的干扰,从而大大提高系统的识别性能。因此,从混有不同噪声的信号中准确提取纯净的语音信号就成了语音识别系统中的一个重要的环节。另外在通信系统中,典型的会话信道大约有40%的时间真正用于传输语音,其余60%的时间传输的都是静默和背景噪声。由于可利用的频谱资源随着移动用户的飞速发展而急剧下降。如何开发其余60%被浪费的信道资源就成为了提高系统容量的有效手段之一。如果在发送端设立一个语音端点检测器来区分语音和静默以及背景噪声,在接收端用舒适噪声发生器来重构背景噪声,这样就可以极大的提高信道的利用率,而且也能保证重构语音的可懂度和自然度,因此准确的语音端点检测是非常重要的。1.2 语音端点检测研究现状及存在的问题语音端点检测和语音增强不同,它的任务是判断待处理信号是语音还是非语音。语音端点检测作为一种语音信号预处理技术,在实际应用中起着非常重要的作用,有效地进行端点检测不仅可以减少计算量和缩短处理时间,而且能排除无声段的噪声干扰、提高语音识别的正确率,因此它广泛应用于语音识别、语音增强、语音编码、回声抵消等系统中。而语音增强的目的是在语音和干扰中增强语音部分,同时抑制干扰,对语音检测的研究最早可以追溯到上个世纪的50年代。当时是在一个实时语音翻译系统中,为了解决语音段和无语音段的检测问题而提出来的。那时的算法名称叫VAD(Voice Aotivity Detection),指的是将语音段和无语音段分开的处理过程。传统的语音端点检测算法都是针对实验室安静环境,直到近年来,噪声环境下的语音端点检测才开始研究。开发出了许多不同的算法,有基LPC倒谱距离的算法,自相关系数,基于能量、基音检测、过零率和频能比等各种语音特征的算法,基于自适应模型的算法,基于倒谱分析的算法等。各有不同的延时、敏感度和运算量,这在实验室环境下己经得到了很好的效果。但是当环境背景噪声存在的情况下,传统的检测算法都会因为受到污染而造成严重的误判和漏判。 一般来说,理想的语音端点检测算法应当能够满足以下几点:(1)门限值应该可以对背景噪声的变化有一定的适应性。(2)将短时冲击噪声和人的顺嘴等瞬间超过门限的信号纳入无声段而不是有声段。(3)对于爆破音的寂静段,应将其纳入语音的范围而不是无声段。(4)应该尽可能避免在检测中丢失鼻韵和弱摩擦音等与噪声特性相似、短时参数较少的语音。(5)应该避免使用过零率作为判决标准而带来的负面影响。这几点可以总结为:可靠性,鲁棒性,精确性,自适应性,实时性和对噪声特征无需先验知识。在所有这些特征中,鲁棒性是最难达到的。因此,如何在噪声环境下设计一种鲁棒的端点检测算法是一个非常棘手的问题。传统算法中大都根据语音信号的时域特征,如基于能量和短时过零率等,在较强噪声环境下,人类语言中的清音和摩擦音往往和背景噪声混合在一起,无法准确的分辨出语音和噪声的端点,容易发生漏检和虚检的情况。另外由于汉语词语的特殊性,音节的末尾大都是浊音,只用短时能量就能较好地判断一个词语的末点。而音节的起点声母大多都是清声母,还有送气与不送气的塞音和塞差音,当背景噪声较大时,清音电平与噪声电平相差无几,将它们与环境噪声分辨是比较困难的,这也是双门限法的不足之处。现有的算法存在的主要问题有两点:一、在具有较强噪声的环境下,语音端点检测往往存在着大量的误判,不利于后续的处理过程;二、在高噪声的环境下不能有效的检测出语音信号段,造成了有效信息的丢失。以上两个问题也得到了广大研究者的重视,进几年来,研究者们经过了不懈的努力,提出了各种区别语音和噪声的特征参数,用来提高算法的抗噪声性能,或是将几种特征组合成一个新的特征参数来进行端点检测,而对语音端点的判决也由原来的单一门限发展到多门限以至于自适应门限,使得算法精度不断得到提高。1.3 本文主要研究内容由于语音端点检测是语音识别和语音增强等语音处理重要的一步,语音端点检测的好坏直接影响到下一步工作的进行,所以本课主题要研究语音起点和终点的检测,以短时能量和短时过零率相结合的双门限语音端点检测算法进行语音端点检测。 2语音信号处理2.1 语音信号特点语音信号是随时间变化的一维信号,由一连串的音组成,各个音的排列有一定的规则。语音具有声学特征的物理性质,声音质量与它的频率范围有关,语音信号的频率一般是在200Hz3500Hz范围内,随着带宽的增加,信号的自然度将逐步得到改善。语音信号本身的冗余度是较大的,少数辅音清晰度下降并不明显影响语句的可懂度,比如通常的模拟电话带宽只有3KHz4KHz。语音信号的特性是随时间变化的,所以是一种典型的非稳态信号。但是,从另一方面来看,由于语音的形成过程与发音器官的运动密切相关,这种物理运动比起声音振动速度来讲要缓慢得多,因此,语音信号常常可假定为短时平稳的。研究表明,在5ms-40ms的范围内,语音信号的频谱特性和一些物理特征参数基本保持不变。这样,我们就可以将平稳过程的处理方法和理论引入到语音信号的短时处理中。因此,“短时分析技术”贯穿于语音分析的全过程。2.2 语音信号预处理为了消除因为人类发声器官本身和因一些采集语音信号的设备等所引起的混叠、高次谐波失真现象,在对语音信号进行分析和处理之前,必须对其进行预处理。语音信号的预处理应尽可能地保证处理后得到的信号更均匀、平滑,且能提高语音的质量。2.2.1预加重在进行语音信号数字处理时,为了获取一段语音信号的时域波形,首先要将语音信号转换成电信号,再用A/D转换器将其变换为离散的数字化采样信号。己经数字化的语音信号将依次进入一个数据区。由于语音信号的平均功率受声门激励和口鼻辐射影响,高频端大约在800Hz以上按6dB/倍频程跌落,即6dB/oct(2倍频)或20dB/dec(10倍频),所以求语音信号频谱时,频率越高相应的成分越小,高频部分的频谱比低频部分的难求,为此要在预处理中进行预加重处理。目的是提升高频部分,使信号变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,而且预加重零点与辐射零点将抵消声门波的影响,使语音信号中只包含声道部分,以便于频谱分析或声道参数分析。图2.1表明了语音预处理的过程采样量化预加重加窗分帧算法处理语音图2.1 语音信号的预处理预加重一般是在语音信号数字化之后,用具有6dB/倍频程的提升高频特性的预加重数字滤波器来实现,它一般是一阶的数字滤波器: (2-1)式中的取值接近于1。有时要恢复原信号,需要从做过预加重的信号频谱来求实际的频谱时,要对测量值进行去加重处理,即加上6dB/倍频程的下降的频率特性来还原成原来的特性。2.2.2加窗分帧语音端点检测首先要进行分帧处理,然后依次判断每一帧是否为语音的端点。在端点检测时如果采用较大的窗长,则帧长长,帧数少,这样计算量会小些,而且进行端点检测时速度也会快些,但是这样端点检测的误差容易增加。如果采用较小的窗长,则计算量增加,语音识别的速度会降低。我们可以在语音静音段时,采用较长的窗 ;在语音和静音的过渡段时采用较小的窗 ,可以确切判断语音的起始点 ;一旦确定语音的起点,就改用常规窗长。在进行了预加重后,接下来就要对语音信号进行加窗分帧处理。将语音信号划分为许多短时的语音段,每个短时的语音段称为一个分析帧。帧和帧之间既可以连续,也可以重叠。另外,由于不同语音信号的基音周期不同,在女性儿童的2ms到老年男子的14ms之间变化,为了兼顾男声和女声的最高和最低基音频率,且能准确地描述语音能量自身的实际变化规律,通常将窗宽选为10ms20ms。图2.2 帧长和帧移如图2.2所示分帧一般采用交叠分段的方法,这是为了使帧与帧之间能平滑过渡,保持其连续性。前一帧和后一帧的交叠部分称为帧移,帧移与帧长的比值一般取为00.5之间。分帧是用可移动的有限窗口长度进行加权实现的,即用窗函数7乘以语音信号s(n),从而形成加窗的语音信号: (2-2)由于窗函数一般取为S(n)中间大两头小的光滑函数,这样的冲激响应所对应的滤波器具有低通特性,其带宽和频率取决于窗函数的选取。用得最多的三种窗函数是矩形窗、汉明窗(Hamming)和汉宁窗(Hanning),它们的定义如下:矩形窗: (2-3)汉明窗: (2-4)汉宁窗: (2-5)式中N为窗长,窗函数的选取(形状和长度)对于短时分析参数的特性影响很大,为此应该选择合适的窗口,使其短时参数能更好地反映语音信号的特性变化。以上这些窗函数的幅度频率响应都具有低通特性,它们的主瓣宽度和旁瓣高度如表2-1所示。表2-1 1s长的各种窗的主瓣宽度和旁瓣高度矩形汉明汉宁主瓣宽度0.81Hz1.19Hz1.87Hz旁瓣宽度-13dB-43dB-32dB从表中可知:矩形窗的主瓣宽度最小,但其旁瓣高度最高;汉明窗的主瓣最宽,而旁瓣高度最低。矩形窗的旁瓣太高,会产生严重的泄漏现象(Gibbs),所以只有在某些特殊场合中采用。汉明窗旁瓣最低,可以有效地克服泄漏现象,具有更平滑的低通特性,因此,一般在语音信号预处理中,都选用汉明窗来进行语音分帧处理。2.3 语音信号分析语音信号处理包括语音识别、语音合成、语音编码、说话人识别等方面,但是其前提和基础是对语音信号进行分析。只有将语音信号分析成表示其本质特性的参数,才有可能利用这些参数进行高效的语音通信,以及建立用于识别的模板或知识库。而且,语音识别率的高低,语音合成的音质好坏,都取决于对语音信号分析的准确性和精度。2.3.1短时时域分析语音信号本身就是时域信号,因此,时域分析方法是应用最为广泛的一种方法,这种方法直接利用语音信号的时域波形。时域分析通常用于最基本的参数分析以及用于语音的分割、预处理等。语音信号的时域参数有短时能量、短时平均幅度、短时过零率、短时自相关函数等,这些是语音信号中一组最基本的短时参数,在各种语音信号数字处理技术中都有重要应用。进行语音信号分析时,最先接触到且最直观的就是它的时域波形。时域分析通常用于最基本的参数分析,语音的分割、预处理和大分类。这种分析方法的特点是(1)表示语音信号比较直观、物理意义明确;(2)实现起来比较简单、运算量少;(3)可得到语音的一些重要参数;(4)可采用示波器等通用设备进行观测。取样之后要对信号进行量化,而量化过程不可避免地会产生量化误差,即量化后的信号值与原信号之间的差值。2.3.2频域分析语音信号频域分析,主要是对一些频域的参数进行分析,常用的一些频域参数有频谱、功率谱、倒谱等等,最常用的频域分析方法有傅立叶变换法、线性预测法等。1、傅立叶变换法8傅里叶频谱变换是语音信号频域分析中广泛使用的方法,是分析线性系统和平稳信号稳态特性强有力的手段,对分帧加窗后的语音信号,进行傅里叶变换和逆傅里叶变换,可以相应的得到频谱,功率谱,倒谱距离,嫡等特征。由于语音信号的特性是随着时间缓慢变化,所以采用短时傅里叶变换,相应的求得特征为短时频域特征,这里的窗函数都使用汉明窗。(1)短时频谱和短时功率谱设信号经过傅里叶变换后在频域记为,则与的关系见公式2-6。 (2-6)语音的频谱为的幅度,则有 (2-7)语音的短时功率谱的是幅度的平方,所以短时功率谱的计算方法为 (2-8)2、线性预测法线性预测分析的基本思想是:由于语音样点之间存在相关性,所以可以用过去的样点值来预测现在或未来的样点值,即一个语音的抽样能够用过去若干个语音抽样或它们的线性组合来逼近。通过使实际语音抽样和线性预测抽样之间的误差在某个准则下达到最小值来决定唯一的一组预测系数。而这组预测系数就反映了语音信号的特征,可以作为语音信号特征参数用与语音识别、语音合成等。将线性预测应用与语音信号处理,不仅是因为它的预测功能,而且更重要的是因为它能提供一个非常好的声道模型及模型参数估计方法。线性预测的基本原理和语音信号数字模型密切相关。3语音端点检测算法原理及实验仿真分析3.1 语音端点检测算法原理端点检测最早的应用是在贝尔实验室开发的电话传输和转换系统中,用于通信信道的时间分配,通过语音检测实现在空闲的信道中插入其他人的话音信息。从那以后,各种各样的语音端点检测算法在许多语音指令识别、自动语音识别、说话人认证、远程通讯和语音编码等方面被提出来。通常不同的系统需要不同的算法以满足在精度、复杂度、鲁棒性、敏感性和响应时间等方面的需求。这些方法包括基于能量、过零率、频谱分析、倒谱分析等算法。本文采用基于短时能量和短时过零率结合的双门限法,该方法根据语音信号和噪声信号的不同特征,提取每一段语音信号的特征,然后把这些特征值与设定的阈值进行比较,从而达到语音端点检测的目的。1、基于特征的语音端点检测的算法步骤大致如下 :(1)预处理:包括滤波,预加重,分帧,加窗等,这里要考虑滤波器参数的选择,分帧时帧长长度的选择,加窗窗函数的选择。(2)特征提取:在时域或者频域提取能反映语音本质特征的声学参数,如短时能量,短时过零率等。特征提取目的是将输入信号转化为特征参数,然后利用特征参数进行语音段与无声段的区分。特征提取是语音端点检测的关键问题,特征参数选择的好坏直接影响到语音端点检测的准确率的高低。(3)确定门限:语音段最开始的几帧一般为无声段,根据无声段的特征值大小确定门限值,一般选择较大和较小两个门限值Tmax和Tmin,且Tmin< Tmax,Tmin很容易被超过,数值较小,对信号变化很敏感,Tmax数值较大,语音信号要一定的强度才能超过。 (4)端点检测:确定门限后就可以进行端点检测,根据门限值来区分有语音段和噪声段,得出检测结果。2、语音端点检测流程图语音端点检测流程图如图3.1所示:开始信号特征D无声段D>Tmin过渡段,记录起点 c加15帧内有一帧>Tmax语音段s+D>Tmaxc加1D<minsc>minc记录终点返回Y回N回N回Y回Y回N回YY回N回N回图3.1 语音端点检测流程图3.2 基于短时能量和短时过零率的语音端点检测语音和噪声的区别可以体现在它们的能量上,对于一列叠加有噪声干扰的语音信号而言,其语音段的能量是噪声段能量叠加语音声波能量之和。因此,语音段能量要大于噪声段的能量。如果环境噪声和系统输入噪声比较小,以致于能够保证系统的输入信噪比很高时(即使最低电平语音的能量也比噪声能量要高),那么只需要计算输入信号的短时平均能量或短时平均幅度就能够把语音段和背景噪声区分开来。如图3.2就是在比较纯净的内容为“端点检测” 的原始语音信号用传统的短时能量和过零率的语音端点检测,图中可以很直观的观察到语音的短时能量的大小和其过零率的高低,如图3.2所示:图3.2 语音信号原始波形图和其短时能量和过零率波形图短时能量函数可用来区分清音段和浊音段,值大的对应于浊音段,而值小的对应于清音段。如当语音段的开始和结束都是弱摩擦音、爆破音或语音段末尾是鼻音时,这些音的短时能量一般很小,往往与背景噪声处于相同的电平。在这些情况下,只依靠短时能量来检测语音段的起止点常常会把语音信号起始和末尾的这些音素漏掉。而采用短时能量和短时过零率相结合可以很好的克服检测时可能漏掉的起始和末尾这些音素,从而更好的检测出语音的端点。3.2.1短时平均能量语音和噪声的主要区别在它们的能量上,所以能量是经常使用的音频特征参数,是对语音信号最直观的表示。语音信号一般可分为无声段(静音段)、清音段和浊音段。由于语音是不稳定的,所以我们采用“短时能量”。所谓短时能量9 10,就是先对语音信号进行分帧处理,然后对每一帧分别求其能量。短时能量是随机参数,在无声段,清音段和浊音段,它们分别具有不同的概率密度函数,图3.3给出了短时能量在清音、无声和浊音三种情况下的条件概率密度函数。图3.3 短时能量在清音无声和浊音三种情况下条件概率密度函数示意图从图3.3中可以看出,在三种情况中,浊音的短时能量最大,清音的短时能量次之,无声的短时能量最小。 n时刻某语音信号x(n)的短时平均能量定义为: (3-1)式中,为汉明窗。令,则有: (3-2)式中,为可移动的有限长度的窗函数,用来实现分帧处理,是低通滤波器的单位冲激响应。上式表明,经过窗口加权的短时能量相当于将“语音平方”信号通过一个线性滤波器的输出,这个滤波器的取样响应为。短时能量函数可用来区分清音段和浊音段。值大的对应于浊音段,而值小的对应于清音段。对于高信噪比的语音信号,无语音信号的噪声能量很小,而语音信号的能量显著增大到某一数值,由此可以区分语音信号的起始点和结束点。语音信号的短时平均幅度11定义为: (3-3)和都反映语音信号的强度,但是其特性有所不同。在实际应用中往往很难保证有很高的信噪比,而且在某些特殊情况下,如当语音段的开始和结束都是弱摩擦音、爆破音或语音段末尾是鼻音时,这些音的短时能量一般很小,往往与背景噪声处于相同的电平。在这些情况下,只依靠短时能量或短时平均幅度来检测语音段的起止点常常会把语音信号起始和末尾的这些音素漏掉。因此,Rbainezr提出了在短时能量的基础上结合短时平均过零率的双门限端点检测算法。语音信号的短时能量可用以下几种算法得到: (3-4) (3-5) (3-6)它们分别为绝对值的累加、平方累加和平方的对数的累加12 13,本文采用的是绝对值的累加进行计算的,本文在MATLAB软件中实现求语音短时能量的关键代码为%计算短时能量amp = sum(abs(enframe(filter(1 -0.9375, 1, x), FrameLen, FrameInc), 2);通过MATLAB仿真得出其短时能量值幅度如图3.4所示:图3.4 短时能量波形图从图中可以看出“端点检测”语音信号中语音部分的能量是最高的,而语音部分又分成静音段、清音段、浊音段。短时能量函数可用来区分清音段和浊音段。值大的对应于浊音段,而值小的对应于清音段。对于高信噪比的语音信号,无语音信号的噪声能量很小,而有语音信号的能量显著增大到某一数值,由此可以区分语音信号的起始点和结束点。3.2.2短时过零率短时过零率表示一帧语音信号波形穿过横轴(零电平)的次数14。过零分析是语音时域分析中最简单的一种。对于连续语音信号,过零即意味着时域波形通过时间轴;而对于离散信号,如果相邻的取样值改变符号则称为过零。过零率就是样本改变符号的次数。定义语音信号的短时过零率为: (3-7)其中,sgn为符号函数,即: (3-8)过零率有三类重要应用:第一,用于粗略地描述信号的频谱特性,就是用多带滤波器将信号分为若干个通道,对各通道进行短时平均过零率和短时能量的计算,即可粗略地估计频谱特性。第二,用于判别清音和浊音、有话和无话。第三,区分清音和浊音,对语音信号进行分析,发现发浊音时,尽管声道有若干个共振峰,但由于声门波引起谱的高频跌落,所以其语音能量约集中在3kHz以下。而发清音时,多数能量出现在较高频率上。高频就意味着高的平均过零率,低频就意味着低的平均过零率,所以可以认为浊音时具有较低的过零率,而清音时具有较高的过零率。当然,这种高低仅是相对而言的,并没有精确的数值关系。本文在MATLAB软件中实现求语音短时过零率的关键代码为.%计算过零率tmp1=enframe(x(l:length(x)-l),FrameLen,Framelne);tmp2=enframe(x(2:length(x),FrameLen,Framelne);signs=(tmp1.*tmp2)<0;diffs=(tmp1-tmp2)>0.02;zcr=sum(signs.*diffs,2);和短时能量一样,短时过零率也是随机参数,对应于无声段、清音段以及浊音段,它们分别具有的短时过零率概率函数如图3.5所示。图3.5 短时过零率在清音无声和浊音三种情况下条件概率密度函数示意图对于短时过零率,由于清音的多数能量出现在较高的频率上,因此清音的过零率较高,而浊音语音具有高频跌落的频谱,所以浊音的过零率低,噪声的过零率大小处于清音和浊音之间。短时过零率可以区别语音是清音还是浊音,它还可以从背景噪声中找出语音信号,如下图3.6所示:图3.6 语音信号短时过零率波形图从图3.6中可以看出“端点检测”语音信号的过零率,在语音信号中清音段的过零率情况,图中幅度变化反映了过零率次数的高低。另外,利用短时过零率还可以从背景噪声中找出语音信号,判断寂静无声段和有声段的起点和终点的位置。在背景噪声较小时用短时平均能量识别较为有效,而在背景噪声较大时用短时平均过零率识别较为有效。基于短时能量和短时过零率的双门限语音端点检测方法充分利用能量和过零率的优点,使用过零率检测清音,用短时能量检测浊音,两者配合来进行语音端点检测。这种方法在高信噪比时,能有效的检测出语音信号的端点,但是随着信噪比的下降,检测的准确率下降,特别是在噪声很大时,完全不能检测出语音端点。3.2.3基于短时能量和短时过零率的双门限端点检测原理双门限法是利用短时能量和过零率的乘积进行检测的。在基于短时能量和过零率的双门限端点检测算法中首先为短时能量和过零率分别确定两个门限,一个为较低的门限,对信号的变化比较敏感,另一个是较高的门限。当低门限被超过时,很有可能是由于很小的噪声所引起的,未必是语音的开始,当高门限被超过并且在接下来的时间段内一直超过低门限时,则意味着语音信号的开始。本文采用短时能量和短时过零率相结合的方法, 利用短时能量和短时过零率两个门限来确定语音信号的起点和终点, 目的是从采集到的语音信号中分离出真正的语音信号作为系统处理的对象。该算法的原理简述如下:对上述两种特征作一个统计估计,得到两个门限值,利用短时能量检测浊音,短时过零率检测清音,两者配合从而确定语音的端点。由于采集的声音信号中最初的短时段多为无声或背景噪声,这样就可以利用已知为“静态”的最初几帧(一般取10帧)信号计算其过零率阀值zcr及高、低能量阀值amp2(低能量阀)和amp1 (高能量阀)。过零率公式 15: (3-9)计算amp2和amp1时,首先计算最初10帧信号中每帧的短时平均能量或平均幅度,最大值记为max,最小值记为min。本文在计算短时能量之前,先经过一个滤波器,高通滤波器,此为预加重滤波器,目的在于滤除低频干扰 ,尤其是50Hz或60Hz的工频干扰,将对于语言识别更为有用的高频部分的频率进行提升,在计算短时能量之前应用该滤波器,还可以起到消除直流漂移、抑制随机噪声和提升清音部分能量的效果。其关键代码为amp=sum(abs(enframe(filter(1-0.98,1,x),FrameLen,FrameInc),2)。文中能量门限调整代码为: amp1=min(amp1,max(amp)/4); amp2=min(amp2,max(amp)/8);根据语音信号的实际情况对门限值进行调整,以便更好的对语音端点进行检测。其端点检测的流程如下所述:开始进行端点检测之前,首先为短时能量和过过零率分别确定两个门限amp1、amp2、zcr1、zcr2, 其中amp2、zcr2分别为短时能量和过零率比较低的门限,其数值比较小,对信号的变化比较敏感,很容易就会超过。另外amp1、zcr1是比较高的门限,数值比较大,信号必须达到一定的强度,该门限才可能被超过。低门限被超过未必就是语音信号的开始,有可能是时间很短的噪声引起的。高门限被超过则可以基本确信是由于语音信号引起的。整个语音信号的端点检测可以分为四段:静音、过度段、语音段、结束。程序中使用一个变量status来表示当前所处的状态。在静音段,如果能量或过零率超越了低门限,就应该开始标记起始点,进入过渡段。在过渡段中,由于参数的数值比较小,不能确信是否处于真正的语音段,因此只要个参数的数值都回落到低门限以下,就可以确信进入语音段落。而如果在过渡段中两个参数中的任一个超过了高门限,就可以确信进入语音段了。一些突发性的噪声也可以引起短时能量或过零率的数值很高

    注意事项

    本文(基于MATLAB的语音信号的端点检测毕业论文.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开