孤立词语音识别系统的实现

发布者:初入茅庐最新更新时间:2014-10-09 来源: eefocus关键字:孤立词  DSP  语音识别 手机看文章 扫描二维码
随时随地手机看文章

        引 言

  在孤立词语音识别中,最为简单有效的方法是采用动态时间规整(Dynamic Time Warping,DTW)算法,该算法解决了发音长短不一的模板匹配问题,是语音识别中出现最早、较为经典的一种算法。用于孤立词识别,该算法较现在比较流行的HMM算法在相同的环境条件下,识别效果相差不大,但HMM算法要复杂的多,这主要体现在HMM算法在训练阶段需要提供大量的语音数据,通过反复计算才能得到模型参数,而DTW算法的训练中几乎不需要额外的计算。所以在孤立词语音识别中,DTW算法仍得到广泛的应用。本系统就采用了该算法。

  系统概述

  语音识别系统的典型实现方案如图1所示。输入的模拟语音信号首先要进行预处理,包括预滤波、采样和量化、加窗、断点检测、预加重等。语音信号经过预处理后,接下来重要的一环就是特征参数提取,其目的是从语音波形中提取出随时间变化的语音特征序列。然后建立声学模型,在识别的时候将输入的语音特征同声学模型进行比较,得到最佳的识别结果。

  硬件构成

  系统构成

  这里采用DSP芯片为核心(图2),系统包括直接双访问快速SRAM、一路AlDC/一路DAC及相应的模拟信号放大器和抗混叠滤波器。外部只需扩展FLASH存储器、电源模块等少量电路即可构成完整系统应用。

  系统主要功能模块构成

  语音处理模块采用TI TMS320VC5402,其主要特点包括:采用改进的哈佛结构,一条程序总线(PB),三条数据总线(CB,DB,EB)和四条地址总线(PAB,CAB,DAB,EAB),带有专用硬件逻辑CPU(40位算术逻辑单元(ALU),包括1个40位桶形移位器和二个40位累加器;一个17×17乘法器和一个40位专用加法器,允许16位带或不带符号的乘法),片内存储器(八个辅助寄存器及一个软件栈),片内外专用的指令集,允许使用业界最先进的定点DSP C语言编译器。TMS320VC5402含4 KB的片内ROM和16 KB的双存取RAM,一个HPI(HostPortInterface)接口,二个多通道缓冲单口MCBSP(Multi-Channel Buffered SerialPort),单周期指令执行时间10 ns,带有符合IEEE1149.1标准的JTAG边界扫描仿真逻辑。

  语音输入、输出的模拟前端采用TI公司的TLC320AD50C,它是一款集成ADC和DAC于一体的模拟接口电路,并且与DSP接口简单,性能高、功耗低,已成为当前语音处理的主流产品。16位数据结构,音频采样频率为2~22.05 kHz,内含抗混叠滤波器和重构滤波器的模拟接口芯片,还有一个能与许多DSP芯片相连的同步串行通信接口。

  片内还包括一个定时器(调整采样率和帧同步延时)和控制器(调整编程放大增益、锁相环PLL、主从模式)。TLCC320AD50C与TMS320VC5402的硬件连接,如图3所示。

  语音识别算法实现

  语音信号的端点检测

  语音的端点检测是语音识别中最基本的模块,在嵌入式语音识别系统中更是占有非常重要的地位:一方面端点检测的结果不准确,系统的识别性能就得不到保证;另一方面如果端点检测的结果过于放松,虽然语音部分被很好地包含在处理的信号中,但是增加过多的静音则会增加系统的运算量,同时对识别性能也有负面影响。因此为能量和过零率两个参数分别设定两个门限,一个是比较低的门限,数值比较小,对信号的变化比较敏感,很容易就被超过。另一个是比较高的门限,数值比较大,信号必须达到一定的强度,该门限才可能被超过:低门限被超过未必就是语音的开始,有可能是时间很短的噪声引起的。高门限被超过,则基本确信是由于语音信号引起的。[page]

  整个语音信号的端点检测可以分为四段:静音、过渡段、语音段、结束。程序中使用一个变量status来表示当前所处的状态。在静音段,如果能量或过零率超越了低门限,就应该开始标记起始点,进入过渡段。在过渡段中,由于参数的数值比较小,不能确信是否处于真正的语音段,因此只要两个参数的数值都回落到低门限以下,就将当前状态恢复到静音状态。而如果在过渡段中两个参数中任意一个超过了高门限,就可以确信进入语音段了。一些突发性的噪声可以引发短时能量或过零率的数值很高,但是往往不能维持足够长的时间,这些可以通过设定最短时间门限来判别。当前状态处于语音段时,如果两个参数的数值降低到低门限以下,而且总的计时长度小于最短时间门限,则认为这是一段噪音,继续扫描以后的语音数据。否则就标记好结束端点,并返回。

  语音特征参数的提取

  近年来,一种能够比较充分利用人耳这种特殊的感知特新的参数得到了广泛的应用,这就是Mel尺度倒谱参数(Mel-scaled Cepstrum Coefficients,MFCC)。

  参数是按帧计算的。首先要通过FFT得到该帧信号的功率谱,转换为Mel频率下的功率谱。这需要在计算之前先在语音的频谱范围内设置若干个带通滤波器Hm(n)。MFCC参数的计算流程为:

  确定每一帧语音采样序列的点数,本系统采取N=256点。对每帧序列s(n)进行预加重处理后再经过离散FFT变换,取模的平方得到离散功率谱s(n)。

  计算s(n)通过M个Hm(n)后所得的功率值,即计算s(n)和Hm(n)在各个离散频率点上乘积之和,得到M个参数Pm,m=0,1,…,M-1。

  计算Pm的自然对数,得到Lm,m=0,1,…,M-1。

  对L0,L1,…,LM-1计算其离散余弦变换,得到Dm,m=0,1,…,M-1。

  舍去代表直流成分的D0,取D1,D2,…,Dk作为MFCC参数。此处K=12。

  特定人语音识别算法

  在孤立词语音识别中,最为简单有效的方法是采用DTW动态时间规整算法,设参考模板特征矢量序列为A={a1,a2,…,aj),输入语音特征矢量序列为B={b1,b2,…,bk},j≠k。DTW算法就是要寻找一个最佳的时间规整函数,使得语音输入B的时间轴K映射到参考模板A的时间轴j上总的累计失真最小。

  将己经存入模板库的各个词条称为参考模板,一个参考模板可以表示为{R(1),R(2),…,R(M)},m为训练语音帧的时序标号,m=1为起点语音帧,m=M为终点语音帧,因此M为该模式包含的语音帧总数,R(m)为第m帧语音的特征矢量。所要识别的一个输入词条语音称为参考模板,可表示为{T(1),T(2),…,T(N)),n为测试语音帧标号,模板*包含N帧音,T(n)为第n帧音的特征矢量。

  为了比较它们的相似度,可以计算,它们之间的失真D[T,R],失真越小相似度越高。为了计算这一失真,应从T和R中各个对应帧之间的失真算起。将各个对应帧之间的失真累计起来就可以得到两模式间的总失真。很容易想到的办法是当两模式长度相等时,直接以相等的帧号相匹配后累加计算总失真,而当两个模式长度不等时则利用线性扩张或线性压缩的方法使两模式具有相等长度,随后进行匹配计算失真度。但由于人类发音具有随机的非线性变化,这种方法效果不可能是最佳的。为了达到最佳效果,可以采用动态时间规整的方法。如图4所示,横坐标对应“1”这个字音的一次较短的发音,经过分帧和特征矢量计算后共得到一个长度为43帧的语音序列,而纵坐标对应“1”这个字音的一次较长的发音,该语音特征序列共有56帧。为了找到两个序列的最佳匹配路径,现把测试模式的各个帧号n=1~N(图4中N=43)在一个二维直角坐标系中的横轴上标出,把参考模式的各帧号m=1~M(图4中M=56)在纵轴上标出。

  通过这些表示帧号的整数坐标画一些纵横线即可形成一个网格,网格中何一个节点(n,m)表示测试模式中的某一帧和参考模式中的某一帧的交汇点。动态时间规整算法可以归结为寻找一条通过此网格中若干交叉点的路径,路径通过的交叉点即为参考模式和测试模式中进行失真计算的帧号。路径不是随意选择的,首先任何一种语音的发音快慢可能有变化,但是各部分的先后顺序不可能改变,因此所选的路径必定从左下角出发,在右上角结束。其次为了防止漫无目的的搜索,可以删去那些向n轴方向或者m轴方向过分倾斜的路径(例如,过分向n轴倾斜意味着R(m)压缩很大而T(n)扩张很大,而实际语音中这种压、扩总是有限的)。为了引入这个限制,可以对路径中各通过点的路径平均斜率的最大值和最小值予以限制。通常最大斜率定为2,最小平均斜率定为1/2。路径的出发点可以选择(n,m)=(1,1)点,也可以选择(n,m)=(1,2)或(1,3)或(2,1)或(3,1)…点出发。前者称为固定起点,后者称为松弛起点。同样,路径可在(n,m)=(N,M)点结束,也可以在(n,m)=(N,M-1)或(N,M-2)或(N-1,M)或(N-2,M)…点结束。前者称为固定终点,后者称为松弛终点。

  使用DTW算法为核心直接构造识别系统十分简单,首先通过训练得到词汇表中各参考语音的特征序列,直接将这些序列存储为模板。在进行识别时,将待识语音的特征序列依次与各参考语音特征序列进行DTW匹配,最后得到的总失真度最小且小于识别阈值的就认为是识别结果。该方法最显著的优点是识别率极高,大大超过目前多数的HMM语音识别系统和VQ语音识别系统。但其最明显的缺点是由于需要对大量路径及这些路径中的所有节点进行匹配计算,导致计算量极大,随着词汇量的增大其识别过程甚至将达到难以接受的程度,因此无法直接应用于大、中词汇量识别系统。

  结 语

  以本系统为基础开发了一种语音拨号系统,经过大量实验表明,该系统电路运行稳定,且识别率可以达到90%。系统成本低,稍加改进就可把该语音识别模块移植应用到各种系统设备中。

关键字:孤立词  DSP  语音识别 引用地址:孤立词语音识别系统的实现

上一篇:一种用于抗噪语音识别的动态参数补偿新方法
下一篇:语音识别及其定点DSP实现

推荐阅读最新更新时间:2024-05-02 23:12

DSP的视频编解码系统的工作理念介绍
随着数字多媒体的应用日渐广泛,视频解码 在嵌入式系统设计中变成一个基本要素。视频标准有多种,依赖于产品可实施其中的一个或者多个标准。当然这不是全部,视频仅仅是多媒体码流的一部分,另外还有音频或者语音需要并行处理。因此,一个精确的处理存储或数据流的同步层是必需的。此外,视频解码本身对性能要求较高,需要不同于先前基于语音和信息应用 的系统架构;这就对便携系统提出了特殊挑战,而桌面应用同样面临这些问题。 通用视频标准和编解码器 联合视频组(Joint Video Team, JVT)由 ITU的视频编码专家组(Video Coding Experts Group, VCEG)和ISO/IEC运动图像专家组(Moving Pict
[嵌入式]
<font color='red'>DSP</font>的视频编解码系统的工作理念介绍
具有多个电压轨的FPGA和DSP电源设计实例
大多数电子产品由于包含一个或多个FPGA或DSP数字处理芯片而需要提供多个电源轨。在为这些数字IC供电时,有多种方案可以选择,也有许多潜在的陷阱需要避免。在“具有多个电压轨的FPGA和DSP应用的电源设计方法”一文中,作者提出了多电压轨FPGA和DSP应用的电源解决方案,讨论了功率预算和排序选择等在系统水平所关注的问题。本文将着重讨论如何在各种类型的点到负载点(POL)直流/直流转换器之间做出选择,并讨论如何设计这些转换器才能满足直流精度以及启动和暂态要求。   降压直流/直流转换器拓扑的回顾   降压POL直流/直流转换器可以分成两类:线性稳压器和基于电感的开关稳压器。图1显示了线性稳压器的功能图。  
[电源管理]
具有多个电压轨的FPGA和<font color='red'>DSP</font>电源设计实例
DSP/ARM双核系统的通信接口设计
嵌入式系统的核心是嵌入式微处理器和嵌入式操作系统。早期的嵌入式系统硬件核心是各种类型的8位和16位单片机;而近年来32位处理器以其高性能、低价格,得到了广泛的应用。近年来,又出现了另一类数据密集处理型芯片DSP。DSP由于其特殊的结构、专门的硬件乘法器和特殊的指令,使其能快速地实现各种数字信号处理及满足各种高实时性要求。随着现代嵌入式系统的复杂度越来越高,操作系统已成为嵌入式系统不可缺少的部分。免费的嵌入式操作系统,如 Linux等,随着自身不断的改善,得到了飞速的发展。Linux是一个免费的、强大的、可信赖的、具有可伸缩性与扩充性的操作系统。Linux实现了许多现代化操作系统的理论,并且支持完整的硬件驱动程序、网络通信协议
[嵌入式]
基于GIO/FVID的DSP视频处理驱动程序
引言 随着时代的发展,DSP技术在远程监控、可视电话、工业检测等视频处理领域得到了广泛的应用,对于不同的视频处理系统,会使用不同的视频设备,所以有必要为视频设备设计驱动程序,为高层应用程序提供统一的接口来操作底层硬件。只要是遵行此驱动程序接口标准开发的高层应用程序,都可以在具有相同接口的不同硬件平台上运行,具有很好的通用性和可移植性,同时高层应用程序设计人员只要会使用设备驱动程序提供的API接口,就不必了解底层硬件的具体实现,可以大大地提高整体视频系统的开发效率。 对于视频设备,TI公司提出了对应的视频设备驱动程序模型,但这些模型主要是针对6000系列高端DSP,甚至是DM64X这样的视频处理专用DSP设计的,而TM
[嵌入式]
基于DSP的继电保护测试仪信号采集装置硬件设计
随着电力行业的不断发展,目前国内使用的继电保护测试仪种类繁多,但是由于继电保护测试仪自身的性能直接影响着对继电保护装置的评价,因此测试仪的工作性能和稳定性尤为重要。虽然DL/T624-1997《继电保护微机型试验装置技术条件》对继电保护试验装置提出了明确的要求,规定了定期检验周期和检验项目,但因为没有相关的检测规程或规范,也没有现成的检测装置,这为继电保护测试仪的验收和周检带来了一定的困难。因此,需要这样一种数据采集装置来精确采集继电保护测试仪的各项数据,以便上位机对数据进行分析,从而对继电保护测试仪进行检定。 1系统方案设计 本文设计的数据采集装置专门用于继电保护测试仪器各项数据的采集。设计选用DSP作为数据采集装置的核心控制器。
[测试测量]
基于<font color='red'>DSP</font>的继电保护测试仪信号采集装置硬件设计
国内语音识别技术上市公司汇总_语音识别技术现状_语音识别
语音识别技术,也被称为自动语音识别AutomaTIc Speech RecogniTIon,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。 二、语音识别的基本原理 系统本质上是一种模式识别系统,包括特征提取、模式匹配、参考模式库等三个基本单元。 未知语音经过话筒变换成电信号后加在识别系统的输入端,首先经过预处理,再根据人的语音特点建立语音模型,对输入的语音信号进行分析,并抽取所需的特征,在此基础上建立语音识别所需的模板。而计算机在识别过程中要根据语音识别的模型,将计算机中存放
[家用电子]
基于DSP和CPLD的低功耗多路数据处理系统设计
引言   随着电子技术的应用和发展,数字信号处理内容日益复杂,同时,很多情况下要求整个系统具有低功耗的特点。为满足这种要求,DSP芯片设计技术也在向低功耗、高性能的方向发展。从处理速度来看,TMS320VC5502的运算能力已经达到了600MMACS,即每秒钟可以完成6亿次乘加运算。从功耗来看,TMS320VC5502内核电压只有1.26V,整个芯片的功耗也大大降低了。本文介绍了基于TMS320VC5502和CPLD XC95144的低功耗多路数据处理系统。   模拟信号的输入经过50Hz陷波电路(滤除工频干扰)和信号预选频电路。经过预处理的模拟信号作为ADC的模拟输入进行A/D变换,最后由DSP实现对数字信号的滤波处理。将CP
[嵌入式]
基于ADmC812和DSP的实时数据采集系统设计
摘 要: 本文提出了一种基于ADmC812和DSP的数据采集系统的设计方案。系统采用主从式设计,DSP 和ADmC812之间通过通用的SRAM实现数据的交换,可满足数据采集量大、运算复杂、实时性要求高的应用系统。 关键词: 数据采集系统; ADmC812; DSP; DMA 引言 ADmC812是ADI公司的以8051(8052)内核为控制核心的新型微转换器。由于ADmC812内部集成了大量的外围设备。它本身就是一个完全可编程、自校准、高精度的数据采集系统,可以取代传统的MCU+A/D+ROM+RAM高成本、大体积产品,尤其是它的高精度和高速度A/D模块,特别适应于智能传感、瞬时获取、数据采集和各种通信系统。但是,对于
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved