登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 电子信息类 > 电子信息工程 > 正文

基于8051单片机的单芯片语音识别系统外文翻译资料

 2022-11-30 04:11  

英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


基于8051单片机的单芯片语音识别系统

石园园、刘佳、刘润生

清华大学电子工程系 100084

电子邮件:shiyyq hannah.ee.tsinghua.edu.cn

摘要:本文介绍了一种单芯片语音识别系统。它包含提示、语音播放、依赖于扬声器的语音识别等语音功能,适合玩具、游戏、消费电子、办公设备等中的语音激励系统。芯片的设计是基于片上系统芯片(片上系统)。一个8位单片机,随机存储器,只读存储器,数模转换/模数转换,脉宽调制,端口和其它外围电路都嵌入其中。包括控制/通信,语音编码和语音识别算法的软件模块用一个 8051兼容的微控制器核心来实现,从而使芯片的花费成本比较低。语音识别采用模板匹配技术。它每秒识别20个字,在输出输入信噪比超过10db的情况下,识别精度高于95%。语音编码采用连续方程的斜率、增量调制(CVSD)算法。比特率是16kbit/s。

1介绍

随着语音压缩/解压缩和语音识别的发展和成熟,语音正成为人机界面的重要形式。这种语音界面正逐渐广泛被用在办公室自动化、工厂自动化和家庭自动化设备中。到目前为止,这些系统都是大规模的。他们采用了语音感知编码的方法来进行语音数据的存储和传输,或能够给出高质量合成的机器应答。并且,语音识别涉及大量连续的语音识别系统,它对自然流畅的人类语言具有高识别能力。因此,这些系统非常优异。与此同时,他们只在电脑平台上是复杂的和被应用的。但显然在一些地方只有简单的机器提示和识别是必需的,例如在玩具,游戏,消费类电子等产品的应用中,具有小能力的提示、识别、播放的低成本系统更优异。此外,如果考虑到功率消耗、尺寸、成本、集成和可靠性的优势,一个单一的芯片语音识别系统是应用于上述语音功能的最好的选择并被广泛应用。

作为人机界面,语音识别系统应提供相互沟通的功能,以方便人们对它的使用。望它将能够“说出”一些提示词来指导识别过程,并当识别过程结束时给出相关的信息;为了能够与其他设备进行通信,它应该有几个标准输入/输出端口。因此,芯片上应包含语音压缩/解压缩、识别和输入/输出功能。此外,最好能基于片上系统设计芯片,即用一个集成的数字和模拟单元的芯片实现整个系统的功能。然后芯片只需要供应电源、麦克风和扬声器来运作,这样的系统具有体积小、成本低和高可靠性的优点。

本文中所描述的语音识别系统是包含语音提示、播放、依靠说话者的相关短语训练与识别功能的单片机系统。这个芯片集成了一个8位微控制器(单片机)的核心、片上随机存储器,片上只读存储器、模数转换/数模转换、带通滤波器、脉宽调制、I/O端口和其他外围电路。单片机核心功能是作为芯片微处理器,它实现了数字信号处理和系统控制。它是兼容标准8051单片机的对象代码。选择8051为核心而不是数字信号处理器为核心是一把双刃剑。最主要的好处是这种以8051单片机为核心的语音识别偏上系统的成本至少比以DSP为核心的系统低十倍,所以它适合于低消费群体。但是,以8051为核心的语音识别系统的数字信号处理过程是有限的以至于无法实现高性能语音识别,甚至小词汇、孤立词识别对它来说都是一个挑战。不仅语音识别算法需要被简化来适应8051的资源限制,而且有效的方法必须克服信道失真和低信噪比的状况等应用系统需要经常面对的情况。这些注意事项将在下面段落中被写到。

本文的其余部分组织如下。在第二节,我们描述片上语音识别的的异构体系结构识别系统。在第三节中,芯片的算法细节将会被描述。在第四节中,我们将给出测试板的评价结果。在最后一节中,我们总结了语音识别系统的性能和应用领域。

2硬件体系结构

要求的语音识别系统具有异构性,它由一个8位单片机核心处理器,512个字节片上随机存储器,8K字节片上只读存储器,72192x6点声音存储矩阵,10字节的模数转换器/数模转换器,一个PWM(脉宽调制),一些数目的I/O口,和其他外围电路。方框图如图1所示。每个模块的细节描述如下。

图1 语音识别系统的方框图

2.1 8位单片机核心

8位MCU的核心是dw805 1宏单元,微处理器核心是与工业标准8051单片机兼容的目标代码。它通过以超过标准8051 2.5的平均速率和允许多功能使用MOVX指令扩展访问内部RAM空间提高指令执行率。单片机的核心进行语音识别任务,包括语音特征提取,说话人依赖模板训练与识别。它也执行连续可变斜率算法的语音编码/解码算法。增量调制(CVSD)用来恢复提示、压缩并播放用户语音。此外,单片机的核心还完成所有控制和通信任务。

2.2 存储空间

单片机内核可以在三个地址空间中操作数:64K字节的数据存储器,64K字节的程序存储器和72192x6语音数据存储器。512字节的数据随机存储和8K字节程序只读存储被用在芯片上。数据和程序高达64K字节的内存可扩展外部。片内的语音只读存储器是专门为存储固定的为应用程序所驱动的系统提示而设计的,为CVSD编码算法(16kbit/s)而获得的。使用72192x6声音只读存储器,大约有27秒的可以被编码和存储在其中。

2.3 模数转换/数模转换

模数转换是一个信噪比为48db的10bi信道,在它之前是前置放大器和带宽为300-3400hz的带通滤波器。数模转换和脉宽调制是8位通道。两者中任意一个都可以被选择作为语音输出通道。

2.4 I/O口

输入/输出端口包括一个串行端口,一个8位并行端口和一个5位串行端口。

3软件算法

3.1 基本软件模块

语音识别软件由三个基本模块组成:控制和通信模块、CVSD模块和语音识别模块。软件算法框图如图2所示。软件的特殊方面将在下面的段落中描述。

3.2 前端处理

使用传统的语音识别前端处理方法。输入信号后是带通滤波和以8k Hz为采样频率采样。它被分割为24ms帧其中12ms重叠。与此同时,基于能量的帧级端点检测活跃的语音信号按框架等级被分割。然后各预处理框架[ 2 ]的7阶线性预测倒谱系数(倒谱系数)[ 4 ]利用Schur算法提取。三角洲倒谱系数也是这样计算。

在上述过程中,最关键的一步是终点检测。这是众所周知的一个基于字识别系统模板的性能,他对端点的变化非常敏感。但是简单的基于能量的端点检测在语音信号驱动系统中是不可缺少的,端点检测经常在低信噪比情况下不能精确的估计边界条件。为了提高端点检测在一个小的计算成本下的精度,将介绍两个阶段的端点估计。基于能量的时间同步的端点检测和零交叉率是第一阶段来粗略的估计活动语音边界。当整体特征语音信号被实时提取,在第二阶段进行更准确的端点估计。首先,上线上的两个能量峰根据语音信号的前后结束点得到,然后从相关的前后能量峰得到更精确的结束点,并且由低的门限值决定。这些门限值自主的根据语音信号和背景噪声来调节。根据经验所得,上线在在语音能量最大值的60%位置上,下线是背景噪声平均能量的7倍值处。使用这些阈值可以得到检测结果。两阶段端点估计如图3所示。然后提取7阶LPCC特征值。因为8051计算能力是非常有限的,我们在语音受限的40MHz的单片机核心上只能实时的提取7阶特征值。

在下面的段落中,应用型产品中存在的几个问题将以前端水平讨论。主要有三个因素降低了语音识别性能:一个是太小或太大的语音电压,语音信号电压太小会导致低信噪比和低量化数量;如果电压太大,模数转换会发生过载量化。因此,除了模数转换信道的自动增益控制,如果输入的语音信号的电压太大或太小时,会有提示提示说话者说话大声点或小声点。

图2 语音识别算法框图

图3 两级端点检测

MAX:最大语音能量

Th2:第二级的上限 Th2=MAX*比率

Th1:第二级的下线

第二个因素是用户的嘴和麦克风驻极体之间各不相同的距离和方向,首先,不同的距离影响说话的音量强度,但由于信道的多样性,假设磁头位置具有一样的影响,因此,CMS(倒谱减法)[ 3 ]的方法用来考虑一个8位单片机核心的有效性和可接受的计算复杂度。用这个芯片实时仿真的检测三个说话者的语音,除了其中一个保持原有的识别率,其他两位分别获得29%和55%的错位降低率。

第三个因素是不同的背景噪声,特别是其他人的讲话。我们由几十多个人和电脑通过了仿真板记录了输入词语。被记录的语音是-2db到33db之间,并且78%词语低于10db。在这种情况下,平均识别率达到90%。当语音在一个安静的办公室中播放,平均信噪比能达到20dB以上,其中95%的词语信噪比到达10db以上。并且,平均识别率高达96%。因此,一些强烈的噪声语音识别方法应该被用在这语音识别系统以扩大其可用条件。但目前,语音增强技术对于一个8位微控制器核心非常复杂,以至于系统只能测试输入短语的信噪比和滤除低信噪比的,然后给出相应的提示。

3.3段平均模板训练和识别

传统的动态规划(DP)的方法,例如DTW(动态时间规整)算法[ 2 ],已经成功地应用于基于模板的说话人相关词汇识别系统并且以达到很高识别率(99%以上)。但在基于单片机核心的语音识别系统中实施DTW算法有两点障碍。一个是需要大量的的模板存储空间。一个100帧、7阶LPCC倒谱DTW模板需要1.4k字节的内存,这样需要太多的外部数据存储空间。另一个是模板匹配的过程,这不可能的在单片机核心上实时的执行。因此模板不是像在DTW中每一帧直接的产生的而是使用该模板的段平均方法。基础的思想是根据倒谱和每段的平均特征向量分割语音信号。然后连接分割的平均向量形成相关的模块。采用这种方法,模块的存储空间和模块的匹配空间都很大程度上的减少。平均分割长度是8帧语音信号。因此,语音信号大概被分为10段,每段1秒。然后加上模块的动态变量只有280个字节来存储7阶LPCC。存储空间只是以前的四分之一。

众所周知,由一个分割产生的模块不够强大。此外,在语音识别系统中,它易于产生端点估计错误和分割错误。所以在[ 4 ]中提到的顺序训练方法被采用。段平均模板顺序训练中不断的更新。为了获得第二个连续的分割,使用者应该连续两次说检测词汇。然后,第一个参考模块和第二个分割模块通过DP过程相比较,而且由此产生的失真与门限值相比较来决定第二次分割是否与相关的模块一致。如果分数小于阈值,那么根据DP过程获得的状态分割,第二次获得将被用来计算第二次段平均分割。然后,最终的模块被作为两个临时参考模块来计算,并且,提示测试成功。如果失真分数大于阈值,将提示测试失败,并且词语可在另一个时间被检测。

通过序贯训练法,通过段平均模块,性能降低得到补偿。三个不同性能的识别系统应用不同的模块,例如DTW模板,段平均模板和序列训练段平均模板,用基于3个用户的8个电话声音指令的语音数据来比较这三种不同识别系统的性能。其语音数据是通过芯片仿真版输入信道记录的来的,但是所有的计算都是在电脑平台上完成的。结果如表1所示。

表1三个模块识别的比较

即使DTW模块没有处理的非常好,但是三个说话者的发音种类远多于两个说话者。但是连续训练相比较而言提高了模块的强度且结果很不错。

识别按照如下两步进行。首先,输入语音和模块的失真度通过DP过程来比较。其次,小测量距离被选为识别结果。带有路径约束的为比特搜索算法被应用,该算法比段平均模块匹配更优越。为了减少为比特算法的计算冗余度,局部分数只在限定的区域内被计算,如图4所示。

图4 为比特算法路径约束的计算区域

双参数,例如,上宽松度和路径与束宽度,控制搜寻区域的范围。首先,如果分数不到当前计算模块框架,那么中央匹配路径的局部失真度将立即转移到下个模块。如果当前测试模块的失真度少于当前测试模块,则最佳路径仍占据在当前模板帧。上松宽度决定中心路径和路径约束宽度上的搜寻范围。

很显然,如果规定的宽带越大那么包含在其中的全局最优路径将更容易但是,搜寻花费更多的时间。上松宽度的影响没有路径约束宽度的影响大。当在较低的空间不受约束和上的松散宽度为2时,将和正确的词强制对齐分割没有差异。当上松宽度等于1时,与全空间为比特算法分割相比,有3.7%个正确的词汇拥有不同的分割。在各种路径约束宽度下的错误分割误差和结果平均相对失真度误差的百分比如图5所示。实际宽度应该是小价值与大价值之间的权衡。如果使用较小的值,DP过程可以通过更少的时间完成,这可能导致较低的识别率;如果使用更大的值,可以得到更多的搜索路径,结果有更高的识别率。

图5 对准误差和失真度误差在不同路径约束下的宽度(上下宽gt; 2)

3.4语音编码

虽然低速率参数编码方法也可以产生高质量的语音,但对于一个8bit的单片机来说他们太复杂。所以,采纳简单的16Kbit/s或8Kbit/s的CVSD技术。在计算机平台上,提示通过CVSD来记录和编码,CVSD的参数是根据上下文而优化的。然后将数据转移到闪存。不同于提示,播放必须在芯片上编码和解码。播放的质量有一点差于提示的质量。

4评价结果

片上语音识别系统的精度是用FPGA仿真板检测的。检测识别语言是简短的句子,例如“你好”,“你的名字是什么”,“你多大了”,“你喜欢吃巧克力吗”等等。测试语音数据库包括3个扬声器。每个扬声器说10个不同的词语,并且每个词语被重复30秒。语音是通过FPGA输入通道仿真板并以采样率8khz/s来采样。以这种方式收集的数据才是实际使用的语言输入方式且识别准确率可以准确评估。在不同性噪比下的识别性能如表2所示。

表2 在不同性噪比下的识别率

从表2可以看出,即使

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[29245],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图