基于单片机的语音识别系统研究
2014-04-29许振威姜望望缪荣国
许振威 姜望望 缪荣国
【摘要】由隐马尔可夫模型的算法和理论对语音进行处理以提高系统的识别能力,具体设计系统的电源电路、复位电路、输入系统、存储系统等硬件模块和软件实现方法,经过测试能够实现语音识别功能。
【关键词】隐马尔可夫;语音识别;单片机
在这个高科技的信息时代,计算机占着极为重要的地位,人机通信是人与机器之间进行信息通讯,使机器按照人的意愿工作,传统的人机通信是通过键盘、按钮以及显示器等机器设备实现的,在许多场合都不是很方便,其最理想的通信方式就是通过语音进行识别。实现人与机器通过自然语音的方式进行信息通讯,不仅可以简化日常工作,更可以提高工作效率,带给人们极大的方便。而实现这个理想最关键的部分就是语音识别技术。
1语音识别概述
1.1语音信号的产生
物体的振动产生声音,正在发声的物体叫做声源,声音在介质中以声波的形式传播。语音是指人的发声器官振动所发出的负载一定语言意义的声音,发音器官主要有肺部、气管、喉部、咽、鼻腔、口腔和上下唇,每个人的声道各不相同,从而各自发出的声音也不相同。
语音信号主要有模拟信号和数字信号两种表现形式。模拟信号是人直接通过耳朵听到的信号,是时间和幅值均连续的物理量,由于其数据量过大、有较多的随机因素等原因不能直接被作为计算机的识别信号。数字信号是时间和数值均离散的二进制数字量化的模拟信号,是计算机语音识别技术的基础。数字信号相比模拟信号有以下优点:可以实现很多复杂的信号处理工作;具有可靠性高、价格低廉、反应迅速等特点;有利于区分出干扰信号等。所以要想使计算机按照人类的自然语言要求工作,关键的就是将模拟信号转换为数字信号。
1.2语音信号的处理
根据讨论,若要对语音信号进行处理必须先对此信号进行预处理,即将模拟信号转换为数字信号,再整理、分析、理解转换后的数字信号,并过滤掉多余的信息。主要包括数字化、预加重和加窗分帧三部分。
数字化就是把语音模拟信号转换为数字信号的采样与量化过程,采样是在相同间隔的时间内抽取信号而得到离散的序列,并将其转换为数字。量化则是在有限的区域内分布采样后的信号。预加重是通过一个高通滤波器使频谱变得平坦,防止衰减作用,不受有限字长效应的影响。以“帧”为单位对语音信号进行截取,使信号有短时平稳的特征,加窗则可以让截取的信号波形更加平滑。
1.3语音信号的模块处理
在语音识别中,常使用的基本算法有:动态时间规整技术(DTW)、隐马尔可夫模型(HMM)和人工神经元网络(ANN)。
1)隐马尔可夫模型
隐马尔可夫模型(HMM)在当前语音识别系统中占据主流地位。它是一種随机概率模型,其使用大大降低了模型的复杂度。早在20世纪六七十年代就开始研究的统计信号模型。HMM是在Markov链的基础上发展起来的,但实际问题要更为复杂,所观察到的事件与一组概率分布相关。它是一个双重随机过程,一个是Markov链,这是基本随机过程,它描述状态的转移;一个是随机过程描述状态和观测值之间的统计对应关系,观察者不能直接看到状态,而是由感觉感知到的,因此称之为“隐”Markov模型,即HMM。
2)人工神经网络法
ANN现在已经成为了另一个热点,是非线性系统,具有DTW和HMM没有的对比、概括、推理能力。
3)动态时间规整技术
DTW是模板训练和模式匹配中出现最早的技术,使用动态规划技术在孤立词语音识别中具有良好的成果,但是其计算量较大,很难被使用到现实中的语音识别。目前已经被其他的算法所替代。
2语音识别系统设计思路
语音识别技术正在不断的发展中,在硬件平台上实现语音识别以取代繁琐的工作成为其发展的必然趋势。本文就是对基于单片机的语音识别系统的研究。由于单片机本身存在着处理速度慢、存储能力不强大的缺陷,所以此次设计是基于孤立词的语音识别系统。
语音识别系统的模型库训练工作原理是:特定人的语音信号进入系统,系统对进入的语音信号滤波,目的是为了消除需要的语音频率之外的其他杂音,进而数模转换,将输入的语音模拟信号数字化,有利于计算机进行识别。数字化后的语音信号再通过预处理、加窗分帧。对于剩下的语音信号送入HMM模板与模板库进行训练和匹配,再将最佳的结果传输给用户。
3系统模块设计及系统测试
此次设计是基于单片机的语音识别系统研究,有以下几点要求:该系统必须使完整的语音识别系统,有简单的显示功能,提高系统的识别性能,体积尽量减小。
工作原理首先采集语音信号,输入完成后通过滤波采集需要的语音信号,再通过数模转换器进入控制器,再与标准语音库中的语音信号进行对比,找出最接近该段信号的语音,再将识别出的语音通过LCD显示模块显示给用户。
系统检测首先确认是否有按键按下,当检测到有按键按下时,表示系统开始运行,如果没有按下,则表示系统处于非工作状态,只有当有按键时,才可以工作。进而开始接收语音信号,首先对语音信号进行滤波消除杂音,然后通过数模转换电路,将模拟信号转换为数字信号,预处理、端点检测后,与事先存储好的信号进行比对,得到最后的识别结果,将识别出来的结果,送往LCD液晶显示器上显示出来,展现给用户。
此次设计通过MATLAB软件实现对语音信号的调试。在接收语音信号时,有可能产生外界的干扰噪声,这就需要我们通过一系列复杂的公式计算,对该信号进行处理,进而在送由单片机进行下一步的工作。
4结束语
语音识别技术是实现人与计算机进行直接对话,让计算机自动对人所说的话进行识别、理解并执行的技术手段。语音识别技术的应用已经成为一个被受关注的新型技术产业,它的实现能够简化人们在以往工作中的繁琐,未来语音识别还要向低成本、高性能方向不断发展。
【参考文献】
[1]马丽静.基于单片机控制的语音识别系统的软件开发[J].电脑开发与应用,2003(05):37-38.
[2]张雄伟,陈亮.现代语音处理技术及应用[M].机械工业出版社,2003,5:26-30.
[责任编辑:张涛]