【语音识别系统的设计与实现15000字(论文)】_第1页
【语音识别系统的设计与实现15000字(论文)】_第2页
【语音识别系统的设计与实现15000字(论文)】_第3页
【语音识别系统的设计与实现15000字(论文)】_第4页
【语音识别系统的设计与实现15000字(论文)】_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

语音识别系统的设计与实现摘要随着计算机技术的不断发展,人们越来越希望通过语音来实现人机对话,语音识别技术由此应运而生。语音识别是让机器自动识别和理解语音信号,并把语音信号转变为相应命令的技术。特定人孤立词的语音识别是应用最为广泛的一种语音识别技术,而当前这方面的硬件设备成本较高,使得难以大量推广应用。基于上述原因,本文通过对孤立词语音特点的研究,结合单片机等硬件设备,设计了一种基于特定人孤立词的语音识别系统。性能良好且成本低廉的嵌入式语音识别系统在智能家电接口、智能玩具、智能仪器等领域提供便捷的人机交互服务,将具有广阔的应用前景。研发嵌入式语音识别系统,具有重要的研究意义及广泛的市场应用。关键词:单片机;语音识别;系统目录引言 11系统设计 11.1任务要求 11.2总体设计 12语音识别原理与分类 22.1语音识别原理 22.2语音识别分类 33基于SPCE061A的语音识别 43.1凌阳语音简介 43.2语音提示生成 53.3语音录制播放 53.3.1语音录制过程 53.3.2语音播放过程 63.4语音训练识别 64基于单片机的语音识别模块硬件的构建 74.1SPCE061A单片机简介 74.2语音识别模块的硬件结构框架 74.3语音采集前向通道电路 84.3.1语音信号获取电路 84.3.2放大滤波电路 94.3.3AGC电路 94.3.4电压偏置电路 94.4人机接口电路 94.5微处理器核心板电路 104.6数据存储电路 105基于SPCE061A的语音识别模块软件设计 105.1系统软件的总体设计 105.2模块程序的整合 115.3语音识别模块的子程序设计 125.3.1主控接口模块的设计 125.3.2语音数据的获取 125.3.3特征参数的提取 125.3.4模板的生成及训练 135.3.5FLASH存储器的读写 135.3.6语音录制和播放 135.3.7模板的匹配及结果输出 136结论 14参考文献 161前言1.1语音识别研究意义作为智能计算机研究的主导方向和人机语音通信的关键技术,语音识别技术一直受到各国科学界的广泛关注。以语音识别开发出的产品应用领域非常广泛,有声控电话交换、语音拨号系统、信息网络查询、家庭服务、宾馆服务、旅行社服务系统、订票系统、声控智能玩具、医疗服务、银行服务、股票查询服务、计算机控制、工业控制、语音通信系统、军事监听、信息检索、应急服务、翻译系统等,几乎深入到社会的每个行业、每个方面,其应用和经济社会效益前景非常广泛。因此语音识别技术既是国际竞争的一项重要技术,也是每一个国家经济发展不可缺少的重要技术支撑。研究语音识别,开发相应的产品有着广泛的社会意义和经济意义。语音是语言在声学上的表现形式,是人类交流信息最常用的手段。作为人类最重要最自然的交流工具,语音己经成为了人们思想疏通和情感交流的必要手段。随着信息时代的来临,计算机在人类生活中占据了越来越重要的地位,在很多特定场合中,由于使用键盘、鼠标、按钮等传统的通信设备会带来很多的不便,人们开始梦想着让计算机具有像人类一样的听觉理解功能,能够通过接收用户语音命令来执行相关操作,实现这个梦想最关键的技术就是语音识别。语音识别,顾名思义,就是一种让机器通过分析和理解把语音信号转变成为命令或者文本的技术。它的目的是让计算机直接接收用户的语音,并进行一系列的分析、计算、理解之后,再将结果回馈给用户。它涉及到多个学科,是一个综合性的研究领域。由于语音识别本身所存在的巨大商业价值,世界各大公司纷纷在这方面投以巨资,让这项技术取得了长足的发展,并已经进入社会的各个领域之中。在以后的生活中,语音识别会扮演越来越重要的角色,为人类社会的发展带来更大的便利。目前,语音识别技术主要有两个发展方向,即大词汇量的语音识别系统和小型化、便携式的语音识别系统。其中,大词汇量的语音识别系统算法复杂,实现难度大,主要用于听写机等设备小型的语音识别系统,尤其是基于特定人孤立词的语音识别系统,在很多行业中已经有了广泛的应用。尽管小型语音识别系统正日臻完善,但是由于语音信号的随机性较大,而且对背景噪声极为敏感的特点,导致在通常情况下识别率很难达到,而一旦背景噪声增大,系统的识别率更会迅速降低。基于以上原因,我们必须对语音识别做进一步的研究工作。本文的研究目的就是要找出一套适合于特定人孤立词语音识别的系统方案。1.1.1语音识别的发展历史语音识别中的说话人辨认的研究始于20世纪30年代。早期的工作主要集中在人耳听辨试验和探讨听音识别的可能性方面。Bell实验室的L.G.Kesta目视观察语谱图进行识别,提出了“声纹(Voiceprint)”的概念。Bell实验室的S.Pruzansky提出了模版匹配和概率统计方差分析的声纹识别方法,形成了声纹识别研究的一个高潮。60年代末和70年代初语音识别最重要的发展是语音信号线性预测编码(LPC)技术和动态时间规整(DTW)技术,有效地解决了语音的特征提取和时间不等长匹配问题,对特定人的语音识别十分有效。研究特点是以孤立字语音识别为主,通常把孤立字作为一个整体来建立模板。80年代,语音识别研究的重点之一是连接词语音识别,开发了各种连接词语音识别和关键词识别算法,如多级动态规划语音识别算法。另一个重要发展是语音识别算法从模板匹配技术转向基于统计模型技术。1.1.2语音识别现状20世纪90年代后,在细化模型的设计、参数提取和优化,以及系统的自适应技术上取得了一些关键进展。语音识别技术进一步成熟,并开始向市场提供产品。由于中国的国际地位不断提高,以及在经济和市场方面所处的重要地位,汉语语音识别也越来越受到重视。IBM、Microsoft、L&H等公司相继投入到汉语语音识别系统的开发中,其投资也逐年增加。IBM开发的Viavoice和Microsoft开发的中文识别引擎代表了当前汉语语音识别的最高水平。台湾的一些大学和研究所也开发出大词汇量非特定人连续语音识别演示系统。日本也先后在语音识别领域大展头角,还有如Philips公司开发的Speech—Media和SpeechPearl两套软件,涵盖了自然语音识别与理解的对话系统。我国语音识别研究工作近年来发展很快,同时也从实验室逐步走向实用。从1987年开始执行863计划后,国家863《智能计算机主题》专家组为语音识别研究立项。每两年滚动一次,从1991年开始,专家组每一至二年举行一次全国性的语音识别系统测试。汉语语音识别研究已经走上组织化的道路。目前我国大词汇量连续语音识别系统的研究已经接近国外最高水平[1]。1.2语音识别基本构成 语音识别技术既是国际竞争的一项重要技术,也是每一个国家经济发展不可缺少的重要技术支撑。研究语音识别,开发相应的产品有着广泛的社会意义和经济意义。在训练阶段,将特征参数进行一定的处理之后,为每个词条得到一个模型,保存为模版库。在识别阶段,语音喜好经过相同的通道得到语音参数,生成测试模版,与参考模版进行匹配,将匹配分数最高的参考模版作为识别结果。同时还可以在很多先验知识的帮助下,提高识别的准确率。 1.3语音识别的前景发展语音技术是目前世界上最热门和最具有发展前景的技术之一。从某种意义上说,语音识别是将计算机变成真正的“智能化”设备的最佳途径。语音作为当前通讯系统中最自然的通信媒介,随着计算机和语音处理技术的发展,不同语种之间的语音翻译将成为语音研究的热点。自然语音数据库的设计:语音特征的提取;利用语音料库进行声学模型训练的研究;适应说话人声学模型的研究;语音识别算法的研究:语言翻译和对话处理的研究等成为语音技术的热点方向。语音识别研究的另一个发展方向是人体语言与口语相结合的多媒体人机交互。目前这种采用声觉、视觉两种信息融合进行识别的研究在全球范围内己经展开,成为语音识别研究的重要发展方向和研究热点之一。未来几年里,真正实用的语音识别和音字转换技术将首次走出实验室,走进千家万户的电器设备中。另外,语音识别是一门交叉学科,语音识别技术关系到多学科的研究领域,在不同领域上的进步都会促进语音识别的发展。(1)物理学(声学):声音产生与传播原理、声电转换以及声音在房间回响等相关知识。(2)生理学:有关人的声道与耳朵的生理结构、耳朵的听觉特征,在脑内高层的语言处理等。(3)统计学和模式识别理论;基于各种统计方法对模式进行匹配,以及建立有关的统计模型,对语音特征参数进行估值和分类。(4)信息理论和计算机科学:各种算法的研究、快速搜索查找匹配的方法。(5)语言学:有关人的语言产生、感觉方面的知识。(7)数字信号处理技术:信号的时域分析、噪声消除、数字滤波、线性预测等方面的知识。(8)微电子技术:超大规模集成电路(VLSI)技术的发展对语音识别的具体应用有很大的影响,VLSI使语音识别系统商品化成为可能。2语音信号分析语音学基础在连续数字语音识别过程中,为了提高连续数字匹配搜索算法的有效性以及数字的识别率,必须要将对数字语音的研究细化到语音学的层次上,包括对各数字的音素和音节的特性和各数字的声调进行深入研究。2.1.1音素和音节音素是语音信号的最基本组成单位,可分为浊音和清音两大类。浊音通过喉部发声,发声时声带振动,声带振动的基本频率称为“基音频率”,其倒数称为“基音周期”。清音通过将口腔内有的空气释放出来而发声,发声时喉部封闭,由于该气流通过一个狭窄通道时在口腔中形成流,因此具有明显的随机噪声的特点。音节是由音素结合而成的发声最小单位,一个音节由“元音”和“辅音”构成。当声带振动发出的声音气流从喉腔、咽腔进入口腔从唇腔出去时,这些声腔完全开放,气流顺利通过,这种音称为元音。元音构成一个音节的主干,无论从长度还是能量上看,元音在音节中都占主要部分。所有元音都是浊音。发音时呼出的气流,由于通路的某一部分封闭起来或受到阻碍,气流被阻不能畅通,而克服发音器官的这种阻碍而产生的音素称为辅音。辅音也有清浊之分。辅音出现在音节的前端或者后端或前后两端。2.1.2汉语的声调汉语是一种声调语言,相同声母和韵母构成的音节随声调的不同而具有完全不同的意义,对应着不同的汉字。所以,在汉语的相互交谈中,不但要凭借不同的元音和辅音来辨别这些字或词的意义,还需要从不同的声调来区别它,也就是说声调有辨义作用。汉语普通话的声调有阴平、阳平、上声、去声等四种声调(另外,有时还包括“轻声”),这些基本的调型在语句中虽然受语法、语气的影响而有所变动,但基本上不改变原有的模式一调型。声调的变化就是浊音基音周期(或基音频率)的变化,各个韵母段中基音周期随时问的变化产生了声调,变化的轨迹称为声调曲线。声调曲线从一个韵母的起始端开始,到韵母的终止端结束。不同声调的声调曲线的开始段称为弯头段,呈共同上升走向;末尾一段呈共同下降走向,称为降尾段;而中间一段具有不同的特点,这一段称为调型段。一般来说,弯头段和降尾段对声调的听辨不起作用,起作用的是调型段。而一段语音,它的起始和结尾处的波形幅度较小,要准确地测出这些地方的基音周期并不容易,因此可将这两处的波形忽略,只测调型段这一部分波形的基音周期。图2.1给出了单独说一个音节时的四种声调的典型曲线(F0/Hz)。图2.1声调的四种模式2.1.3 语音信号产生模型语音信号是声道被激励发生共振而产生的输出。用一个时变线性系统来模拟,理想的模型是线性的,且时不变的;但是语音信号是一连串的时变过程,且声门和声道相互耦合形成了语音信号的非线性特性。做一个合理的假设,当在较短的时间间隔内表示语音信号时,则可以采用线性时不变模型。它包括激励模型、声道模型、和辐射模型[3]。图2.2给出了经典的语音信号的产生模型,语音信号被看成是线性时不变系统在随机噪声或准周期脉冲序列激励下的输出。图2.2语音信号产生模型 语音信号数字化和预处理2.2.1 数字化为了将原始的模拟语音信号变为数字信号,必须经过采样和量化两个步骤,从而得到时间和幅度上均为离散的数字语音信号。根据采样定理,当采样频率大于信号的2倍带宽时,在采样过程中不会丢失信息,且从采样信号中可以精确地重构原始信号波形。在实际语音信号处理中,采样频率通常为7~10kHz。在信号的带宽不明确时,采样前应接入抗混叠滤波器(低通滤波器),使其带宽限制在某个范围内;否则,如果采样频率不满足采样定理,则会产生混叠。此时,信号中的高频成分将产生失真。采样之后要对信号进行量化,在量化过程中不可避免的会产生误差。量化后的信号值与原始信号之间的差值为量化误差,又称为量化噪声。信号与量化噪声的功率之比为量化信噪比。若用表示输入语音信号序列的方差,表示信号的峰值,B表示量化分辨率(量化位长),表示噪声序列的方差,则量化信噪比为:(2.1)假设语音信号的幅度服从Laplacian分布,此时信号幅度超过的概率很小,只有0.35%,因而可以取。此时上式变为。上式表明,量化器中每位字长对SNR贡献为6dB;当位时,。此时量化后的语音质量能满足一般通信系统的要求。研究表明:要使语音波形的动态变化信噪比达到55dB的信噪比,B应取10位以上。为了在语音信号变化范围内保持35dB的信噪比,常用12位来量化,其中附加的5位用于补偿30dB左右的输入动态范围变化。2.2.2预加重处理由于语音信号的平均功率谱受声门激励和鼻辐射的影响,在800Hz以上的高频时约按6dB/oct衰减,为此要在预处理中进行预加重。预加重的目的是提升高频部分,使信号的频谱变得平坦,以便于进行声道参数分析或频谱分析。预加重在防混叠滤波与A/D转换之前进行[4]。它一般是一阶的,即:,式中u值接近于1,本文中去为0.94。加重的信号在分析处理后,需要进行去加重处理,即加上6dB/oct的下降的频率特性来还原成原来的特性。图2.3所示为对语音信号“0”的预加重处理结果。从下图可以明显的看出,加重后语音信号中高频分量增强。图2.3语音信号“0”的预加重处理效果语音信号的时域分析对信号分析最自然最直接的方法是以时间为自变量进行分析,语音信号典型时域特征包括短时能量、短时平均过零率、短时自相关系数和短时平均幅度差。 能量分析对于信号x(n),短时能量定义为:(2-3)式中,h(n)=w2(n),N为窗长,En表示在信号的第n个点开始加窗函数时的短时能量。可以看出,短时能量可以看作语音信号的平方经过一个线性滤波器的输出,该线性滤波器的单位冲激响应为h(n),如图2.4所示。图2.4短时能量的方框图表示如果用xw表示x(n)经过加窗处理后的信号,窗函数的长度为N,则短时能量可表示为:(2-4)如图2.5所示为语音“0”时域波形图和语音“0”短时能量图。图2.5语音信号“0”的短时能力函数利用短时能量可以区分清音和浊音,因为浊音的能量比清音的能量大得多;其次可以用短时能量对有声段和无声段进行判定,对声母和韵母分界,以及对连字分界等。在语音识别系统中,一股也作为特征中的一维参数来表示语音信号能量的大小和超音段信息。短时能量由于是对信号进行平方运算,因而认为增加了高低信号之间的差距,因此要采用短时平均幅度来表示能量的变化,其公式为:(2-5)如图2.6所示为“0”的短时平均幅度图。从图中可观察到,短时平均幅度对能量小的信号累计效果要比短时能量好。图2.6语音信号“0”的短时平均幅度2.3.2 语音端点检测2.4语音信号的频域分析语音的感知过程与人类听觉系统具有频谱分析功能是紧密相关的。因此,对语音信号进行频谱分析,是认识语音信号和处理语音信号的的重要方法。2.4.1滤波器组法利用一组滤波器来分析语音信号的频谱,方法使用简单、实时性好、受外界环境的影响小。滤波器组法所用的滤波器可以是模拟滤波器,也可以是数字滤波器。滤波器可以用宽带带通滤波器,也可以用窄带带通滤波器。宽带带通滤波器具有平坦性,用它可以粗略地求取语音的频谱,其频率分辨率降低,相当于短时处理时窗宽较窄的那种情况。使用窄带带通滤波器,其频率分辨率提高,相当于短时处理时窗宽较宽的那种情况。语音信号x(t)输入带通滤波器f1,f2,……fn,滤波器输出为具有一定频带的中心频率为f1,f2,……fn的信号。可以将滤波器组的输出经过自适应增量调制器变为二进制脉冲信号,再经过多路开关,变为一串二进制脉冲信号。这种信号可以输入计算机进行各种分析和处理。2.4.2傅立叶频谱分析傅立叶频谱分析是语音信号频域分析中广泛采用的一种方法,用傅立叶变换及其反变换可以求得傅立叶谱、自相关函数、功率谱、倒谱。由于语音信号的特性是随着时间缓慢变化的,由此引出语音信号的短时分析[5]。信号x(盯)的短时傅立叶变换为:(2-11)式中,w(n)为窗口函数。图2.9是从带通滤波器作用理解短时傅立叶变换。图2.9从带通滤波器作用理解短时傅里叶变换可以看作是加窗后函数的傅立叶变换,为了实现反变换,将进行频率采样,即令则有(2-12)式中,L为频率采样点数。短时功率谱实际上是短时傅立叶变换幅度的平方,它是信号x(n)的短时自相关函数的傅立叶变换,即(2-13)式中Rn(k)是自相关函数。图2.10是几种谱之间的关系。图2.10几种基于短时傅里叶变换谱之间的关系为了分析声音信号的时域和频域特点,需要先对语音信号进行录制,将语音信号录制好后,就可以对信号进行时域和频域图像的绘制了,绘制图像时为了进行时域和频域的对比,要对录制好的声音信号进行截断,使声音信号长度一致(对信号进行截断,可以用端点检测的方法也可以用手动对信号数据进行截断),截断后能更好地进行比较。流程图:开始开始录制语音信号录制语音信号保存语音信号保存语音信号对语音信号进行截断对语音信号进行截断绘制时域、频域图像绘制时域、频域图像保存图像保存图像结束结束图1语音录制流程图用MATLAB进行语音录制时,可用“audiorecorder(fs,stbit,sd)”函数进行录制的设置,用“record()”函数开始录制,人的发声频率在100Hz(男低音)到10000Hz(女高音)范围内,声音录制的频率可设为20000Hz(代码见附表一)。录制条件:数字语音发音标准的男生声音录制环境:噪声干扰较小的环境要对数字1、2、3、4每个语音录制5次,分别画出这四个语音的时域和频域图像(绘图代码见附表二)。男性语音信号(未进行截断)的时域、频域图像:图2数字1的时域、频域图像图3数字2的时域、频域图像图4数字3的时域、频域图像图5数字4的时域、频域图像4系统设计4.1任务要求设计并制作一款能识别用户十条简单语音命令的实验系统。系统能够识别用户十条简单的语音命令,每条语音的命令都大于五,每条命令均能通过相应的指示灯显示出来,并且误识别率要尽量低。语音识别的研究主要趋向于非特定人的连续大词汇量的语音识别。误识别率低;每条命令均通过相应的指示灯显示出来;命令词汇数不大。(1)十六位单片机的原理及编程方法(2)语音识别的基础知识和语音处理方面的基础知识(3)熟练掌握电子电路方面的知识(4)掌握单片机的基本原理并应用于该毕业设计课题中(5)完成系统原理图的设计、程序的设计、调试及修改4.2总体设计电路以凌阳SPCE061A单片机作为主控,该芯片自带语音识别库可进行语音训练及识别。电路具2个功能按键作为输入,1个数码管作为显示,4个LED灯作为显示模块。电路可通过语音训练方式使设备能够识别某段音频,电路实时监听环境语音信息,识别出指令语音并根据指令自动控制LED实现对应显示。单片机部分由16位单片机SPCE061A单片机构成,负责整体系统控制、语音识别及各模块通信。5语音识别原理与分类5.1语音识别原理语音识别技术指计算机能根据人类说话的语句或命令做出相应的反应。当声音通过一个转换装置输入计算机内部并以数字方式存储后,语音识别程序便开始以所输入的声音样本与事先储存好的声音样本进行对比。对比完成后计算机会算出最匹配、最接近的声音样本序号,这样就可以知道所输入的声音是什么意思,进而执行命令了。语音识别过程主要分为两个阶段。第一阶段为“训练”,单片机对采集到的语音样本进行分析处理,从中提取出语音特征信息,建立一个特征模型,存放在由FLASH存储器构成的模板库中。第二阶段为“识别”,单片机对采集到的语音样本也进行类似的分析处理,从中提取出语音特征信息,把待测的语音信号和模板库中的各个参考模板进行比较,看其与哪个模板匹配度最大,从而判决其属于何种信号,进行相应的操作。若发现与各个样本模板偏离均较大,可要求重新输入。语音识别过程的具体流程如图5-1所示。图5-1语音识别流程图语音识别本质上是一种模式识别的过程,其基本结构的原理框图如图5-2所示。主要包括语音信号预处理、特征提取、特征建模(建立参考模式库)和后处理等几个功能模块,其中后处理模块为可选部分。一个语音识别系统主要包括训练和识别2个阶段。无论是训练还是识别,都需要首先对输入的原始语音进行预处理,并进行特征提取。图5-2语音识别基本原理框图实现对数字语音的分析和识别,需要了解人声的特点,人的发声频率在100Hz(男低音)到10000Hz(女高音)范围内。对声音信号进行分析需要绘制时域和频域的图像。声音信号的时域图像是反映声音的响度随时间的变化规律,声音信号的频谱反映了信号中各个频谱分量的相对大小。深入的对信号的信息作定量解释,是通过信号在时间域中的波形变换为频率域的频谱来进行的。傅立叶变换可以将所有的信号都分解成个体的直流分量与多个正弦信号的和,换种说法,也就是一个常数与无穷个正弦信号间的总和。所有的正弦分量,都有其自身的频率与幅值,将横轴用频率值来表示,纵轴由幅值来表示,再在相应的频率上,画出上述的若干个正弦信号幅值,这样信号的幅频分布图就完成了,同时也就是常说的频谱图。将时域信号转变为频域来进行分析,就叫做信号频谱分析。将研究较为繁杂的时间历程波形,以傅里叶变换分解成多个单一的谐波分量的方式,将信号的频率构造与不同谐波各相位信息得以获取,此种方式就是频谱分析的目的。

频谱分析可以通过信号来取得大量有价值的信息,比如,动态信号里的不同频率成分与频率分布区间可以通过频谱分析获得,不同频率成分的幅值与能量分布也可以通过频谱分析来获得,最终,相应的主要幅度与能量分布的频率值也就可以得出了。通过MATLAB将频域能量的分布情况计算出来,用一段频率范围内的能量和总的能量进行比较,计算能量在不同频率范围内的的百分比,分析出不同数字语音信号能量比的特点,可以用于数字语音信号的识别。5.2语音识别分类语音识别系统按照不同的角度、不同的应用范围、不同的性能要求会有不同的系统设计和实现,也会有不同的分类。一般语音识别系统按不同的角度有下面几种分类方法。1.孤立词、连续词、连续语音识别系统以及语音理解和会话系统从所要识别的对象来分,有孤立字(词)识别、连续字(词)识别、连续语音识别与理解、会话语音识别等。孤立词识别系统要求说话人每次只说一个字(词)、一个词组或一条命令,让识别系统识别。连续词识别一般特指十个数字(0~9)连接而成的多位数字识别,或由少数指令构成的连接词条的识别。连接词识别系统在电话、数据库查询以及控制操作系统中用途很广。随着近年来的研究和发展,连续语音识别技术已渐趋成熟,这个最自然的说话方式,将成为语音识别研究及实用系统的主流。连续语音识别是对说话人自然语音进行识别,其识别系统比较复杂,成本也比较高,所以它并不是所有的应用都采用的方式。2.大词汇、中词汇和小词汇量语音识别系统一般来说,小词汇量的系统是指能识别1~100个词汇的语音识别系统,中等词汇量是指100~1000个词汇,大词汇量系统是指1000个以上的词汇。此外还有某些特定用途的中词汇量连接词识别和无限词汇连续语音的识别等。3.特定人和非特定人语音识别系统特定人是指只针对一个用户的语音识别,非特定人则可用于不同的用户。实际上,非特定人语音识别的初始识别率往往都比较低,一般都要求用户花一定的时间对系统进行训练,将系统的参数进行一定的自适应调整,才能使识别率达到满意的程度。4.实时语音识别和非实时语音识别实时语音识别是指用户输入的语音命令,系统在时延的范围内马上给出结果。非实时语音识别是指用户给出的语音命令,系统不会立即给出识别结果。6基于SPCE061A的语音识别6.1凌阳语音简介凌阳SPCE061A是16位的单片机,具有DSP功能,有很强的信息处理能力,最高时钟频率可达49MHz,具备运算速度高的优势等。这些都无疑为语音的播放,录制,合成以及辩识提供了相应的条件。凌阳语音识别主要有以下两种:(1)特定发音人识别SD,SD是指语音样板由单个人训练,也只能识别训练人的语音命令,而他人的识别率较低或几乎不能识别。(2)非特定发音人识别SI,SI是指语音样板由不同年龄、不同性别、不同口音的人进行训练,可以识别一群人的命令。基于实际情况的考虑,本次设计采用的特定发音人识别,原理如下图6-1:图6-1特定人语音识别原理图6.2语音提示生成本设计中所涉及到的语音提示音都是通过同样的方法得到的。首先,将麦克风插入PC机的麦克风口,打开windows附件中的录音机软件,选择录音文件的属性为8kHz16bit,也就是使PC机的声卡按照8kHz的采样频率进行16位的声音数据采集,然后将保存好的.wav文件按照前面介绍的S480混合压缩格式通过凌阳的CompressTool进行编码压缩,这样得到的文件才可以加载到相应的工程中作为语音资源,通过调用S480的库函数来解码,按照8kHz的频率进行播放。语音提示生成过程大致如下图6-2所示:图6-2语音提示生成过程图6.3语音录制播放6.3.1语音录制过程语音首先通过MIC等输入设备转换成电信号,由隔直电容隔掉直流成分,然后输入至SPCE061A内部前置放大器。SPCE061A内部自动增益控制电路AGC能随时追踪、监视前置放大器输出的音频信号电平,当输入信号增大时,AGC电路自动减小放大器的增益;当输入信号减小时,AGC电路自动增大放大器的增益,确保进入A/D转换的信号保持在最佳电平,又可使削波减至最小。接着以一定的采样速率将模拟电信号转换成数字量,也就是A/D采样的过程。A/D采样的频率越高,声音的品质也越好,但是占用的存储空间也越大。对于语音,使用8KHz的采样率就可以获得比较好效果。采集到的数据经过压缩编码来达到减小数据量的目的,本设计主要是应用凌阳A2000压缩算法进行编码。最后把编码后的数据保存到存储介质中。6.3.2语音播放过程语音播放大体上可分为以下几个步骤:首先,顺次地从压缩格式的语音资源中取出一组数据,放到“解压缩队列”里。然后,执行解码程序,把压缩数据还原成数字量的语音信号,送到“输出队列”,等待输出。同时,在语音录制时使用了8KHz的采样率,那么在语音播放的时候也要以8KHz的速率进行DAC输出,在定时器的控制下进行数模转换,转变成模拟信号。模拟信号再经过滤波、放大等处理,最后通过扬声器转换成声音。其播放流程图如图3-3所示:图6-3语音播放过程6.4语音训练识别声纹识别是一种根据说话人语音波形中反映说话人生理和行为特征的语音参数,自动识别说话人身份的技术。在语音信号预处理后,接着是特征参数的提取。特征提取的任务就是提取语音信号中表征人的基本特征。说话人特征大体可归为下述几类:(1)基于发声器官如声门、声道和鼻腔的生理结构而提取的参数。如谱包络、基音、共振峰等。其中基音能够很好地刻画说话人的声带特性,在很大程度上反映了人的个性特征。(2)基于声道特征模型,通过线性预测分析得到的参数。包括线性预测系数(LPC)以及由线性预测导出的各种参数,如线性预测倒谱系数(LPCC)、部分相关系数、反射系数、对数面积比、LSP线谱对、线性预测残差等。根据前人的工作成果和实际测试比较,LPCC参数不但能较好地反映声道的共振峰特性,具有较好地识别效果,而且可以用比较简单的运算和较快的速度求得。(3)基于人耳的听觉机理,反映听觉特性,模拟人耳对声音频率感知的特征参数。如美尔倒谱系数(MFCC)等。MFCC参数与基于线性预测的倒谱分析相比,突出的优点是不依赖全极点语音产生模型的假定,在与文本无关的说话人识别系统中MFCC参数能够比LPCC参数更好地提高系统的识别性能。7基于单片机的语音识别模块硬件的构建7.1SPCE061A单片机简介单片微机简称单片机,也有的叫做微处理或微控制器,通常统称微型处理部件。一般来说,单片机就是在一块硅片上集成CUP、RAM、ROM、定时器/计数器、和多种I/O的完整数字处理系统。二十世纪,微电子、IC集成电路行业发展迅速,其中单片机行业的发展最引人注目。单片机功能强、价格便宜、使用灵活,在计算机应用领域中发挥着极其重要的作用。从INTEL队公司于1971年生产第一颗单片机Intel-4004开始,开创了电子应用的“智能化”新时代。单片机以其高性价比和灵活性,牢固树立了其在嵌入式微控制系统中的“霸主”地位,在PC机以286、386、486、Pentium系列高速更新换代的同时,单片机却“始终如一”保持旺盛的生命力。例如,MCS-51系列单片机已有十多年的生命期,如今仍保持着上升的态势就充分证明了这一点。本系统是采用单片机系统作为硬件实现系统,HMM理论作为识别技术核心的嵌入式语音识别系统。本系统采用的是SPCE061A单片机,SPCE061A是一款16位结构的微控制器,其主要包括输入/输出端口、定时器/计数器、数/模转换、模/数转换、串行设备输入输出、通用异步串行接口、低电压监测和复位等部分,并且内置在线仿真电路ICE接口,较高的处理速度使其能够快速的处理复杂的数字信号。SPCE061A单片机应用领域非常广泛,例如应用在家用电器控制器、工业控制、通信产品、医疗设备以及电子书籍等诸多方面。7.2语音识别模块的硬件结构框架应用SPCE061A构建语音识别模块的硬件电路,其内部含有的高精度AD,DA单元可以极大的降低系统的硬件开发成本,提高系统电路的可靠性。硬件系统主要完成语音信号的拾取、调理、AD转换得到数字化的语音信号送给微处理器处理,还要有进行控制的人机接口电路和数据存储单元等。语音识别模块硬件测试平台的电路框图如图4-1所示,主要包含四个部分:语音信号采集前向通道完成语音信号的拾取、调理;人机接口电路完成人机对话进行模块操作;微处理器完成信号的AD采集、数据处理、管理;数据存储电路完成采集语音数据、数据处理中间变量的存储、管理、数据模板、提示语音的存储管理。图7-1语音信号采集识别测试系统的硬件框图7.3语音采集前向通道电路语音采集前向通道主要包含语音信号获取电路、带通滤波放大电路、AGC电路、电压偏置电路等四个部分。7.3.1语音信号获取电路信号的获取传感器采用驻极体话筒实现。驻极体话筒的输出线便有三根,即源极S,漏极D,外壳屏蔽线如图4-2(a)所示。驻极体话筒的接法有两种:源极输出与漏极输出。漏极输出有电压增益,因而话筒灵敏度比源极输出时要高,一般采用漏极输出。目前许多话筒在生产时已将源极S与编织线一起接地,所以看到的话筒头只有两根线如图4-2(b)。话筒电路如图4-2(c),漏极D与电源正极间接漏极电阻RD为其提供偏置电压,信号由漏极D经0.luf的电容祸合至滤波放大电路输出。7-2信号获取电路7.3.2放大滤波电路为提高系统的实用性和性价比,采用了一个单运放构成反馈放大型的带通滤波器,运放采用LM358实现,LM358为满摆幅高性能运放,且可单电源供电,提高了系统的实用性,单电源电路要求给加入的交流信号提供一个直流偏置由R3和R4构成。7.3.3AGC电路为了更好的采集信号,使AD采样尽可能满幅度,且不使信号失真,加入了AGC放大电路,AGC电路放大电路采用放大倍数可控运放AD603经典电路制作实现。7.3.4电压偏置电路单片机的AD为单端输入,只能采集0-2.4V的信号,而AGC放大之后语音信号的幅度被放大或限制在士1.2V之间,所以要进行电压搬移,通过简单的偏置升压电路即可,电路如图7-3所示,该偏置电压来自单片机的AD参考电压源,保证了电压不超过AD的最大允许范围。图7-3电压偏置电路7.4人机接口电路人机接口电路主要完成人机交互及对MCU的操作包含按键接口电路、串口通信电路、JTAG接口电路,语音提示及测试的DA接口电路等四个部分。7.5微处理器核心板电路微处理器核心板电路主要包括由AS1117-3.3构成的5V-3.3V电源转换电路,复位电路、AD/DA参考源选择电路、数字地模拟地分离及电源引脚滤波电路以及AD/DA输入输出接口等部分电路。7.6数据存储电路数据存储电路包含单片机内部的FLASH和外接的SRAM电路两个部分,单片机内部的128K的FLASH规划32K用于存储程序外,剩余的部分用于存储识别模板、提示语音,可以用软件使用MOVX指令对FLASH存储器编程,和一般的操作数一样为MOVX指令提供待编程的地址和数据字节,不需要外部电路。SRAM芯片采用ISSI公司的高速RAM,IS63L1204-12J,为64KB,高速静态RAM存储时间为12ns,通过8位数据口,三位控制口,16位地址总线接口。8基于SPCE061A的语音识别模块软件设计8.1系统软件的总体设计系统软件的设计如图5-1按功能主要分为人机接口主控模块、语音训练功能模块、语音识别功能模块(含识别结果输出及提示语音播放)、语音录入功能模块等四个功能模块。图8-1语音识别模块的软件结构框图人机接口主控模块:通过串口或按键接收配置、控制指令,执行对应的语音训练、识别、录音程序和功能;语音训练功能模块:实现语音的特征提取、模板训练及生成,将结果存入语音模板库;语音识别功能模块:实现语音的特征提取、并读取模板库中的模板与提取的模板逐一匹配、输出识别的结果及播放相应的提示语音;语音录入功能模块:实现提示语音数据的获取、压缩、存入对应的语音段空间。8.2模块程序的整合系统除主控模块外主要还有语音训练功能模块、语音识别功能模块、语音录入功能模块,主要程序模块如图5-2a所示,语音训练的主要步骤包含语音数据的获取、特征参数提取及模板的训练、生成存储等步骤;语音识别的主要步骤包含语音数据的获取、特征参数提取及模板的读取、匹配、结果的输出(含语音的播放)等步骤;语音录入的主要步骤包含了语音数据的获取、数据编码压缩、存储等步骤。a.语音识别模块主要程序框图b.子程序模块图8-2语音识别模块的软件结构流图通过对比发现,语音训练、识别有多个步骤程序是一样,甚至语音录入也用到相同的程序步骤即语音数据的获取,所以其实程序模块可归结为图8-2b所示的6个子程序,这6个子程序根据人机接口主控模块的调度,完成不同的任务,形成如图8-3所示的基于SPCE061A的系统软硬件结构框图。SPCE061ASPCE061A图8-3基于SPCE061A的语音识别模块软硬件结构框图8.3语音识别模块的子程序设计按照图5-2所示的6个子程序,下面将进行详细的设计介绍。8.3.1主控接口模块的设计为方便模块的应用和操作,使操作者可以直接进行模块功能的操作而不需要了解模块内部的设计,系统设置了两种操作模式:按键操作模式;串口操作模式;也可以通过串口模式更改系统的模块的输出指令表和对应的语音提示代码段之后采用按键控制其工作。系统初始化后,通过按键或串口对模块进行操作,产生相应的中断,执行相应的中断程序即可进行操作。8.3.2语音数据的获取语音数据的获取主要包含AD转换、端点检测、采集数据的处理存储三个部分的内容。在主控模块开启AD中断后,其在定时器3的触发下一直工作,而端点检测、数据的存储则作为一个整体统一考虑。8.3.3特征参数的提取要进行语音的训练、识别,重要的一步就是进行特征参数的提取,特征参数的提取一般分为预加重处理、分帧、加窗、自相关系数的计算、基于Durbin算法的LPC系数的推导,LPCC系数的递推等步骤,计算出的LPCC系数即为所求的特征参数。8.3.4模板的生成及训练如果采用偶然训练法,生成的特征参数就可以作为该词的识别模板,存储起来,但为了提高系统的识别率,本系统采用鲁棒性训练法,即第一次训练时对该词训练5次,生成5个模板,采用DTW算法求5个模板中距离最近的两个模板,按照这两个模板的匹配路径,逆向寻径求平均即得到第一个模板,按照模板的格式进行处理,写入第一个词对应的FLASH空间。8.3.5FLASH存储器的读写可以用软件使用MOVX指令对FLASH存储器编程,和一般的操作数一样为MOVX指令提供待编程的地址和数据字节。在使用M

温馨提示

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

评论

0/150

提交评论