基于TMS320VC5507的语音识别系统实现

最新更新时间:2013-09-10来源: 互联网关键字:TMS320VC5507  语音识别 手机看文章 扫描二维码
随时随地手机看文章

1 语音识别片上系统概述

  随着数字信号处理技术的发展,语音识别片上系统已成为人们研究的热点。然而,复杂的系统与硬件需求的矛盾,一定程度上限制了它的应用和推广。本文针对上述问题,采用相应的识别策略[1],合理安排算法流程,完成了高性能特定人与非特定人识别系统的片上实现。

  2 硬件平台

  DSP选型时需综合考虑运算速度、成本、功耗、硬件资源和程序可移植性等因素。本系统采用美国德州仪器(TI)生产的TMS320VC5507定点DSP作为核心处理器[2],并配合使用PLL时钟发生器、JTEG标准测试接口、异步通信串口、DMA控制器、通用输入输出GPIO端口以及多通道缓冲串口(McBSPs)等主要片内外设。系统硬件平台如图1所示。

  VC5507 DSP芯片采用先进的多总线结构,内含64 K×16 bit的片上RAM和64 KB的ROM;片内可屏蔽ROM固化有引导转载程序(Bootloader)和中断向量表等;采用流水线结构提高指令执行的整体速度。与C54x系列DSP不同的是,VC5507DSP的存储空间包括统一的数据、程序空间和I/O空间,寻址空间可达16 MB;片内包含两个算术逻辑单元(ALUs),在最高时钟频率200 MHz下,指令周期可达5 ns,最高速度可达400 MIPS。

  存储器采用三菱公司生产的M5M29GB/T320VP系列Flash芯片。全片容量2 MW,分为128个扇区,通过外部存储器接口(EMIF)方式与读写时序接入DSP;采用2.7 V~3.6 V单电源供电。该系列Flash支持块编程操作[3],读写速度要快得多,有利于实时性的改善。

  基金项目:国家自然科学基金资助项目60572083

  

  图1 语音识别系统硬件框图

  A/D、D/A转换器采用英国Wolfson公司生产的WM8973L芯片。该芯片支持16位A/D、D/A转换,具有可编程输入输出增益控制,可通过软件设置8~96 KHz的多种采样频率[4]。

  3 软件结构

  3.1 系统概述

  特定人识别系统采用12维MFCC参数作为识别引擎的特征参数,训练与识别都是在片上实时实现的,系统框架如图2(a)所示。在训练阶段,由片上实时提取每个词条的特征参数存放到Flash中作为模板库。在识别阶段,将待识别词条实时提取特征参数、端点检测以后,利用动态时间规整(DTW)算法与模板库中的所有模板进行匹配,选择失真度最小的模板作为识别结果。当词表改变时,只需调整Flash存储方式,算法本身无需改动。

  

  (a) 特定人系统

  

  (b) 非特定人系统

  图2 识别系统框架

  非特定人识别系统的输入特征矢量为27维,包括12维MFCC、12维MFCC一阶差分、一阶对数能量、一阶差分能量以及二阶差分能量。系统以基于因素的CDHMM模型为基本识别框架,采用Viterbi解码的帧同步搜索算法进行识别。HMM模型训练事先在PC机上进行,而Viterbi搜索则在DSP芯片上实时实现,整个系统为双层结构,如图2(b)所示。

  训练阶段主要完成如下任务:给定一个HMM模型和一组观察矢量集合,采用迭代算法调整模型参数,使得新模型和给定的观察矢量集合的似然度最大。首先用初始模型估计观察矢量由隐含层所有可能的状态序列输出的后验概率,然后根据前一步的估计结果,利用最大似然准则估计新的HMM模型,所得到的参数用作下一次迭代。识别阶段采用Viterbi搜索,所构建的识别网络包括状态号和状态连接关系等信息。为了减少网络搜索的内存占用量,采用每个词条单独建立网络的方法,使得每个词条的搜索过程可在内存中独立进行[5]。

3.2 语音传输与中断程序设计

  受硬件条件限制,系统的多任务调度是由中断服务机制完成的。除了Reset和非屏蔽中断(NMI)外,还设置了两个DMA通道中断。其中DMA通道2负责将麦克风录制的语音数据送至DSP内核进行运算处理;DMA通道3负责将回放语音数据传送至扬声器输出。

  在内存中,分别设有两个128 W的接收缓冲区和发送缓冲区。以接收端为例,对于8 kHz采样语音,每0.125 ms接收一个16 bits的采样数据,存入其中一个接收缓冲区中。16 ms后,该接收缓冲区满,由DMA控制器向CPU发出中断请求,进行VAD、特征提取等操作。与此同时,另一个接收缓冲区继续接收语音数据。这种数据传输方式又称为Ping-Pong传输,接收和发送分别设置两个缓冲区,利用等待时隙,当其中一个缓冲区数据传输完成,产生中断时,另一缓冲区继续工作。这种双缓冲区传输方式可以明显改善系统实时性能。

  3.3 端点检测

  输入到硬件平台的语音信号前后经常含有大量静音或噪声。出于节省硬件资源的考虑,需要引入端点检测算法。为了兼顾实时性能和硬件资源占用率,并防止语音切分过严而影响识别性能,采用基于循环缓冲技术的四阶段语音实时检测方法,将每帧语音能量与阈值相比较,同时依次存入长度为 的循环缓冲区并记录当前位置。算法流程如图3所示,其中 、 、 、 、 为事先设定的阈值,它们是通过大量测试得到的。当检测到连续 帧语音能量高于阈值时,将循环缓冲区从当前位置断开,倒退 帧作为语音起始点。

  

  (a) 端点检测基本流程

  

  (b) 循环缓冲区设计

  图3 基于循环缓冲区的端点检测流程

  3.4 特定人识别系统的特征提取与DTW模板匹配

  实验表明,采用12维MFCC系数作为特征参数,既可以节省内存空间,又不会对识别率造成很大影响。每帧语音特征参数在内存数据空间中连续存放。采取动态时间规整(DTW)算法,其本质是一种宽度优先的模板匹配过程,即将待识别词条的特征矢量序列与每个模板进行比较,找到一条总失真度最小的路径作为识别结果[6]。DTW算法简单,计算量小,占用内存小,可以解决语速不均匀的问题,适用于特定人小词汇量的孤立词识别系统。

  3.5 非特定人识别系统的多级Viterbi搜索与硬件资源消耗分析

  非特定人识别基线系统难于在片上实现的瓶颈在于识别时间过长。事实上,如果声学模型构造合理,绝大多数错误结果的似然度往往与正确结果相差较远。因此,本系统采用的基于Viterbi解码的两阶段搜索策略,可以很大程度上缓解识别时间过长的问题。

  第一阶段为快速匹配阶段。利用较为简单的208个状态的单音子声学模型,给出匹配程度最高的前Nbest个候选词条,送入第二阶段。第一阶段所占用的主要内存空间有:词条的所有特征,在使用27维特征,最大有效语音长度为128帧情况下,需要6.8 KB;输出分数矩阵,其大小由最大有效语音长度和模型数量决定,是内存开销最主要的部分,在这里需要占用约62 KB的内存;所有词条的对数似然度,200词的情况下为0.8 KB。

  第二阶段为精确匹配阶段,采用较复杂的358状态双音子模型,根据第一阶段候选词条构建新的识别网络,进行搜索识别。为了节约内存占用量,设定第一阶段候选词条数量的上限为8,这样,第二阶段可能出现的有效状态数量不会超过208个,从而可以使占用内存最大的输出概率矩阵复用第一阶段输出概率矩阵所占用的那段内存,提高内存使用效率[7]。

  4 实验结果

  录音环境为办公环境,8 kHz采样,16 bit量化,每个词条最大持续时间为2 s,端点检测的循环缓冲区长度 =7 W。特定人识别系统的测试语音为本实验室自录的100个孤立词人名词表,识别结果如表1所示。非特定人识别系统的训练集为863男生连续语音数据,测试语音为200词的人名词表。第一阶段多候选识别结果如图4所示。可见,虽然一候选的识别率不足94%,但随着候选词条数的增加,正确识别结果几乎都包含在第一阶段前几选的识别结果中。本文选用的八候选策略的识别率可以达到99.5%。系统最终识别结果如表2所示,识别率仅从基线系统的98.5%下降到97.5%,而识别时间仅为基线系统的30%。

  

  图4 非特定人系统第一阶段多候选识别率

  5 结论

  本文提出了一种基于定点DSP的特定人与非特定人语音识别片上系统的实现方法。通过降低特征维数,改进语音预处理与识别算法等手段,在保证识别性能的前提下,实现了硬件资源的高效率利用。在运算速度为288 MIPS,工作时钟为144 MHz的条件下,特定人与非特定人识别系统识别率分别为98%与97.5%,识别时间分别为0.13倍实时和0.34倍实时。

  本文的创新点在于:采用基于循环缓冲技术的四阶段实时端点检测算法,以及基于双缓冲区的语音传输方式,在核心识别算法的处理中,选择合适的特征维数,合理优化识别算法流程,在保证识别性能不受影响的前提下,有效改善了硬件资源占用率与系统实时性能。

关键字:TMS320VC5507  语音识别 编辑:神话 引用地址:基于TMS320VC5507的语音识别系统实现

上一篇:基于TM1300的嵌入式网络视频编码器的设计
下一篇:FPGA两难问题 混合系统架构来解决

推荐阅读最新更新时间:2023-10-12 20:48

看中语音识别,亚马逊的这款Echo音箱却是在给消费者添乱?
据报道,知情人士透露,亚马逊将对语音控制硬件加倍下注,未来几周预计将发布更小、更便携的Echo音箱。 薯片桶大小的Echo音箱必须插电使用,它可以根据语音指令回答问题、创建购物清单、播放音乐,还能开关电灯。而知情人士透露,即将推出的新产品价格有可能低于现有产品的180美元,以吸引更多买家。 亚马逊发言人拒绝对此置评。 Echo最早只是一个有趣的实验,为的是测试语音激活功能,并希望通过收集消费者的行为数据来制定可行的战略,吸引他们反复前往亚马逊网站购物。 最初有很多批评人士和消费者并不理解Echo的用意,有人甚至担心该设备内置的Alexa语音指令监听软件可能侵犯隐私。但作为个人助手设备,这款产品目前已经
[嵌入式]
基于HMM的语音识别技术在嵌入式系统中的应用
摘要:介绍语音识别技术在嵌入式系统中的应用状况与发展,以及在嵌入式系统中使用HMM语音识别算法的优点,并对基于HMM语音识别技术的系统进行介绍。 关键词:SoC芯片 HMM 语音识别 嵌入式系统 语音识别ASR(Automatic Speech Recognition)系统的实用化研究是近十年语音识别研究的一个主要方向。近年来,消费类电子产品对低成本、高稳健性的语音识别片上系统的需求快速增加,语音识别系统大量地从实验室的PC平台转移到嵌入式设备中。 语音识别技术目前在嵌入式系统中的应用主要为语音命令控制,它使得原本需要手工操作的工作用语音就可以方便地完成。语音命令控制可广泛用于家电语音遥控、玩具、智能仪器及移动电话等便携设备
[嵌入式]
汽车上的高科技属实很鸡肋,这些装备你会买吗?
1这些配置真值得选装吗? 如今一辆新车,要想获得竞争力,除了漂亮的外观、精致的内饰、宽敞的空间、强悍的动力等传统项目以外,科技配置加成也是不可或缺的一部分了。     当然,这些科技配置,也是得益于很多IT领域愈发成熟的技术被移植到了汽车上,比如液晶屏、触控、 语音识别 、高清摄像头、强大的 CPU 等等。       早些年,主要是一个超豪华车才会涉及到一个科技性配置,但是随着技术发展,成本降低,越来越多的科技配置已经不是超级豪车专属,更多平民车型也可以享受到。     但是我发现,一方面,这些所谓科技配置,基本上要么进行选配,要么仅仅是高配车才支持。总之,要想获得这些所谓“黑科技”加成,多掏
[嵌入式]
全球最牛语音识别技术的公司有哪些
任何时候提到语音识别,都不能避过Nuance这家公司,这家公司曾经在语音领域一统江湖,世界上有超过80%的语音识别都用过Nuance识别引擎技术,其语音产品可以支持超过50种语言,在全球拥有超过20亿用户,几乎垄断了金融和电信行业。就算现在,仍旧是瘦死的骆驼比马大,Nuance依旧是全球最大的语音技术公司,掌握着全球最多的语音技术专利。 国外Google、Apple、 MSRA语音识别的基础研究做得比较久,技术上比较好。国内专门做语音识别的有“科大讯飞”和“云知声”,前者是上市公司,发展时间比较长。后者是新成立的公司,但技术上有独到的地方。云知声目前发展很强劲,技术很厉害。好像搜狗语音输入法、易信、乐视TV、小米等产品都采用了
[家用电子]
基于DSP和FPGA的机器人声控系统设计与实现
机器人听觉系统主要是对人的声音进行语音识别并做出判断,然后输出相应的动作指令控制头部和手臂的动作,传统的机器人听觉系统一般是以PC机为平台对机器人进行控制,其特点是用一台计算机作为机器人的信息处理核心通过接口电路对机器人进行控制,虽然处理能力比较强大,语音库比较完备,系统更新以及功能拓展比较容易,但是比较笨重,不利于机器人的小型化和复杂条件下进行工作,此外功耗大、成本高。 本次设计采用了性价比较高的数字信号处理芯片TMS320VC5509作为语音识别处理器,具有较快的处理速度,使机器人在脱机状态下,独立完成复杂的语音信号处理和动作指令控制,FPGA系统的开发降低了时序控制电路和逻辑电路在PCB板所占的面积 ,使机器人的"大脑
[应用]
基于DSP的高速实时语音识别系统的设计
实时语音识别系统中,由于语音的数据量大,运算复杂,对处理器性能提出了很高的要求,适于采用高速DSP实现。虽然DSP提供了高速和灵活的硬件设计,但是在实时处理系统中,还需结合DSP器件的结构及工作方式,针对语音处理的特点,对软件进行反复优化,以缩短识别时间,满足实时的需求。因此如何对DSP进行优化编程,解决算法的复杂性和硬件存储容量及速度之间的矛盾,成为实现系统性能的关键。本文基于TMS320C6713设计并实现了高速实时语音识别系统,在固定文本的说话人辨识的应用中效果显著。 1 语音识别的原理 语音识别的基本原理框图如图1所示。语音信号中含有丰富的信息,从中提取对语音识别有用的信息的过程,就是特征提取,特征提取方法是整个语
[嵌入式]
NRK3301语音识别芯片晾衣架语音方案
电动(智能)晾衣机是一种使用电作为驱动力、向智能化方向发展的家居产品,主要由电机驱动的动力系统、智能控制系统和合金制造的机身系统等模块组成,根据用户的多样化需求,集成了包括照明、声控、远程控制、烘干、风干和消毒等功能。 与以往的手摇晾衣架不同,智能晾衣机让消费者彻底解放双手,简单语音操控,便可轻松开启晾衣、消毒和照明等功能。 NRK3301语音识别芯片晾衣架语音方案: 晾衣机采用强大的NRK3301智能语音识别芯片,无需连接网络,在离线状态下搭建多种晾晒场景对话,100%覆盖晾晒需求,让生活更加便捷。智能化人性化的贴心功能,为日常晾晒增加了更多“智趣”体验! NRK3301语音识别芯片是广州市九芯电子有限公司推出的一款32
[嵌入式]
谷歌全新推出低功耗的离线语音识别模型
语音识别是Siri、Alexa和Google等智能手机的重要组成部分,但这些语音识别系统有一个很大的缺点,那就是会有相应的延迟,用户必须等待Siri或其他虚拟助手来响应查询,而且如果语速过快就有极大可能造成误解。有延迟出现是因为用户的语音以及从中获取的数据必须从要手机传输到服务器,在那里进行分析后再发回。这可能需要从几毫秒到几秒的时间,如果数据包在过程中不小心失,则需要更长时间。 为什么不能直接在设备上进行语音识别呢?因为将语音转换成毫秒级的文本需要相当大的计算能力,这不仅仅是听一段声音和写一个单词,而是逐字逐句地理解一个人在说什么以及涉及到意图和整个语境。当然,手机其实是可以做到这一点的,但这并不会比把手机上的内容发送到云端
[嵌入式]
谷歌全新推出低功耗的离线<font color='red'>语音识别</font>模型
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved