新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > LD3320的嵌入式语音识别系统的应用

LD3320的嵌入式语音识别系统的应用

作者:时间:2012-02-21来源:网络收藏

摘要:交互是比较人性化的人机操作界面,它需要的支持。就是这样一款芯片。介绍了该芯片的工作原理及,给出了与微处理器的硬件接口电路及软件程序。随着高档MCU的不断出现,以MCU为核心的语音交互会有非常好的前景。
关键词:芯片;语音;语音交互系统

1 概述
在现代社会,“懒人科技”大行其道。当面临众多繁琐的按键操作和菜单选择的时候,简单地说出指令,是最具有人情味的人机操作界面。让身边的各种电子设备可“听从”人类的语音,是从电影“星球大战”就开始的科技发展目标。虽然目前的科技还不能做到让计算机完全理解人类的所有自然语音,但是可以在一定程度上实现这个梦想。

2 特定人语音识别技术及原理
特定人语音识别(ASR,Auto Speech Recognition)技术是基于“关键词语列表”的识别技术,它是对大量的语音数据(相当于对数千人采集的数万小时的有效声音数据)经语言学家语音模型分析,建立数学模型,并经过反复训练提取基元语音的细节特征,以及提取各基元间的特征差异,得到在统计概率最优化意义上的各个基元语音特征,最后才由资深工程师将算法以及语音模型转换成硬件芯片并系统中。
ASR技术每次识别的过程就是把用户说出的语音内容,通过频谱转换为语音特征,再将这个转换后的语音特征和“关键词语列表”中的条目一一进行匹配,最优匹配的一条即作为识别结果。比如ASR技术在语音控制的手机应用中,这个“关键词语列表”的内容就是电话本中的人名、手机的菜单命令或手机存储卡中的歌曲名字。不论这个列表的条目内容是什么,只需要用户设置相关的寄存器,就可以把相应的待识别条目内容以字符形式传递给识别引擎。
由此可见,语音识别芯片完成的工作就是:把MIC(麦克风)输入的声音进行频谱分析后提取语音特征,再和关键词语列表中的关键词语进行对比匹配,最后找出得分最高的关键词语作为识别结果输出。
通常基于ASR技术的语音识别芯片能在两种情况下给出识别结果:
①外部送入预定时间的语音数据(比如5 s的语音数据),芯片对这些语音数据运算分析后,给出识别结果。
②外部送入语音数据流,语音识别芯片通过端点检测(VAD,Voice Activity Detection)技术检测出用户停止说话,把用户开始说话到停止说话之间的语音数据进行运算分析后,给出识别结果。
对于第一种情况,可以理解为设定了一个定时录音(如5 s的语音数据),芯片在5 s后会停止把声音送入识别引擎,并且根据已送入引擎的语音数据计算出识别结果。
对于第二种情况,需要了解VAD的工作原理:VAD技术是在一段语音数据流中,判断出哪个时间点是人声音的开始,哪个时间点是人声音的结束。判断的依据是,在背景声音的基础上有了语音发音,则视为声音的开始。而后,检测到一段持续时间的背景音(比如600 ms),则视为人声说话结束。通过VAD判断出人声说话的区域后,语音识别芯片会把这期间的声音数据进行识别处理,计算出识别结果。
除了以上两种情况外,语音识别算法无法“主动”地判断出是否识别出了一个结果。这是因为,在计算过程中的任何时刻,语音识别器都会对已送人识别芯片的声音数据进行分析,并根据匹配程度为识别列表中的关键词语进行打分,最匹配的打分最高。但是,由于识别算法不知道用户后面是否还继续说话,所以无法主动地判断已经识别出的结果。

3 语音识别芯片的工作原理
3.1 语音识别系统原理结构
LD3320语音识别芯片采用的就是ASR技术,图1就是由LD3320和单片机(或嵌入式系统)组成的语音识别系统原理框图。图中给出了LD3320的内部原理结构,本文中选用的MCU是STC10L08XE单片机。

本文引用地址:http://www.eepw.com.cn/article/149587.htm

a.jpg


语音识别芯片LD3320是ICRoute公司的产品,它采用ASR技术,提供了一种脱离按键、键盘、鼠标、触摸屏等GUI操作方式且基于语音的用户界面VUI(Voice User Interface),使得用户对该系统的操作更简单、快速和自然。
用户只需要把识别的关键词语以字符串的形式传送进芯片,即可以在下次识别中立即生效。比如,用户在51等主控MCU的编程中,简单地通过设置芯片的寄存器,把诸如“你好”这样的识别关键词语的内容动态地传入芯片中,芯片就可以识别所设定的关键词语了。每个关键词语可以是单字、词组、短句或者任何的中文发音的组合。基于LD3320的语音识别系统可以随着使用流程,在运行时动态地更改关键词语列表的内容,这样可以用一个系统支持多种不同的场景,同时也不需要用户作任何的录音训练。
3.2 LD3320的用户使用模式
LD3320有两种用户使用模式,即“触发识别模式”和“循环识别模式”。用户可以通过编程,设置两种不同的用户使用模式。
触发识别模式:系统的主控MCU在接收到外界一个触发后(比如用户按动某个按键),启动LD3320芯片的一个定时识别过程(比如5 s),要求用户在这个定时过程中说出要识别的语音关键词语。这个过程结束后,需要用户再次触发才能再次启动一个识别过程。
循环识别模式:系统的主控MCU反复启动识别过程。如果没有人说话就没有识别结果,则每次识别过程的定时到时后再启动一个识别过程;如果有识别结果,则根据识别作相应处理后(比如播放某个声音作为回答)再启动一个识别过程。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭