严老师您好 上次我通过您教的方法使音频光信号转换成电信号为电信号,语音识别模块还是有时候识别不到。是什么原因

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于单片机的语音识别系统设计-毕业设计.doc43页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:250 &&
你可能关注的文档:
··········
··········
基于单片机的语音识别系统设计
苏州大学 应用技术学院 10电子 101座机电话号码 肖鹏
第一章 语音识别系统分析 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
参考文献 26
附录1:实物照片说明 28
附录2:部分源程序 28
【摘要】:设计了一种由说话者说出控制命令,系统进行识别理解,并执行相应动作的语音识别系统。系统由三个模块――语音采集模块、语音处理模块、单片机判断模块组合而成。说话者的指令通过咪头采集并送入语音芯片LD3320中,接着指令信号与标准库中的指令比较后,结果被送入单片机STC11l08x中进行处理。单片机输出判断结果,并驱动外部小灯“亮灭”来显示结果是否正确。该系统与传统相比较,具有结构简单,抗干扰能力强,使用方便等特点,并且系统智能化程度高,性价比好,运行可靠。
【关键词】:单片机;语音信号处理;c语言;
[Abstract] : Design of a control command from the speaker to say, the identification system to understand and perform the appropriate action based speech recognition system. System consists of three modules - voice acquisition module, voice processing module, microcontroller judgment module combination. Instructions through the speaker into the microphone and the voice chip LD3320 collected for processing, the command signal and standard library instruction compariso
正在加载中,请稍后...语音识别的概述
语音识别的常规解析
语音识别的应用
语音识别常用电路
语音识别的定义
&&& 语音识别就是让机器通过识别和理解过程将语音信号转换成为乡音的文本或者命令的高技术,是一门交叉学科。
语音识别的前端处理
&&& 前端处理是指在特征提取之前,先对原始语音进行处理,部分消除噪声和不同说话人带来的影响,使处理后的信号更能反映语音的本质特征.最常用的前端处理有端点检测和语音增强.端点检测是指在语音信号中将语音和非语音信号时段区分开来,准确地确定出语音信号的起始点.经过端点检测后,后续处理就可以只对语音信号进行,这对提高模型的精确度和识别正确率有重要作用.语音增强的主要任务就是消除环境噪声对语音的影响.目前通用的方法是采用维纳滤波,该方法在噪声较大的情况下效果好于其它.
语音识别的任务分类和应用
&&& 根据识别的对象不同,语音识别任务大体可分为3类,即孤立词识别(isolated word recogniti),关键词识别(或称关键词检出,keyword spotting)和连续语音识别.其中,孤立词识别 的任务是识别事先已知的孤立的词,如"开机"、"关机"等;连续语音识别的任务则是识别任意的连续语音,如一个句子或一段话;连续语音流中的关键词检测针对的是连续语音,但它并不识别全部文字,而只是检测已知的若干关键词在何处出现,如在一段话中检测"计算机"、"世界"这两个词.
&&& 根据针对的发音人,可以把语音识别技术分为特定人语音识别和非特定人语音识别,前者只能识别一个或几个人的语音,而后者则可以被任何人使用.显然,非特定人语音识别系统更符合实际需要,但它要比针对特定人的识别困难得多.
&&& 另外,根据语音设备和通道,可以分为桌面(PC)语音识别、电话语音识别和嵌入式设备(、PDA等)语音识别.不同的采集通道会使人的发音的声学特性发生变形,因此需要构造各自的识别系统.
&&& 语音识别的应用领域非常广泛,常见的应用系统有:语音输入系统,相对于键盘输入方法,它更符合人的日常习惯,也更自然、更高效;语音,即用语音来控制设备的运行,相对于手动控制来说更加快捷、方便,可以用在诸如工业控制、语音拨号系统、智能家电、声控智能玩具等许多领域;智能对话查询系统,根据客户的语音进行操作,为用户提供自然、友好的数据库检索服务,例如家庭服务、宾馆服务、旅行社服务系统、订票系统、医疗服务、银行服务、股票查询服务等等.
常用的一些声学特征
  * 线性预测系数LPC:线性预测分析从人的发声机理入手,通过对声道的短管级联模型的研究,认为系统的传递函数符合全极点数字的形式,从而n 时刻的信号可以用前若干时刻的信号的线性组合来估计。通过使实际语音的采样值和线性预测采样值之间达到均方差最小LMS,即可得到线性预测系数LPC。对 LPC的计算方法有自相关法(德宾Durbin法)、协方差法、格型法等等。计算上的快速有效保证了这一声学特征的广泛使用。与LPC这种预测参数模型类似的声学特征还有线谱对LSP、反射系数等等。
  * 倒谱系数CEP:利用同态处理方法,对语音信号求离散傅立叶变换DFT后取对数,再求反变换iDFT就可得到倒谱系数。对LPC倒谱(LPCCEP),在获得滤波器的线性预测系数后,可以用一个递推公式计算得出。实验表明,使用倒谱可以提高特征参数的稳定性。
  * Mel倒谱系数MFCC和感知线性预测PLP:不同于LPC等通过对人的发声机理的研究而得到的声学特征,Mel倒谱系数MFCC和感知线性预测 PLP是受人的听觉系统研究成果推动而导出的声学特征。对人的听觉机理的研究发现,当两个频率相近的音调同时发出时,人只能听到一个音调。临界带宽指的就是这样一种令人的主观感觉发生突变的带宽边界,当两个音调的频率差小于临界带宽时,人就会把两个音调听成一个,这称之为屏蔽效应。Mel刻度是对这一临界带宽的度量方法之一。
  MFCC的计算首先用FFT将时域信号转化成频域,之后对其对数能量谱用依照Mel刻度分布的三角滤波器组进行卷积,最后对各个滤波器的输出构成的向量进行离散余弦变换DCT,取前N个系数。PLP仍用德宾法去计算LPC参数,但在计算自相关参数时用的也是对听觉激励的对数能量谱进行DCT的方法。
语音识别的声学模型
语音识别系统的模型通常由声学模型和语言模型两部分组成,分别对应于语音到音节概率的计算和音节到字概率的计算。本节和下一节分别介绍声学模型和语言模型方面的技术。
HMM声学建模:马尔可夫模型的概念是一个离散时域有限状态自动机,隐马尔可夫模型HMM是指这一马尔可夫模型的内部状态外界不可见,外界只能看到各个时刻的输出值。对语音识别系统,输出值通常就是从各个帧计算而得的声学特征。用HMM刻画语音信号需作出两个假设,一是内部状态的转移只与上一状态有关,另一是输出值只与当前状态(或当前的状态转移)有关,这两个假设大大降低了模型的复杂度。HMM的打分、解码和训练相应的算法是前向算法、Viterbi算法和前向后向算法。
语音识别中使用HMM通常是用从左向右单向、带自环、带跨越的拓扑结构来对识别基元建模,一个音素就是一个三至五状态的HMM,一个词就是构成词的多个音素的HMM串行起来构成的HMM,而连续语音识别的整个模型就是词和静音组合起来的HMM。上下文相关建模:协同发音,指的是一个音受前后相邻音的影响而发生变化,从发声机理上看就是人的官在一个音转向另一个音时其特性只能渐变,从而使得后一个音的频谱与其他条件下的频谱产生差异。上下文相关建模方法在建模时考虑了这一影响,从而使模型能更准确地描述语音,只考虑前一音的影响的称为Bi- Phone,考虑前一音和后一音的影响的称为Tri-Phone。
英语的上下文相关建模通常以音素为基元,由于有些音素对其后音素的影响是相似的,因而可以通过音素解码状态的聚类进行模型参数的共享。聚类的结果称为senone。决策树用来实现高效的triphone对senone的对应,通过回答一系列前后音所属类别(元/辅音、清/浊音等等)的问题,最终确定其HMM状态应使用哪个senone。分类回归树CART模型用以进行词到音素的发音标注。
语言模型主要分为规则模型和统计模型两种。统计语言模型是用概率统计的方法来揭示语言单位内在的统计规律,其中N-Gram简单有效,被广泛使用。
N-Gram:该模型基于这样一种假设,第n个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。常用的是二元的Bi-Gram和三元的Tri-Gram。
语言模型的性能通常用交叉熵和复杂度(Perplexity)来衡量。交叉熵的意义是用该模型对文本识别的难度,或者从压缩的角度来看,每个词平均要用几个位来编码。复杂度的意义是用该模型表示这一文本平均的分支数,其倒数可视为每个词的平均概率。平滑是指对没观察到的N元组合赋予一个概率值,以保证词序列总能通过语言模型得到一个概率值。通常使用的平滑技术有图灵估计、删除插值平滑、Katz平滑和Kneser-Ney平滑。
语音识别的搜索
  连续语音识别中的搜索,就是寻找一个词模型序列以描述输入语音信号,从而得到词解码序列。搜索所依据的是对公式中的声学模型打分和语言模型打分。在实际使用中,往往要依据经验给语言模型加上一个高权重,并设置一个长词惩罚分数。
  Viterbi:基于动态规划的Viterbi算法在每个时间点上的各个状态,计算解码状态序列对观察序列的后验概率,保留概率最大的路径,并在每个节点记录下相应的状态信息以便最后反向获取词解码序列。Viterbi算法在不丧失最优解的条件下,同时解决了连续语音识别中HMM模型状态序列与声学观察序列的非线性时间对准、词边界检测和词的识别,从而使这一算法成为语音识别搜索的基本策略。
  由于语音识别对当前时间点之后的情况无法预测,基于目标函数的启发式剪枝难以应用。由于Viterbi算法的时齐特性,同一时刻的各条路径对应于同样的观察序列,因而具有可比性,束Beam搜索在每一时刻只保留概率最大的前若干条路径,大幅度的剪枝提高了搜索的效率。这一时齐Viterbi- Beam算法是当前语音识别搜索中最有效的算法。 N-best搜索和多遍搜索:为在搜索中利用各种知识源,通常要进行多遍搜索,第一遍使用代价低的知识源,产生一个候选列表或词候选网格,在此基础上进行使用代价高的知识源的第二遍搜索得到最佳路径。此前介绍的知识源有声学模型、语言模型和音标词典,这些可以用于第一遍搜索。为实现更高级的语音识别或口语理解,往往要利用一些代价更高的知识源,如4阶或5阶的N-Gram、4阶或更高的上下文相关模型、词间相关模型、分段模型或语法分析,进行重新打分。最新的实时大词表连续语音识别系统许多都使用这种多遍搜索策略。
  N-best搜索产生一个候选列表,在每个节点要保留N条最好的路径,会使计算复杂度增加到N倍。简化的做法是只保留每个节点的若干词候选,但可能丢失次优候选。一个折衷办法是只考虑两个词长的路径,保留k条。词候选网格以一种更紧凑的方式给出多候选,对N-best搜索算法作相应改动后可以得到生成候选网格的算法。
  前向后向搜索算法是一个应用多遍搜索的例子。当应用简单知识源进行了前向的Viterbi搜索后,搜索过程中得到的前向概率恰恰可以用在后向搜索的目标函数的计算中,因而可以使用启发式的A算法进行后向搜索,经济地搜索出N条候选。
语音识别系统的系统实现
  语音识别系统选择识别基元的要求是,有准确的定义,能得到足够数据进行训练,具有一般性。英语通常采用上下文相关的音素建模,汉语的协同发音不如英语严重,可以采用音节建模。系统所需的训练数据大小与模型复杂度有关。模型设计得过于复杂以至于超出了所提供的训练数据的能力,会使得性能急剧下降。
  听写机:大词汇量、非特定人、连续语音识别系统通常称为听写机。其架构就是建立在前述声学模型和语言模型基础上的HMM拓扑结构。训练时对每个基元用前向后向算法获得模型参数,识别时,将基元串接成词,词间加上静音模型并引入语言模型作为词间转移概率,形成循环结构,用Viterbi算法进行解码。针对汉语易于分割的特点,先进行分割再对每一段进行解码,是用以提高效率的一个简化方法。
  对话系统:用于实现人机口语对话的系统称为对话系统。受目前技术所限,对话系统往往是面向一个狭窄领域、词汇量有限的系统,其题材有旅游查询、订票、数据库检索等等。其前端是一个语音识别器,识别产生的N-best候选或词候选网格,由语法分析器进行分析获取语义信息,再由对话管理器确定应答信息,由语音合成器输出。由于目前的系统往往词汇量有限,也可以用提取关键词的方法来获取语义信息。
语音识别系统的自适应与强健性
  语音识别系统的性能受许多因素的影响,包括不同的说话人、说话方式、环境噪音、传输信道等等。提高系统鲁棒性,是要提高系统克服这些因素影响的能力,使系统在不同的应用环境、条件下性能稳定;自适应的目的,是根据不同的影响来源,自动地、有针对性地对系统进行调整,在使用中逐步提高性能。以下对影响系统性能的不同因素分别介绍解决办法。
  解决办法按针对语音特征的方法(以下称特征方法)和模型调整的方法(以下称模型方法)分为两类。前者需要寻找更好的、高鲁棒性的特征参数,或是在现有的特征参数基础上,加入一些特定的处理方法。后者是利用少量的自适应语料来修正或变换原有的说话人无关(SI)模型,从而使其成为说话人自适应(SA)模型。
  说话人自适应的特征方法有说话人规一化和说话人子空间法,模型方法有贝叶斯方法、变换法和模型合并法。
  语音系统中的噪声,包括环境噪声和录音过程加入的噪声。提高系统鲁棒性的特征方法包括语音增强和寻找对噪声干扰不敏感的特征,模型方法有并行模型组合PMC方法和在训练中人为加入噪声。信道畸变包括录音时话筒的距离、使用不同灵敏度的话筒、不同增益的前置放大和不同的设计等等。特征方法有从倒谱矢量中减去其长时平均值和RAA滤波,模型方法有倒谱平移。
语音识别系统的性能指标
语音识别系统的性能指标主要有四项。①词汇表范围:这是指机器能识别的单词或词组的范围,如不作任何限制,则可认为词汇表范围是无限的。②说话人限制:是仅能识别指定发话者的语音,还是对任何发话人的语音都能识别。③训练要求:使用前要不要训练,即是否让机器先“听”一下给定的语音,以及训练次数的多少。④正确识别率:平均正确识别的百分数,它与前面三个指标有关。
语音识别技术的军事应用
  语音识别技术在军事领域有着重要的应用价值。一些语音识别技术就是着眼于军事活动而研发,并在军事领域首先应用、首获成效的。目前,语音识别技术已在军事通信、军事保密、军事情报和指挥办公自动化等方面得以应用,在日常军事活动和高技术条件下的局部战争中都发挥了重要作用。
  (一)军事通信
  在当代高技术通信系统中,语音识别正逐步成为人机的关键技术,语音识别技术与语音合成技术的结合,使人们可以甩掉键盘,通过语音命令进行操作。从而,使智能语音接口把通信器材的“”属性拟人化、智能化了,变成了服务的“提供者”。比如,人们通过语音命令,可以方便地从远端的数据库系统中查询与提取有关信息。现在,简单的人机对话已在通信服务中广泛应用。比如,我们拨通某一单位的电话总机,通常可以听到“请拨分机号”以及“人工服务请拨0”等语音提示,有的单位电话总机还可以寻问“请说您找哪位”,在进行语音识别后自动接通拨叫的电话。在遍布美国大街小巷的公用电话亭里,凡有语音识别系统标识的,用户只需对着电话说“Cnect Operator Please”,系统所具有的关键词检测技术就可以从句子中查找到“Operator”,并直接把电话接通到接线员,系统的识别率超过99%。
  (二)军事保密
  语音识别中的声纹识别技术,在军事保密中有着重要的应用价值。在军事计算机系统和核心要害部位的封闭管理中,应用声纹识别技术进行身份认证,具有很高的精确度,可进一步增加系统的安全性。比如,一些应用了声纹识别技术的新型计算机安全产品,可以在普通的USB加密钥匙基础上,增加声纹认证功能,并对计算机系统进行加密,保护计算机系统中的重要文件不被非法窃取、浏览、篡改、删除或破坏。它符合国家安全标准,对文件的加密、解密操作极其简便,提供多重安全保护,能可靠地防止非法用户进入、使用和窃取系统。在一些军事要地的核心部位,应用语音识别技术实施门禁管理,可以有效辨识合法进出者。保密管理系统根据输入的自然语音信号,进行声纹身份认证,并自动开启或闭合门禁设施。
  (三)指令确认
  在军事行动中,通过电话发出命令是常用的信息传递方法。应用声纹识别技术,可以对发出命令者进行身份确认。避免出现敌方利用我方信道伪装我指挥员发出假命令,干扰我方军事行动的情况。由于在计算机信息处理中,录音的过程要经过模拟到数字的信号转换,放音的过程还要经过数字到模拟的信号转换,因此,即使窃密者使用录音设备录下合法用户的声音进行声纹身份认证,经过从模拟到数字、再从数字到模拟的两次信号转换,声音频谱会有明显衰减和失真,这种失真很容易被认证程序分辩出来。所以,依靠录音登录也不能通过声纹认证。适当调节声纹认证严格程度的阈值,声纹认证的“错误接受率”和“错误拒绝率”可以有所下降。
  (四)情报侦听
  声纹识别技术对说话人身份确认的作用在情报侦听中具有相当重要的价值。目前该技术在军事情报工作中已经有所应用,据报道,曾迫降在我国海南机场的美军EP-3侦察机中就安装了声纹识别侦听模块。这一声纹识别系统功能强大,只要被侦察者通过无线电进行对话,该系统便能查明通话者的身份,尤其是高层领导者的身份。美军正是靠着这套功能强大的系统,掌握了其他国家大量绝密情报。五角大楼曾专门邀请语言学家,对被侦察国家的语言进行了全面深入的研究,开发出了一套独特的监听系统,只要美军截获到对方的通话,这套系统能立即识别出通话者的身份,从而判断出从中掌握到的情报的价值到底有多大。当截获到对方通话后,监听系统能自动删除杂音,通过与声音数据库相对照,准确识别出通话者身份。据美国《华盛顿时报》披露,美国国家安全局一直将声音识别技术当作研究重点。比如,利比亚领导人卡扎菲就是美国情报机构重点识别的对象,现在,只要卡扎菲利用利比亚的通信网络进行通话,声音识别系统就会立即提醒工作人员:卡扎菲正在通话,请注意。事实上,早在70年代,美国国家安全局就已经掌握了移动电话声音识别术,如果前苏联领导人勃列日涅夫乘车行驶在莫斯科的某条大街上,他用移动电话跟其他人说话,国家安全局的声音识别系统就会立即确认出勃列日涅夫的身份,他的谈话内容就会立即被国家安全局工作人员记录下来。五角大楼一位情报官曾表示:“这套系统甚至能够分辨出是车内的勃列日涅夫还是其他人打的嗝儿。最近美国前情报官詹姆士.巴姆福德在其新著《秘密》一书中透露的一些内幕消息也证实了这套声音识别系统的存在。书中说,美国情报部门开始声音识别技术的研究已经有很多年了,最近几年,这套系统的功能不断完善,可以准确地识别出具体的声音。巴姆福德指出:“监听员甚至可以说出被监听者是否感冒了。”他还透露,国家安全局拥有大量被监听者的资料,有时候,监听员在监听时,旁边就放着这些被监听者的照片。
基于SPCE061A的语音识别技术应用
  是凌阳公司设计的一种16位,该款单片机资源丰富,具有极高的性价比,该单片机内置有2路DA转换,8路AD转换及在线仿真,并且有16×16位的乘法运算和内积运算的功能,这为它进行复杂的语音数字信号的压缩编码与解码提供了便利,还可以做数字。这些特点为我们进行在语音处理尤其是语音识别领域的应用提供了便利。
  语音识别技术在各个层面均有广泛的应用前景。软件领域,例如:语音命令、语音输入,对话系统、查询系统、教学软件、游戏软件等;消费性产品领域,例如:电子记事本、声控玩具、语音拔号功能的等;工业产品领域,例如:车用移动电话、车用导航系统等;电话系统领域,例如:语音识别总机服务、语音拔号、语音订票订位等。
  1 语音识别基本原理
  语音识别就是让机器听得懂人们所讲的话,基本框架如图1和图2所示。图1是语音训练模型的部分:将已知的语音信号经由端点侦测(End Point Detecti)及特征参数求取(Feature Extraction)而产生标准的语音参考样本。
  将待测的语音信号,经与图1同样的处理步骤求得特征参数后再与前述的标准语音参考样本对比,找出最相似的参考样本作为辨识的结果。
  2 语音识别分类
  若依使用者的限制而言可分为特定人语音与非特定人语音识别。
  2.1 特定人语音识别
  使用特定人语音识别系统前,须先把使用者的语音参考样本存入当成比对的资料库,即特定人语音识别系统在使用前就必须先进行图1的训练学习步骤。
  2.2 非特定人语音识别
  使用本系统前根本不需要先学习,便能直接使用。一套最佳的语音识别系统是不须经过学习便能进行语音识别,但通常辩识率都比较低。
  另外以说话方式的连续是否又可分为非连续语音识别和连续语音识别。对于非连续语音来说,识别所说的每一个字必须分开辨认;而连续语音识别可以一般自然流利的说话方式来进行人性化的语音识别,但由于关系到相连音的问题,很难达到好的辨认效果。
  3 特性简介
  是一款基于μ′nSP内核的,其芯片特性如下:(1)工作电压:内核工作电压VDD为3.0~(),I/O口工作电压VDDH为2.4~5.5V(I/O);(2)CPU时钟:0.32MHz~49.152MHz;(3)内置2K字SRAM和32K闪存ROM;(4)系统处于备用状态下(时钟处于停止状态),耗电小于2μA@;(5)具备触键唤醒的功能;(6)32位通用可编程输入/输出端口;(7)2个16位可编程/(可自动预置初始计数值);(8)7通道10位电压模-数(ADC)和单通道声音模-数转换器;(9)2个10位DAC(数-模转换)输出通道;(10)14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;(11)具备串行设备;(12)低电压复位(LVR)功能和低电压监测(LVD)功能;(13)内置在线仿真(ICE,In-Circuit Emulator)接口。
  4 的语音识别应用
  4.1 硬件简述
  的D/A转换通道的硬件实现大致有两类,一类是直接采用数/模转换器(DAC)方式,另一类是直接采用脉宽调制(PWM)驱动方式,音频输出的结构就是由两个DAC通道或一个PWM驱动通道构成。两类实现方式实质都为数/模转换,都是将数字信号转换成电流模拟信号输出。的音频输出采用双通道数/模转换DAC方式,即数字信号通过10位DAC转换成3mA驱动的电流模拟信号输出。语音提示输出直接采用DAC通道,经信号放大后,由输出。
  语音识别电路比较简单,MIC选用驻极体话筒。驻极体话筒具有结构简单、重量轻、体积小、无方向性、频率响应宽、保真度好等优点,它的偏压由的VMIC管脚提供。
  4.2 系统软件
  语音识别分为语音样板训练和语音识别两个过程。我们将标准模式的存储空间称之为“词库”,而把标准模式称之为“样板”。所谓语音样板训练,即将待识别的命令进行频谱分析,提取特征参数作为识别的标准模式。语音识别的过程是提取语音命令的特征参数,与词库中的样板比较,取相似度最好的样板命令序号作为识别结果。凌阳科技公司提供语音样板训练和语音识别库函数,每次可识别30条语音命令,命令较多可以分多组进行,语音识别流程见图4所示。
  其中,BSR-GetResult函数为启动辩识,当无命令识别出来时,返回0;识别器停止、未初始化或识别未激活返回-1;当识别不合格时返回-2;当识别出来时返回命令的序号。部分程序源代码如下。
手机语音识别应用中DSP的选择策略
  随着技术的进步,计算能力更强、功耗更低和体积更小的DSP已经出现,使3G上植入更精确更复杂的自动语音识别(ASR)功能成为可能。目前,基本ASR应用可以分成三大类:1. 语音-文本转换(语音输入);2. 讲者识别;3. 语音命令控制(语音控制)。
  这三类功能包含了3G所需的众多ASR性能。语音-文本转换的典型实例是语音拨号和邮件听写。讲者识别功能可以通过语音识别安全地读出中的个人数据,从而满足信用卡定购和银行服务等保密性高的应用需要。语音命令控制功能包括连接语音扩展标记语言(VXML)网站内容的语音,它支持财经服务与目录助理等业务。目前VXML被用于规范网站内容的语音标签。
  语音识别的两种方法
  3G手机的ASR应用设计可分为两类,即以终端为中心和以客户/为中心的应用。如图1所示为以终端为中心的设计方法,3G手机(终端)执行整个语音识别过程并送出识别结果。在图2所示的客户/服务器方法中,终端只是执行预处理特征提取,然后通过一个误码受保护的数据信道将这些参数发送给中心服务器,中心服务器最终完成语音识别。如果采用以客户/服务器为中心的设计方法,3G手机应使用数据信道而非移动信道来将语音发送给服务器进行识别,因为移动信道所用的低速率语音编码会严重影响语音识别的性能。
  各种ASR系统的差异主要体现在词汇量上。一个简单的网络设备可能只需要16字的词库就能实现所要求的语音识别功能,而3G移动手机则需要更大的专业词库。这些词汇可以跟讲者相关(训练语音识别设备使之熟悉用户的声音特征)或跟讲者无关(语音识别设备可以识别任何人的声音),DSP的计算负荷就随着词汇量和训练数据的增加而增大。
  例如,根据隐性马尔可夫模型(HMM)可以分析一个典型的跟讲者无关的100条命令识别的应用实例。假设HMM模型从左到右没有跳跃地顺序摆放,共有6个状态、5个具有对角协方差的混合高斯分布,包含39个特征(13唛-频率对数系数或MFCC,及其一阶和二阶差分),具有16位精度,那么,HMM声学模型的大小就是100×5×5×(39 2)×2=240kB。
  为了实现输入语音样本差分、窗口截获、MFCC抽取、概率计算和维特比搜索等运算的实时性,典型情况下需要消耗DSP的1千万个乘法-累加周期(MMAC)。对于连续语音识别来说,上千个三音素模型和多种语法模型需要更多的存储空间,也需要更快的DSP处理速度。
  因此,移动电话中ASR系统的成败很大程度上取决于DSP的功能和设计。第三代系统本身就需要比第二代系统更强性能的DSP,而增加ASR功能就对DSP提出了更高的要求。从结构角度看,对DSP性能的要求是处理速度快、功耗低和代码密度高。
  采用高速DSP是关键
  由于系统要实时对语音进行处理和取样,因此语音识别系统需要具有巨大的计算能力。下面的数字和计算假设采用的是围绕终端的设计方法。如果将DSP计算资源的20%分配给一个10MMAC的语音识别系统使用,那么就需要一个具有50MMAC的DSP才能满足这一功能需要,并可提供足够的空间执行3G手机所需的其它DSP任务,如处理软猫。如果采用较慢的DSP,如25MMAC的DSP,那么词汇表中的命令数量就要减半,或减少HMM参数,这样会降低整个系统性能。
  DSP的速度决定了语音识别系统的复杂性和性能。举例来说,如果一个基本的跟讲者无关的连续语音识别系统需要100MMAC,DSP计算资源的50%用于满足3G手机的其它DSP任务的需求,那么DSP的处理速度就需要达到200MMAC。
  成本、性能和效率的折衷
  DSP的速度越快,就越便于利用现代的HMM技术,如信道匹配和声域匹配技术,因此,理论上讲,DSP速度越快,ASR系统的性能就越好。然而,并行处理方法在提高ASR系统吞吐量中也扮演着重要角色。例如,一个具有4 ALU(算术逻辑单元)的200MHz DSP比只有1 ALU但运行于400MHz的DSP具有更高的吞吐量。根据具体应用的不同,2到3个单ALU DSP提供的性能与一个具有4 ALU的DSP相仿。相对一个具有4 ALU的DSP方案来说,多个单ALU的DSP会提高手机的成本,因此对于适销对路产品要充分权衡成本与性能之间的折衷。
  总之,当比较一个600MHz的单ALU DSP和一个300MHz但有4 ALU的DSP时,设计工程师始终应把握的最终目标是高效的运算吞吐量,具有多个ALU的DSP也许是最好的。
  性能与功耗
  顶级性能的DSP采用并行结构来获得最佳的性能空间。有个著名的平衡型并行结构StarCore SC140就采用了指令级并行结构,它具有4个并行ALU以及一个称为变长执行集(VLES)的改进型甚长指令字模型。VLES的优点在于它支持在中完成高效的指令调度、执行和打包。它能通过一个指令队列对前端提供反馈,并通过调度器控制后端,因此除非需要执行计算,VLES处理一般不消耗功率。
  在并行VLES结构中,一些特殊指令需要成组以避免空操作(Nop),由于减少了时钟周期,处理时间也相应减少了。比较而言,在甚长指令字计算中,所有执行步骤都必须按顺序排列,因此在一个8字节的执行集甚至是1字节数据时,系统就需要7个占位符(placeholder)或Nop。
  由于VLES结构不需要Nop,VLES设计中的复杂性从硬件或转移到了编译器。由于每个周期都充满了数据,因此每个周期就具有更高的效率,从而也提高了与内存的使用效率。
  由于ASR系统需要连续处理语音数据,会使DSP成为消耗电能的主要部件,因此高效利用电源对设备成功走向市场至关重要。
  在高性能DSP中,选择16位指令集而非32位指令集能提高代码密度,进一步减少对内存、功耗和体积的需求,一部分原因是由于更短的16位指令集可以减少寄存器和数量。例如在ASR应用中,存储的词汇量可能达到2.5MB(对于1024簇的三音素状态,5个合成和39个参数来说,声学HMM状态模型是400KB;一本有1万个三态三音素代码本是60KB;三音素状态转移概率矩阵是500KB;一个具有40个杂乱态2万字的双字母组是1.6MB)。如果DSP具有高的代码密度,能为ASR系统提供固定数量的存储器,那么就可以获得更好更大的声学和语言模型。
  片上和片外存储器
  对于ASR系统中使用的DSP来说,有效地利用片上和片外存储器是另外一个重要的课题。由于ASR系统需要大量的存储空间用于词汇与模式识别数据的存储,一个灵活的存储结构在这里将显得特别重要。例如,一个具备统一寻址存储器的DSP能使设计工程师很好地平衡程序和数据,还能平衡系统算法的复杂性与声学和语言模型的大小以获得最优化的性能。
  例如,如果具有100条命令的识别系统模型只有100kB的片上系统内存,总共内存空间需求是240kB,那么采用二次识别方法能更有效地利用片上快速存储器。
  第一次(原始识别阶段)只使用39个参数中的13个MFCC,因此模型大小为80kB,可以载入片上内存。原始识别阶段的候选命令数量要比原来的100个少,比方说是33个命令,但可信度高达99.9%。
  第二次(精确识别阶段)把33个候选命令的39个参数作为模型使用,大小是80kB,因此又可以把该模型装载入片上内存。这种二次识别方法会引入一些延时,但延时非常小,大约只有10ms,说话人一般不会觉察到。
  统一寻址存储器能够支持较大的词汇库或命令集,还能支持较大的HMM模型或神经网络系数,因此能简单化实时任务。例如为ASR系统的程序和数据准备100kB的存储器,设计工程师就能平衡好算法复杂性与词汇量或命令集大小之间的关系。如果程序要占50kB,那么数据只能是50kB。如果允许降低识别精度而将程序代码压缩到20kB,那么命令集就能用到80kB,也就是增加了词汇库容量。
  在ASR系统中,高度并行化、高代码密度和有效利用存储器等优点还能使DSP完成语音识别以外的任务。在大多数情况下,设计工程师可以将部分计算资源分配给语音识别之用,而将剩余资源用来执行信道处理系统中所需的其它任务。
  除了DSP内核以外的其他要求
  在选中最优化的DSP后,要想获得高性能的ASR用系统级还需要增加一些功能,例如快速缓存或快速指令/数据存取以及实时操作系统(RTOS)才能使ASR系统真正完成实时性能。多任务RTOS能使系统同时运行多个应用如双通道语音识别,因此能极大地提高系统性能。
  复杂SoC应用(如信道处理系统)设计工程师能从使用高效的高级语言编译器的DSP和SoC中获益,因为这些编译器允许设计工程师使用C或C 语言进行编程。采用增强的片上仿真和调试功能还可以进一步缩短设计时间。对于3G移动手机应用中各层次的与系统设计来说,除了实时性能和简化设计流程外,理控制同样非常重要。在设计SoC时,选择具有可调功率功能的内核将获益非浅。例如当移动用户在说话时,DSP需要全速运行(如300MHz)。当未使用ASR功能时,SoC电源管理可以逐步降低到较低的时钟速度(如100MHz),从而有效地降低漏电和功耗。
  由于ASR系统对计算速度的需求会根据识别特征的差异产生很大变化,例如孤字识别或连续语音识别、词汇量和跟讲者无关的语音识别等,因此,能支持ASR功能的信道处理系统的复杂性变化也很大。
  SoC非常适合于构造芯片的基础架构,因此在以客户/服务器系统为中心的设计中是非常理想的选择,但SoC器件由于功能太强大,因此并不非常适合于用户端以终端为中心的设计。然而,随着ASR系统的逐渐成熟以及3G手机支持越来越复杂的应用和复杂ASR,这类功能强大的SoC也能成功地运用到用户端。
  在SoC上使用多个DSP能使系统在完成语音识别的同时更容易地执行其它任务。例如三个内核中的一个可以专门指定用来完成多信道的服务器端ASR,而其它二个内核用于执行像语音信道和互联网数据处理这样的任务。将来如果手机键盘不复存在的话,ASR将成为用户与手机之间的唯一接口,到时这一功能将占用大部分的工作时间。
  采用多个DSP内核还能提供强大的计算能力,从而使执行非常复杂的ASR任务成为可能,如电子邮件听写中的连续语音识别、安全交易和VXML中的“口令 讲者验证”等。多个DSP再加上统一的大型片上存储器可以极大地缩短跟讲者无关的训练过程,因为在统计型ASR中训练过程的计算负载比识别处理过程的负载重得多。
  本文小结
  尽管3G手机要想赢得市场,人们对其功能和设计仍将拭目以待,但这些系统需要高性能的信号处理平台以满足多媒体任务需求是不容置疑的,而随着ASR系统的不断普及,3G手机肯定需要具备运行多任务能力的多DSP SoC作为解决方案。
语音识别在家电遥控器中的应用
  适合家用电器应用的语音识别嵌入式系统结构如图1所示,它由四个部分组成。第一部分为模/数转换部分,其输入端接收输入的语音信号,并将其转化成数字可处理的数字采集信号;在输出端将解码后的语音数字信号转换为音频模拟信号,通过放声。第二部分为语音识别部分,它的作用是对输入的数字语音词条信号进行分析,识别出词条信号所代表的命令,一般由完成。第三部分语音提示和语音回放部分,它一般也是在DSP中完成的,其核心是对语音信号进行数字压缩编码和解码,目的是提示用户操作并对识别语音的响应,完成人机的语音交互。第四部分是系统控制部分,它将语音识别结果转换成相应的控制信号,并将其输出转换成物理层操作,完成具体功能。语音识别与系统控制的有机结合是完成声控交互的要害,下面将对语音识别算法及遥控系统控制部分作具体的讨论。
  1 语音识别算法 目前,常以()或DSP作炎硬件平台的实现消费类产品中的语音识别。这类语音识别主要为孤立词识别,它有两种实现方案:一种是基于隐含马尔科夫统计模型(HMM)框架的非特定人识别;另一种是基于动态规划(DP)原理的特定人识别。它们在应用上各有优缺点。HMM非特定人员的优点是用户无需经过练习,可以直接使用;并且具良好的稳定性(即对使用者而言,语音识别性能不会随着时间的延长而降低)。但非特定人语音识别也有其很难克服的缺陷。首先,使用该方法需要预先采集大量的语料库,以便练习出相应的识别模型,这就大大提高了应用此技术的前期成本;其次,非特定人语音识别很难解决汉语中不同方言的问题,限制了它的使用区域;另外还有一个因素也应予以考虑,家电中用于控制的具体命令词语最好不要完全固定,应当根据的用户的习惯而改变,这一点在非特定人识别中几乎不可能实现。因此大多数家电不适合采用此方案。DP特定人识别的优点是方法简单,对硬件资源要求较低;此外,这一方法中的练习过程也很简单,不需预先采集过多的样本,不仅降低了前期成本,而且可以根据用户习惯,由用户任意定义控制项目的具体命令语句,因而适合大多数家电遥控器的应用。DP特定识别的严重缺点是它的稳健性不理想,对有些人的语音识别率高,有的人识别率却不高;刚练习完时识别率较高,但随着时间的推迟而识别率降低。些缺点往往给用户带来不便。为克服这些缺陷,对传统方法作为改进,使识别性能和稳健性都有显著的提高,取得令人满足的结果。 1.1 端点检测方法影响孤立词识别性能的一个重要因素是端点检测准确性[4]。在10个英语数字的识别测试中,60毫秒的端点误差就使识别率下降3%。对于面向消费类应用的语音识别芯片系统,各种干扰因素更加复杂,使精确检测端点问题更加困难。为此,提出了称为FRED(Frame-based Readl_time Endpoint Detection)算法[3]的两级端点检测方案,提高端点检测的精度。第一级对输入语音信号,根据其能量和过零率的变化,进行一次简单的实时端点检测,以便去掉静音得到输入语音的时域范围,并且在此基础上进行频谱特征提取工作。第二级根据输入语音频谱的FFT分析结果,分别计算出高频、中频和低频段的能量分布特性,用来判别轻辅音、浊辅音和元音;在确定了元音、浊音段后,再向前后两端扩展搜索包含语音端点的帧。FRED端点检测算法根据语音的本质特征进行端点检测,可以更好地适应环境的干扰和变化,提高端点检测的精度。在特定人识别中,比较了常用的FED(Fast Endpoint Detection)[5]和FRED两种端点检测算法的性能。两种算法测试使用相同的数据库,包括7个人的录音,每个人说100个人名,每个人名读3遍。测试中的DP模板练习和识别算法为传统的固定端点动态时间伸缩(DTW)模板匹配算法[4]。两种端点检测算法的识别率测试结果列在表1中。
  表1 比较FED和FRED端点检测算法对DTW模板匹配识别率的影响 端点检测算法 第1人 第2人 第3人 第4人 第5人 第6人 第7人 平均 FED 92.5% 87% 92.6% 95.6% 96.2% 96.8% 100% 94.4% FRED 94.3% 89.9% 93.2% 99.4% 99.4% 98.8% 100% 96.4% 测试结果说明:使用FRED端点检测算法,所有说话人的识别率都有了不同程度的提高。因此,本系统采用这种两级端点检测方案。 1.2 模拟匹配算法 DTW是典型的DP特定人算法,为了克服自然语速的差异,用动态时间规整方法将模板特征序列和语音特征序列进行匹配,比较两者之间的失真,得出识别判决的依据。假设存储的一个词条模板包括M帧倒谱特征R={r(m);m=1,2,∧,M};识别特征序列包括N帧倒谱特征T={t(n);n=1,2, ∧,N}。在r(i)和t(i)之间定义帧局部失真D(i,j),D(i,j)=r(i)-t(i) 2,通过动态规划过程,在搜索路径中找到累积失真最小的路径,即最优的匹配结果。采用对称形式DTW:&
其中S(i,j)是累积失真,D(i,j)是局部失真。当动态规划过程计算到固定结点(N,M)时,可以计算出该模板动态匹配的归一化距离,识别结果即该归一化距离最小的模板词条:x=argmin{S(N,Mx)}。为了提高DTW识别算法的识别性能和模板的稳健性,提出了双模板策略,即x=argmin{S(N,M2x)}。第一次输入的练习词条存储为第一个模板,第二次输入的相同练习词条存储为第二个模板,希望每个词条通过两个较稳健的模板来保持较高的识别性能。与上面测试相同,也利用7个人说的100个人名,每个人名含3遍的数据库,比较DTW单模板和双模板的性能差别,结果更在表2中。
  表2 DTW不同模板数的识别率比较
  DTW 第1人 第2人 第3人 第4人 第5人 第6人 第7人 平均 单模板 94.3% 89.9% 93.2% 99.4% 99.4% 98.8% 100% 96.4% 双模板 99.4% 96.6% 98.5% 100% 100% 98.8% 100% 99.0% 测试结果说明:通过存储两个模板,相当大地提高了DTW识别的性能,其稳健性也有很大的提高。因此,对特定人识别系统,采用DTW双模板是简单有效的策略。综上所述,该嵌入式语音识别芯片系统采用了改进端点检测性能的FRED算法,12阶Mel频标倒谱参数(MFCC)作为特征参数,使用双模板练习识别策略。通过一系列测试,证实该系统对特定人的识别达到了很好的识别性能,完全可以满足家用电器中声控应用的要求。 2 语音控制遥控器设计 目前家用遥控器主要为按键式,并有两种类型:一种是固定码型,每个键对应一种或几种码型,都是生产厂家预先设定好的,用户不能更改;另一种是学习型,具有自我学习遥控码的功能,可由用户定义遥控器的每个键对应的码型,它能够将多种遥控器集于一身,用一个遥控器就可控制多个家电,又可以作为原配遥控器的备份。由于现代家电功能不断增加,上述两种遥控器都有按键过多,用户不易记住每个键的含义等问题。将语音识别技术应用于学习型遥控器,利用语音命令代替按者对命令的记忆和使用,同时省去了大量按键,缩小了遥控器的体积。
  语音控制遥控器的硬件框图如图2所示,它由两个独立的模块组成:语音信号处理模块和系统。&&& 系统的控制软件流程图如图3所示。在使用前,按“学习键”进入学习状态,用户先对学习型遥控器练习语音命令,并使其学习与各语音命令相对应的原理控码型。使用时按“识别键”,进入语音识别状态,等待语音处理模块返回结果,若返回正确的识别结果,则把相应的遥控码发射出去。例如,原电视遥控器数字键“1”对应中心1台,用户的练习命令为“中心1台”,学习了原遥控器的数字键“1”的遥控码,并使其与练习命令“中心1台”对应起来。于是使用时只需对着学习型遥控器的说出“中心1台”,电视就会切换到中心1台。这样用户不需要记住每个电视台与台号的对应关系,相对于枯燥的频道数字,用户自定义的命令更轻易记住。语音信号算是模块由DSP、快闪(FLASH)、(CODEC)组成。其中DSP是整个语音识别模块的核心,负责语音识别、语音编解码,以及FLASH的读写控制。DSP的优点是运算速度快、空间大、数据交换速度快,可用来实现复杂的算法,提高识别率,减小反应延时,得到较高的识别性能。DSP芯片选用Analog Devices公司的AD2186L,它具有如下特点:①运算速度达40MIPS,且均为高效的单调周期指令;②提供了40K字节的片内RAM,其中8K字(16Bit/字)为数据RAM,8K字(24Bit/字)为程序RAM,最大可达4兆字节的存储区,用于存储数据或程序;③3.3V工作电压,具有多种省电模式。AD2186L既能完成与语音信号算是相关的算法,又适合使用作能源的遥控器。FLASH和CODEC也都选用3.3V工作电压的芯片。FLASH为美国ATMEL公司的AT29LV040A(4M Bit),它作为系统的存储器,主要用于存放以下内容:提示语音合成所需的参数,特定人练习后的码本数据,DSP系统的应用程序和学习和遥控码数据。CODEC选用美国TI公司的TLV320AC37,用来进行A/D、D/A变换、编码和解码。系统控制模块由单片机、红外接收、治理组成。单片机负责整个遥控器的系统控制。单片机作为主控芯片,进行键盘扫描,根据用户通过键盘输入的指令,分别完成学习遥控码;控制DSP进行语音练习、回放、识别;将识别结果转换成相应的遥控码,通过红外发射出去。单片机与DSP之间通过标准的RS232串行协议通讯。
  若连续的30秒无正确的命令则遥控器进入休眠状态,单片机控制电源治理电路切换DSP和FLASH电源,单片机本身也进入休眠状态,直至用户按键,唤醒单片机,再由单片机控制恢复DSP和FLASH供电,重新开始工作。这是因为整个系统中,DSP的功耗最大,长时间不用时,关闭语音信号处理模块,可以显著地降低整个系统的功耗。从实验室走向市场的过程中,可靠性与成本是碰到的最大挑战。采用双模板的DTW和两组端点检测FRED算法,可在系统资源和反应延时增加极小的情况下,有效地提高识别率和稳健性。该项技术成功地运用在学习型遥控器上,展现了语音识别技术在家电领域的广阔前景。
基于TMS320VC5509A的语音识别与控制系统
语音识别(Speech Recognition)是机器通过训练和匹配过程把语音信号转变为相应的文本或命令的技术。关于语音识别技术,先后出现了动态时间弯折(DTW)、隐马尔可夫和人工神经网络三种主要方法[1]。由于每种方法都涉及大量的乘加运算,并且计算精度是算法性能的有效保障,因此对的运算能力要求较高。近年大规模的快速发展,为语音识别的实现创造了硬件条件。目前,基于的语音识别系统多以浮点型DSP为主[2],但其成本较高。本文以TI公司的较低成本定点DSP TMS320VC5509A作为处理。在软件编程时,考虑运算速度和精度对性能的影响,将定点运算与基于定点DSP的浮点运算巧妙结合,既保证了处理速度,又提高了运算精度和识别率。此外,该系统的DSP芯片自带USB,可使程序下载不借助于硬件,便于推广应用;(CPLD)能够根据识别结果发出相应的控制信号以驱动各种控制对象;外扩达1M×16Bit,不仅能存储较多数量的模板,也可实现程序的并行加载,使系统能够脱机运行,便于携带。通过对语音信号的采集与识别,能够完成对特定人、小词汇量、孤立词的识别,并且能发出相应的控制信号,以达到系统的设计要求。实践验证了该系统具有可靠性、稳定性和灵活性。 &&&&&& 1 语音识别原理&&&&语音识别原理框图如图1所示。语音信号输入之后,预处理和数字化是进行语音识别的前提条件。其中,预处理主要是进行预滤波,保留正常人的300~3400Hz的语音信号;数字化是要进行A/D转换及抗混叠等处理;特征提取是进行语音信号训练和识别必不可少的步骤。能够体现语音信号特征的参数包括:(1)基于LPC的倒谱参数;(2)Mel系数的倒谱参数;(3)采用前沿数字信号处理技术的特征分析手段,如小波分析、时/频域分析、人工神经网络等。本文采用基于LPC的倒谱参数表示方法,提取出的特征值存入参考模式库中,用来匹配待识别语音信号的特征值。匹配计算是进行语音识别的核心部分,由待识别人的语音经过特征提取后,与系统训练时产生的模板进行匹配,在说话人辨认中,取与待识别语音相似度最大的模型所对应的语音作为识别结果,这就是语音识别的整个过程[1]。
&&&&&&& 2 硬件结构部分 &&&&&&& 本系统的硬件结构框图如图2所示。
&&此系统的核心器件是TI公司的TMS320VC5509A定点DSP芯片。它是系统的运算处理单元,具有2个乘法器(MAC),4个累加器(ACC);40位、16位的算术逻辑单元(ALU)各一个,这大大增强了DSP的运算能力;指令字长不只单一的16位,可扩展到最高48位,数据字长16位;在144MHz下工作,指令周期可达6.94ns。TMS320VC5509A还提供高速的多通道缓冲McBSP(Multi-channel Buffererd Serial Ports),DSP可通过McBSP与其他DSP、等器件相连。McBSP具有全双工通信,双缓冲数据寄存器,允许传送连续的数据流,能够向发送中断,向DMA控制器发送DMA事件,可设置帧同步脉冲和时钟信号的极性等功能,这大大方便了DSP采集音频信号[3]。除此之外,TMS320VC5509A还提供了更为高效的外部接口(EMIF),以往DSP的空间选通信号被片选信号取代,而每个片选信号分别占用不同的地址空间,这样就不需要外部的译码,从而实现了与外部设备的无缝连接,可使DSP外部存储空间扩大到满足系统要求。值得强调的是,可通过对TMS320VC5509A烧写程序而不必借助仿真器。正是基于这些优点,选择该芯片可节省开发资金,减小电路板面积。&&& TLV320AIC23是TI公司的一款低成本、低功耗的音频编(CODEC),在本系统中负责采集语音信号。它与本系统相关的性能参数如下:(1)支持8kHz~96kHz可调采样率;(2)与DSP连接,主从类型可通过软件编写来实现;(3)DSP可通过I2C来配置TLV320AIC23的寄存器;(4)采集语音信号字长16/20/24/32Bit;(5)MIC音频输入具有强抗噪性;(6)具有可调1~5dB的完整缓存放大系统[4]。&&&&&EPM3128ATC100-10可编程逻辑器件(CPLD)在本系统中担当两方面的职能:(1)作为控制部件,接收DSP发出的信号,经逻辑判断后,驱动诸如电机、发光等器件;(2)用于DSP地址线的扩展。TMS320VC5509A只有14根地址线,但它的外部存储空间可以扩展到16MB(字节寻址),显然,DSP的固有地址线是无法满足要求的。本系统采用CPLD完成地址线的扩展[5][6]。 &&& HY57V641620同步动态存储器(SDRAM),容量为4M×16Bit。作为RAM的扩展,大大增强了DSP的存储与运算能力[7]。 SST39VF1601闪存存储器(),容量为1M×16Bit。在这个系统中[8],它主要用来存储程序代码。上电后,DSP从外部加载并执行程序代码,使系统能够脱机运行。 &&&&&&& 3 软件模块部分&&&&软件流程如图3所示。系统采集语音信号后,首先要进行预滤波和预加重;接着将语音信号进行分帧,由于语音信号具有极强的相关性,因此在分帧时,要考虑帧重复。本文将语音信号以256个采样点为一帧,两帧之间的重复点数为80;然后计算每帧信号的短时能量与短时平均过零率,这也是接下来进行端点检测的依据;利用门限判决进行端点检测后,提取每帧信号的LPC系数,作为该帧信号的特征值;最后,用语音信号的特征值与模板逐个进行匹配。相似度最大的模板所对应的语音信号为识别结果,根据识别结果就可以向外发出控制信号。
&&&&&&& 3.1 端点检测&&&&端点检测就是要从采集的信号中检测出说话人的命令字。此系统中,对语音信号进行了分帧操作,一种简便的方法就是获取说话人命令字的起始帧数,具体操作是通过求一帧信号的短时能量和短时平均过零率来判断的。语音信号的短时能量分析给出了反应其幅度变化的一个合适描述方法。一帧语音信号的短时能量定义为:&&&短时过零率,即指每帧内信号通过零值的次数,能够在一定程度上反映信号的频谱特性。一帧语音信号内短时平均过零率定义为:&&&&在正式端点检测开始后,短时能量与短时平均过零率一起做为门限来判决说话人命令字的开始与结束:连续5帧语音信号超过门限值视为说话人命令字的开始,连续8帧语音信号低于门限值视为说话人命令字的结束。
3.2 特征值提取 &&& 此系统以语音信号的线性预测系数(LPC)作为特征值。采用自相关法获取LPC系数,先计算每帧语音信号的13阶自相关函数,定义为:&&&&&得到自相关函数后,采用莱文逊—杜宾递推算法计算线性预测系数,得到说话人一个命令字的LPC系数矩阵,大小为:命令字帧数×12。 &&&&&& 3.3 模板匹配(DTW算法)&&&& 模板匹配就是把上述计算得到的LPC系数矩阵中的元素与事先存在DSP中的模板元素进行差值计算。在此系统中,采用动态时间弯折(DTW)算法:假设参考模板的LPC系数向量序列为X=(x1,x2,…,xI),输入语音的LPC系数向量序列为Y=(y1,y2,…,yJ),I≠J。DTW算法就是要寻找一个最佳的时间规正函数,使待测语音的时间轴j非线性地映射到参考模板的时间轴i上,使总的累计差值最小[1]。算法过程如图4所示。
&&图4中曲线连接起来的点就是模板与待测语音信号间的距离d(xi(n),yj(n)),亦称为局部匹配距离。DTW算法就是通过局部优化的方法实现加权距离总和最小,也就是相似度最大,定义为:&&&&&&& 3.4 小数的定点运算&&&&&在进行语音信号处理时,通常要先对其进行归一化,使得语音信号|x(n)|≤1,为后面计算自相关函数及求LPC系数提供方便。这样就面临一个实际问题:对定点DSP而言,参与数值运算的数是16位二进制整型数,而DSP芯片如何处理小数运算呢?方法是确定一个数的小数点处于16位中的某一位,这也就是数值的定标问题,举例如下:&&&&&&&&& Q0 定标 (19AB)16=(31147)10 &&&&&&&& Q15定标 (19AB)16=(0.95)10&&&&&由此可见,对于定点DSP芯片内部而言,一个16位整型数到底表示多少,它本身是不能够分辨的,必须通过定标来确定。进行归一化处理就是把数以Q15形式定标,为以后的运算做好准备[2]。做小数的定点运算时,还要进行预运算和移位。预运算就是事先估计运算结果,为下一步移位做准备。其实现可采用如Matlab等的辅助软件。由于此系统的识别过程涉及较多的乘加运算,如几个Q15定标的数进行加法运算,结果可能出现溢出现象,如果不能进行很好的预运算,将对后面的运算产生很大影响;移位是小数做定点运算的具体操作。做加、减、乘、除法时,要严格按照相应的操作方法,每做一个四则运算都要参照实际情况,遵循先移位、再做运算、最后再移位的步骤,以在精度损失最少的情况下保证运算结果的可靠性。 &&&&&&&& 3.5 定点DSP做浮点运算&&&&&定点运算是以DSP的实际存储形式(16位二进制整型)为数值格式进行加、减、乘、除等四则运算,允许数值的表示范围是:(-32768)10~(32767)10。定点DSP的浮点运算是人为地开辟两个16位存储单元来表示一个数值,其中一个用来存储尾数,另一个用来存储指数,按照自然科学计数法进行四则运算。显而易见,这样的存储计算方法,其精度和动态表示范围都远远高于定点运算。&&&&&为降低成本,本系统选择了一款定点DSP。由于端点检测、模板匹配对精度要求不高,所以采用定点算法进行小数运算;计算自相关系数、提取LPC系数时,要求精度高,因此采用浮点算法进行小数运算。这也意味着,在端点检测完成之后,要先将定点运算转换为浮点运算;提取LPC系数之后,再将浮点运算转换为定点运算进行匹配。以牺牲少量运算时间为代价,适当提高运算精度和识别率。实验证明,这是可行的。 &&&&&&& 4 测试方法及结果&&&&下面用两种实验方法来测试此系统的性能。&&&&&实验1:用CPLD的输出信号来驱动两个R和L,某特定人的四个命令信号“走”,“左”,“右”,“停”控制这两个电机的运转。对应的实验现象:走—L、R同时转;左—L转,R停;右—L停,R转;停—R、L都不转。 实验2:用CPLD的输出信号驱动四个A、B、C、D,某特定人的四个命令信号“1”,“2”,“3”,“4”来控制相应发光二极管的亮灭。对应的实验现象:1—A亮,其余灭;2—B亮,其余灭;3—C亮,其余灭;4—D亮,其余灭。 以上两个实验,除了测试识别率外,还要比较在计算自相关函数和提取LPC系数时,分别采用定点算法、浮点算法所消耗机器周期的个数,本系统DSP的机器周期为83.28ns。由于每次采集的命令字帧长不确定,以进行十次实验消耗的机器周期的平均值来统计,测试结果如表1所示。&
&&&&&&& 由表1可见,在相同的测试条件下,当采用浮点运算计算自相关函数和提取LPC系数时,尽管识别率高于定点运算,但是系统消耗了更多的运算时间。 本文设计的语音识别与,具有体积小、成本低、便于携带等优点。在实现系统功能的同时又使板级调试与系统升级变得极为方便,因此可以作为一个处理语音信号的通用硬件平台,亦可完成语音编码、声回波对消等算法的实现。系统在DSP提供的地址线少于地址线的情况下,由CPLD扩展了DSP的地址线。在不借助硬件仿真器的情况下,实现了对的在线烧写,并采用二次引导的方法,完成了程序的并行加载,使系统能够脱机运行。由CPLD发出相应的识别控制信号,能够驱动电动机及等。测试结果表明,该系统处理速度快,运行稳定可靠,达到设计要求。
用DSP应对3G手机的语音识别应用
  数据速率高达2Mb/s的3G将可以支持包括数据业务和互联网连接在内的多媒体应用。由此,人们希望大多数3G手机的屏幕更大,键盘更小。为避免小键盘带来的不便,借助自动语音识别技术(ASR)实现语音拨号成为3G手机普遍看好的特性。如果ASR能够担当起这一重任并使消费者满意,那么它将最终完全取代小键盘而用在3G手机上。
  从设计的角度来看,ASR在实时操作以及语音格式的清晰程度与快速识别等功能性的实现方面,需要依靠高性能数字信号技术来完成所需的复杂算法。幸运的是,现代技术已取得了很大进展,它已经实现了比以往更强大的计算能力、更低的功耗和更小的体积,可以将更复杂和更精确的ASR功能加到3G手机上。将高效、功能强大的DSP核与其它元件及技术组合在一起,可望实现3G手机所要求的通道处理方案。
  目前来看,ASR的基本应用按功能可分为三类:语音转文本(语音‘键入’)、讲话人识别和语音命令控制。
  这三种类型的功能涵盖了3G设备要用到的多种ASR特性。语音转文本的应用包括语音拨号和邮件口述。讲话人识别功能可实现对个人存储数据及讲话人身份资料的安全语音访问,能够用于诸如信用卡购物及银行业务等安全用途的访问。语音命令控制功能涉及对语音扩展标记语言(VXML)网站内容如理财服务、目录帮助等的语音应用等。(VXML目前正在成为网站内容的标准化语音标签)。
  从实施方案看,3G手机ASR应用可分为以终端为中心和采用客户机/结构两种类型。如图1所示,以终端为中心的应用方案中,由3G手机完成整个语音识别过程并送出识别结果。在客户机/服务器方案中,终端设备完成预处理和特征提取,然后通过防差错数据通道将所得参数发给中心服务器完成识别过程。采用客户机/服务器结构,3G手机须通过数据通道而非移动通道把语音传给服务器进行识别,这是因为移动通道的语音编码速率较低,会严重影响识别性能。
  ASR系统按语汇量的不同有很大差异。简单的网络应用具有最基本的16个字语汇功能就够用了,但对于3G手机应用,则需要更大量的专用语汇。这种语汇可以是与讲话人有关的(按用户的声音进行语训)或无关的(任何人的声音都可以)。语汇量以及语训数据的增加,对DSP计算载荷量的要求就变大。
  例如,我们来考察一种典型的基于隐式马可夫模型(HMM)的与讲话人无关、100条指令识别量的应用。假定HMM模型从左到右无遗漏;有6种状态,5种混合高斯型分布,具有对角线协方差;并有39种特性(频率倒频谱系数或MFCC为13mel,及其第一级、第二级差值),16位精度,那么声学HMM模型的大小将为100x6x5x(39+2)x2= 240kB。
  进行包括输入语音采样的细分、开窗、MFCC提取、概率计算和Viterbi搜寻等实时操作,对DSP的运算量要求一般为万次乘法累加循环(MAC)。对于连续语音的识别,数千个三话音模型(triphe model)和各种语法模型,要求更大的存储空间,以及更高的DSP处理速度。
  由此,ASR系统在手机上应用的成败在很大程度上将取决于DSP的功能和设计。第三代移动通信系统要求使用比以往更高性能的DSP,而ASR功能的加入对DSP就提出了更高的要求。从构建系统架构的角度看,实现好的DSP性能需要具有高处理速度,低功耗和高编码密度。
  高速DSP是关键
  由于语音识别系统要对声音进行“实时”处理和采样,因此它要进行大量的运算。下面的数字和运算量是以终端中心方案为前提的。如果DSP20%的计算资源分配用于万次MAC语音识别应用,那么要同时具有这种功能,并仍有余力完成3G手机所要求的诸如‘软猫’(Soft modem)处理能力等其它DSP任务,则要求DSP提供万次MAC。采用速度较慢的DSP,如运算速度为2500万次MAC,会使语汇量中指令数目减半或使HMM参数变得很少,导致系统总体性能下降。
  DSP速度对语音识别应用系统的复杂性和性能起着决定作用。例如,假定一个与讲话人无关的连续语音应用要求1亿次MAC,而DSP计算资源的50%要为3G手机中的其它DSP应用所占用,那么要求DSP所具有的处理速度就为2亿次MAC。
  效率至关重要
  高速DSP的实现可引入通道自适应和声域自适应等现代HMM技术。从理论上讲,DSP越快,ASR应用的性能就越好。但并行处理性能对ASR的吞吐量来说也是一个重要指标。例如,工作频率为200MHz、具有四个运算逻辑单元的DSP,其吞吐量就远高于工作频率为400MHz的单ALU DSP。根据具体应用的不同,使用2到3个单ALU DSP可达到与一个四ALU DSP相同的性能。与单个四ALU处理器方案相比,使用多个单ALU DSP会增大手机成本,因此从产品的适销性考虑,必须权衡成本和性能。
  概言之,设计师在对一个600MHz单ALU DSP 和一个300-MHz四ALU DSP进行比较选择时,头脑中要谨记一个最终目标:有效的吞吐量。具有并行处理能力的多ALU DSP可成为取得好产品的最佳方案。
  性能与功率
  高处理能力的DSP采用并行架构以留有性能余量。人所共知平均衡式并行架构(StarCore SC140)采用的是具有四个并行ALU和一种被称为可变长度执行集(VLES)的极长指令字模型的指令级并行处理架构。VLES的优势在于它能有效地支持内指令的调度、执行和打包。通过把指令队列馈给前端并由调度程序控制后端,使得除了运算所需之外没有其它处理功耗。
  在并行VLES架构中,为避免出现空操作(Nops),把特殊指令归为一组。其结果是,因所用时钟周期数变少,从而缩短了处理时间。相反,在极长指令字的计算中,所有的操作步骤都要一个挨一个排列。因此,对于一个8字节的操作集来说,即使处理1字节的数据,系统也要占用7个占位符或Nops。
  VLES架构无需Nops。VLES设计的复杂性在转向编译器,而非硬件或程序设计器。由于每个周期都满载数据,每个周期的效用就更高。这样,和存储器就可以得到有效地利用。
  为提高使用寿命,在3G应用中,电源的有效使用很重要。由于语音数据需要进行连续处理,ASR就成为DSP电池的主要能耗源。这样,电源的有效利用对应用方案的成功来说便显得尤为关键。
  对于高性能DSP来说,选用16位指令集而非32位指令集,可以改进编码密度,从而进一步降低对存储器、电源和体积等的整体要求。个中原因部分是因为短的16位指令集意味着更少的寄存器和。例如,在ASR应用中,存储的语汇量可能多达2.5M字节。(实现1024簇三音态、5种混合和39种参数等性能,所用声学HMM状态模型需占400kB;0个三态三话音编码簿占用60kB;三音态转移概率矩阵占有500kB;有40种模糊态的20000字的双字母组需要1.6MB。)如果DSP具有高的编码密度,ASR应用所需的存储量一定,那么可以实现更好更大的声学和语音学模型。
  在ASR应用中,片内和片外存储器的有效利用是DSP要考虑的另一个重要方面。由于语汇量和模型识别可能会要求大的存储量,因此采用具有灵活性的存储结构对ASR系统是十分有益的。例如,采用带一体化存储器的DSP可使设计师很好地谋求程序与数据的平衡。通过均衡考虑系统运算的复杂性和声学语音学模型的大小,以求达到最佳性能。
  如果片上系统中只有100kB可用于具有100个指令的识别应用模型,而其需求总量为240kB,那么采用两遍(two-pass)识别方法可实现快速片上内存更加有效地利用。第一遍(粗略识别阶段)只用13个MFCC而非39个参数。这样,模型的大小为80kB,可由片上内存来承载。粗略识别阶段,给出的候选话语数量将比原有的100个要少,可以是具有99.99%极高置信度的33个话音。第二遍(精细识别阶段)用39个参数对33个候选话音建立模型,内存占用80kB。这种模型同样可由片上内存来承载。由于第二遍操作只有等到整个指令完成发出以后才能动作,因此两遍方法将引入部分等待时间,但这一时间非常短,大约为10ms,不会引起讲话人的注意。
  一体化内存可实现大的语汇量或指令集,以及大的HMM模型或神经网络系数,从而简化实时任务的完成。如有一个100kB的内存,ASR应用中的程序和数据都要用,这时开发人员便可以在运算复杂程度以及语汇量或指令集大小之间进行均衡处理。如果程序应用占50kB,数据就只能用50kB。偿若识别精度可略微降低,使程序代码的内存占用降为20kB,那么用于指令集的内存量便可达80kB,语汇量便可扩大。
  在ASR应用中,DSP器件所具有的高并行处理能力、良好的编码密度以及内存的高效利用等优点,这一切将使之除用于语音识别处理外还有更多的其它作为。大多数情况下,设计师只会对语音识别功能分配一部分带宽,而将剩余带宽用以完成通道处理系统所需的其它处理任务。
  DSP芯核以外的问题
  在最佳的DSP选定后,要实现ASR所要求的高性能SoC尚需数种附加功能
特定人语音识别技术在汽车控制上的应用
1 引言   从20世纪50年代开始对语音识别的研究开始,经过几十年的发展已经达到一定的高度,有的已经从实验室走向市场,如一些玩具、某些部门密码语音输入等。
   随着和专用技术的发展,快速傅立叶变换以及近来嵌入式操作系统的研究,使得特定人识别尤其是计算量小的特定人识别成为可能。因此,对特定人语音识别技术在汽车控制上的应用的研究是很有前途的。
2 特定人语音识别的方法
  目前,常用的说话人识别方法有模板匹配法、统计建模法、联接主义法(即人工神经网络实现)。考虑到数据量、实时性以及识别率的问题,笔者采用基于矢量量化和隐马尔可夫模型(HMM)相结合的方法。
  说话人识别的系统主要由语音特征矢量提取单元(前端处理)、训练单元、识别单元和后处理单元组成,其系统构成如图1所示。
图1 系统构成
  由上图也可以看出,每个司机在购买车后必须将自己的语音输入系统,也就是训练过程,当然最好是在安静、次数达到一定的数目。从此在以后驾驶过程中就可以利用这个系统了。
  所谓预处理是指对语音信号的特殊处理:预加重,分帧处理。预加重的目的是提升高频部分,使信号的频谱变得平坦,以便于进行频谱分析或声道参数分析。用具有 6dB/倍频程的提升高频特性的预加重数字实现。虽然语音信号是非平稳时变的,但是可以认为是局部短时平稳。故语音信号分析常分段或分帧来处理。
2.1 语音特征矢量提取单元
说话人识别系统设计中的根本问题是如何从语音信号中提取表征人的基本特征。即语音特征矢量的提取是整个说话人识别系统的基础,对说话人识别的错误拒绝率和错误接受率有着极其重要的影响。同语音识别不同,说话人识别利用的是语音信号中的说话人信息,而不考虑语音中的字词意思,它强调说话人的个性。因此,单一的语音特征矢量很难提高识别率。该系统在说话人的识别中采用倒谱系数加基因周期参数,而在对控制命令的语音识别中仅采用倒谱系数。其中,常用的倒谱系数有 2 种,即LPC(线性预测系数)和倒谱参数(LPCC),一种是基于Mel刻度的MFLL(频率倒谱系数)参数(Mel频率谱系数)。
对于LPCC参数的提取, 可先采用Durbin递推算法、格型算法或者Schur递推算法来求LPC系数,然后求LPC参数。设第l帧语音的LPC系数为αn,则LPCC的参数为
  1<n≤p
其中p为LPCC系数的阶数,k为LPCC系数的递推次数。
进一步的研究发现,引入一阶和二阶差分倒谱可以提高识别率。
对于MPCC参数的提取,若根据Mel曲线将语音信号频谱分为K个频带,每个频带的能量为θ(Mk),则 MFCC参数为&
  1<n≤p
通过对LPCC和MFCC参数对识别率影响的实验比较,笔者选取LPCC参数及其一阶和二阶差分倒谱稀疏作为特征参数。
  基音周期估计的方法很多,主要有基于求短时自相关函数的算法、基于求短时平均幅度差函数(F)的算法、基于同态信号处理和线性预测编码的算法。笔者仅介绍基于求短时自相关函数的算法。
设Sw(n)是一段加窗语音信号,它的非零区间为0<n≤n-1。Sw(n)的自相关函数称为语音信号的S(n)的短时自相关函数,用Rw(l)表示,即 Rw(l)=&
可知短时自相关函数在Rw(0)处最大,且在基音周期的各个整数倍点上有很大的峰值,选择合适的窗函数(窗长为40ms的Hamming窗)与滤波器(带宽为60~900Hz的)后,只要找到自相关函数的第一最大峰值点的位置并计算它与零点的距离,便能估计出基音周期。
2.2 训练单元
  训练单元的功能是把事先收集到的语音利用一定的算法为每一个待识别的说话人训练出与之相匹配的参数。针对说话人识别在汽车应用中的不同的要求,训练单元也分为2部分:对说话人识别的训练和对待识别词的训练。
对于说话人识别部分的训练, 针对说话人的特征进行训练,为每个合法用户建立一套或多套HMM模型,同时采用基于矢量量化(VQ)的方法,为每个合法用户建立VQ码本。VQ码本的设计采用LBG算法,初始码本的设置采用分裂法初始码本。
  第2 部分针对控制命令中用到的每个孤立的词条建立多个训练样本,或称为词条样本,估计出该词条的HMM参数(一套或多套)。对一个HMM过程的完整的描述包括:2个模型参数N和M,3组概率度量A,B和π。为了方便起见,通常采用如下方式表示一个完整的模型:λ=(N,M,π,A,B),或者简写为:λ= (π,A,B)。而对于每一个词条V的模型参数,V=1~V,可以用Baum-Welch重估算法。
2.3 识别单元
识别单元的功能是利用经训练已经获得的HMM模型参数 和测得的说话人的基音周期在一定的判决条件下辨认出待识别的说话人并估计出待识别的控制命令词串。针对HMM模型参数通常采用的判决条件是最大后验概率,用Viterbi算法实现。
2.4 后处理单元
充分利用每个说话人的声道参数和词条中各状态持续时间的概率分布来改进系统的识别率。
3 系统的实现
  由于汽车的控制命令是有限的词条和数字串的组合, 对这些语音命令的识别属于特定人小词汇量的连接词的识别以及与文本有关的说话人确认,不论是从目前的DSP运算速度还是存储空间来说,实时实现这些语音命令的识别都是完全可能的。
  识别系统组成框图如图所示:在此系统中,对运算能力和存储单元要求非常高的语音识别部分完全由DSP完成。
  框图中识别系统的功能是完成语音的输入、A/D转换及识别,系统中核心部分采用TMS320VC5410。其原因是它的运算速度和存储空间都能满足要求,同时它的一些并行运算硬件结构也非常适合语音识别的各种算法,程序和已经脱机训练好的HMM参数表及相应的词典存放在程序中,数据存储器存放识别过程中的中间计算数据。A/D采用TLC320AD50C, 里面含有A/D、D/A以及和采样保持。模拟语音信号的输入主要是通过,保证语音门禁的安全性,转换后的数字语音数据以同步串行通信方式传送给DSP。如图2。
图2 识别系统的组成框图
  语音控制汽车是未来的一种趋势。目前,将语音技术应用于汽车的产品只有在一些玩具中用到,由此可想利用语音技术进行汽车控制这一领域蕴涵着相当大的潜在市场。
  而且,说话人识别技术已经发展到可以应用到实际的阶段了,但目前对说话人识别的应用并不是很多。笔者尝试提出一种比较容易实现的方案,将说话人识别技术应用到实际中。但在实际应用中,说话人识别系统都面临一个共同的问题,即无法区分一个发音是现场发音还是录音回放。针对该现象,笔者提出的说话人识别系统可以有效地防止这种情况发生。具体实现说话人识别系统时,可采用随机或其它方法来生成提示文本。如随机的数字串,以使假冒者无法事先录音,增加驾驶的安全性。
单片语音识别电路HL7003-02
现在有161人对本文发表评论
<form onsubmit="if(document.getElementById('content').value.length500){alert('评论不能少于三个字符,大于500个字符!');document.getElementById('content').focus();}" action="/common/comment_post.aspx" method="post">
Copyright & 2007- Corp.All Rights Reserved. 版权所有 经营许可证编号: 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:9-8016 QQ: | MSN: |}

我要回帖

更多关于 电信号不用了 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信