基于单片机的语音识别系统设计-毕业设计.docx
《基于单片机的语音识别系统设计-毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的语音识别系统设计-毕业设计.docx(45页珍藏版)》请在冰豆网上搜索。
苏州大学本科生毕业设计(论文)
基于单片机的语音识别系统设计
苏州大学应用技术学院10电子1016405007肖鹏
目录
前言 2
第一章语音识别系统分析 3
第1.1节语音识别系统结构 3
第1.2节语音设计原理 3
第二章语音识别系统硬件电路 9
第2.1节基于STC控制电路 9
第2.2节基于语音处理电路 11
第2.3节基于语音采集模块电路 13
第2.4节语音处理系统电路图 13
第三章语音识别的实现 15
第3.1节与PC机的连接结构 15
第3.2节与语音处理模块的连接 16
第3.3节语音识别软件设计 17
第四章系统测试 22
第4.1节检测结果 22
第4.2节误差分析 23
结论 25
参考文献 26
致谢 27
附录 28
附录1:
实物照片说明 28
附录2:
部分源程序 28
-i-
【摘要】:
设计了一种由说话者说出控制命令,系统进行识别理解,并执行相应动作的语音识别系统。
系统由三个模块——语音采集模块、语音处理模块、单片机判断模块组合而成。
说话者的指令通过咪头采集并送入语音芯片LD3320中,接着指令信号与标准库中的指令比较后,结果被送入单片机STC11l08x中进行处理。
单片机输出判断结果,并驱动外部小灯“亮灭”来显示结果是否正确。
该系统与传统相比较,具有结构简单,抗干扰能力强,使用方便等特点,并且系统智能化程度高,性价比好,运行可靠。
【关键词】:
单片机;语音信号处理;c语言;
[Abstract]:
Designofacontrolcommandfromthespeakertosay,theidentificationsystemtounderstandandperformtheappropriateactionbasedspeechrecognitionsystem.Systemconsistsofthreemodules-voiceacquisitionmodule,voiceprocessingmodule,microcontrollerjudgmentmodulecombination.InstructionsthroughthespeakerintothemicrophoneandthevoicechipLD3320collectedforprocessing,thecommandsignalandstandardlibraryinstructioncomparison,theresultsaresenttothemicrocontrollerSTC11l08xforprocessing.Microcontrolleroutputjudgmentresultsanddrivesmallexternallightstoshowofftheresultsarecorrect.Thesystemiscomparedwiththetraditional,simplestructure,stronganti-interferenceability,easytousefeaturesandahighdegreeofintelligencesystems,cost-effective,reliableoperation.
[Keywords]:
Microcontroller;speechsignalprocessing;clanguage;
第44页
前言
语音识别研究工作开始于20世纪50年代。
1952年,当时AT&T的Bell实验室实现了第一个可识别十个英文孤立数字的语音识别系统Audry系统。
20世纪60年代,计算机的应用推动了语音识别的发展。
这时期的重要成果是提出了动态规划和线性预测分析技术,其中后者较好地解决了语音信号产生模型的问题,对语音识别的发展产生了深远影响。
20世纪70年代,语音识别领域取得了突破。
在理论上,LP技术得到进一步发展,动态时间归正技术基本成熟,特别是提出了矢量量化和隐马尔可夫模型理论。
在实践上,实现了基于线性预测倒谱和DTW技术的特定人孤立语音识别系统。
20世纪80年代,语音识别研究进一步走向深入,其显著特征是HMM模型和人工神经元网络在语音识别中的成功应用。
HMM模型的广泛应用应归功于AT&TBell实验室
Rabiner等科学家的努力,他们把原本艰涩的HMM纯数学模型工程化,从而为更多研究者了解和认识。
ANN和HMM模型建立的语音识别系统,性能相当。
进入20世纪90年代,随着多媒体时代的来临,迫切要求语音识别系统从实验室走向实用。
许多发达国家如美国、日本、韩国以及IBM、Apple、AT&T、NTT等著名公司都为语音识别系统的实用化开发研究投以巨资。
当然现在的研究更加深入,相信不久的将来,会有更多的形形色色的语音应用出现在我们的生活中,为平凡的生活增添更多色彩,帮助人们过上更加美好的生活。
第一章语音识别系统分析
第1.1节语音识别系统结构
声音
语音采集模块
语音处理模块
LD3320
语音识别系统可以分为三个模块——语音采集模块、语音处理模块、单片机控制模块。
如图1-1所示。
控制单元
STC11l08x
图1-1语音识别系统框图
外部显示模块
语音采集模块将声音信号变成电信号,并将电信号送入语音处理模块中。
在语音处理模块里,会进行信号取样,频谱分析,特征提取,以及与语音库比较等工作,最后将语音识别结果传到单片机中。
在单片机判断后再送到外部显示模块,用灯的“亮灭”显示语音识别是否成功。
第1.2节语音设计原理
1.2.1语音识别定义
自从人类可以制造和使用各种机器以来,人们就有一个理想,那就是让各种机器能听懂人类的语言并能按人的口头命令来行动,从而实现人机的语言交流。
随着科学技术的不断发展,语音识别技术的出现,使人类的这一理想得以实现。
语音识别技术就是让机器通过识别和理解把语音信号转变为相应的文本或命令的高科技。
语音识别是一门交叉学科,语音识别正逐步成为信息技术中人机接口的关键技术。
语音技术的应用已经成为一个具有竞争性的新兴高科技产业。
当今,语音识别产品在人机交互应用中已经占到越来越大的比例。
语音识别简单说就是把含有人发音特征的信息变成逻辑’0’,’1’,储存在计算机中,然后利用计算机来进行处理和识别人们所说的话,并且将结果以一种看得见的方式执行
显现出来。
1.2.2语音识别的方法
1.窗函数的选择
浊音含有较大的能量,并且带有周期性,清音没浊音那样的特点,它的能量不高,且没周期性,容易被人们当做噪声而误处理掉。
考虑到现实应用性,时域分析并不能很好体现语音的特点,不过频谱分析没有那个问题。
它可以表现出其语音特征,于是我们采用频谱分析的方法处理语音信号。
¥
信号从时域到频域的转换公式
k
s(ejw)=
åw(k-n)s(n)e-jwnn=-¥
(1-1)
语音信号不是变到频域就结束,我们还要考虑到单片机计算速度与存储空间,所以很明显不可能将全部语音信号转换到频域之中。
不过,问题也是有解决方法的,可以选择若干有限多的样本点个数,并且通过这些的样本点,基本上模拟反映出原始样本的语音特点。
为了保证样本点的个数最少,且能保证由样本点组合而成的函数与原时域函数相近,这就要考虑到那奎斯特定理的应用。
那奎斯特定理即采样的频率至少为采样样本最高频率的两倍。
不过同时,我们要明白,理论上所设想的样本点的个数与实际的采样个数是不一致的,因为没有理想的矩形窗,这就会导致有一些原本该采到点落在窗的外面,事实上没进入我们设想中的采样点集合。
换句话说,我们并没有选取到足够的样本点数。
为了改善这个不足,我们一般会把采样的频率在原设想的基础上再调高一些,多采一些点。
这样就算窗函数不是理想的,还是可以用采样得到点去近似模拟原函数。
除此之外,现实中我们不可能把整段语音信号一下处理完的,于是操作中,都是对其进行分段处理。
语音信号处理会用到FFT,而FFT分析中常常要用到窗函数,所以在
FFT分析的时候,选择什么样的窗函数,这个问题就显得十分重要,因为它关系着系统误差。
FFT的算法优劣关系着系统设计好坏。
如图1-2所示,说明了各种窗的变化特点。
我们根据各个窗的特征,比较他们在FFT分析中的优劣,这样可以选取到最合适的窗,最大可能的减少系统误差,使系统的准确率有了较高的保证。
图1-2矩形窗,汉宁窗,汉明窗,布莱克曼窗频率响应
不过,在我们选择窗函数前,必须要了解一下FFT的工作特点,因为窗函数是由
FFT算法的最优解决定出来的。
窗函数应最大可能的配合FFT,这样系统才会更有效识别
语音。
在FFT算法中是假设信号离散化处理后是可以进行周期性延拓的,故含有该离散时间的信号都应当为周期函数,并且周期与样本点的个数无关。
但是如果样本点个数的大小不是信号的周期整数倍,那么假设条件就会不成立,同时会产生频谱泄漏的后果。
现实环境下所处理的未知信号一般是平稳的,但这也无法保证采样点数恰巧为周期的整数倍。
频谱泄漏使给定频率分量的能量泄漏到相邻的频率点,从而在测量结果中引起误差。
不过选择合适的窗函数可以减小频谱泄漏效应。
根据输入数据通过一个窗函数相当于原始数据的频谱与窗函数频谱的卷积。
有了FFT计算需要注意的要求以后,我们可以根据要求来选择窗函数。
由上图1-2可以很明显的看到矩形窗主瓣最小,但是旁瓣较多。
布莱克曼窗,主瓣最大,旁瓣衰减最快。
所以这两个窗都不符合处理语音的要求,所以我们不用。
语音处理的对象不仅含有低频的部分,还有高频的部分。
汉明窗与汉宁窗相比,其主瓣较小,且旁瓣衰减波动平缓,处理语音的清音时更容易采集到其信息特点,并且损失信号能量较小。
由上面的分析,我们可以在理论上得到选择海明窗的结论。
另外在现实,我们由前人的经验也可以得到,用的最多是海明窗。
基于理论和现实上的考虑,使用海明窗是个我们正确的选择。
海明窗:
w(n)=ï
ì0.54-0.46cos(2p*
í
ïî0;其他
nN-1
);0£n£N-1
(1-2)
选择好窗函数后,我们还有需要注意的地方,就是那个样本点的个数问题。
现实中我从理论资料查到下面的结论。
窗的衰减与持续时间没有必然的关系,N的加大仅仅为了缩小主瓣的带宽。
生活中样本点很少的话,短时能量会大幅度增加,但是样本点如果太多的话,可能会将短时的能量给其平均化,样本的特征可能就给掩盖掉了,不能反映语音的特点,所以识别也就不会成功。
这个结论,给我们采样点的个数有了一个提示,不是越多越好。
语音识别的对象有男有女,且信号长度一般为10ms到30ms之间。
于是考虑到女的音频较高(样本点较少约16个),男的音频较低(样本点较多约250个)所以取男女样本的中位数200个。
在具体的操作中,要保证含有至少两个音调周期,既保证频谱会出
现周期性的现象。
这样能提高系统识别的正确率,不会将信号当成噪声而不进行识别。
2.LPC介绍
有了上面的基础,可以更加具体深入的探讨处理语音技术的方法,由于采