您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 基于DTW算法的语音识别系统实现pdf
第30卷第7期电子工程师Vol.30No.72004年7月ELECTRONICENGINEERJul.2004基于DTW算法的语音识别系统实现吴晓平,崔光照,路康(郑州轻工业学院信息与控制工程系,河南省郑州市450002)【摘要】动态时间归整(DTW)算法的实现简单有效,在孤立词语音识别系统中得到了广泛的应用。介绍了将DTW算法移植到TMS320VC5402上实现孤立词语音识别的原理、系统硬件组成和软件设计。研究结果表明,系统能满足实时性能要求,识别效果良好。关键词:动态时间归整(DTW)算法,语音识别,线性预测,端点检测中图分类号:TN912.340引言动态时间归整(DTW)算法是把时间归整和间距测量计算结合起来的一种非线性归整技术,与隐式马尔可夫模型(HMM)算法相比,它不是一种有效的利用统计方法进行训练的算法,同时,也不容易将底层和顶层的各种知识用到识别算法中,在解决大词汇量、连续语音、非特定发音人语音识别系统时,识别效果较差,但在孤立词语音识别系统中识别效果良好,并且,由于DTW算法计算量较少。因此,DTW算法在孤立词语音识别系统中得到了较为广泛的应用。将DTW算法移植到TMS320VC5402上实现语音识别,能满足实时性要求。1识别系统基本原理图1是实时语音识别系统的结构框图。图1语音识别系统原理框图语音信号的数字化包括预滤波和A/D采样。语音信号的频率一般介于100Hz~3400Hz之间,需设计一个带通滤波器以便滤去语音信号频率以外的干收稿日期:2004-03-24扰。语音信号经滤波和采样后,由A/D转换器转换为二进制数字码。语音信号的预处理一般包括预加重、加窗和分帧处理。预加重的目的是提升高频部分,使信号的频谱变得平坦,以保持在信号的整个频带内具有同样的信噪比,便于声道参数分析。在语音信号的数字处理中常用的是矩形窗和汉明窗等,窗口的形状、长度对短时分析参数的影响很大,为此,应选择合适的窗函数。语音信号有10ms~30ms的短时平稳性,一般每秒的帧数为33帧~100帧。为了使帧与帧之间平滑过渡,前一帧与后一帧之间必须保持一定的帧移,帧长与帧移的比值一般取为0~1/2。语音信号的端点检测一般采用平均能量、平均幅度值、平均过零率等或上述几种方法的综合来判断,也有一些学者提出采用频带方差、倒谱特征等方法来判断。采用前者算法的计算量较小,在噪声不大的环境下可以有效地判别语音信号的起始点与终止点。在端点检测时若选择的窗长较大,可以加快语音处理的速度,会跳过一些短时噪声,但是端点检测的误差会增加。语音信号的端点检测直接影响语音信号倒谱特征提取的误差,为此,应选择合适的端点检测算法。由于语音信号之间存在相关性,可以用过去的样点值来预测现在的或未来的样点值,即一个语音的采样值可以用过去若干个语音采样或它们的线性组合来逼近。通过线性预测采样与实际语音采样之间的误差达到最小值来决定唯一的一组预测系数。线性预测系数(LPC)倒谱运算采用声道系统函数中的最小相位特性,避免了相位卷绕问题,并且,LPC倒谱运算量较FFT求倒谱运算量小,在实时语音识别中经常采用LPC倒谱作为特征矢量。在线性预测分析过程中,若选择的阶数p很大,LPC的值出现振荡,其携带的信息会使语音的内在特征出现很大的随机性,一般选择p在8~14之间。·17··通信技术·电子工程师2004年7月2实时识别系统的实现2.1识别系统的硬件组成为了实现实时语音识别,采用TMS320VC5402为主控芯片,可以在TI公司推出的TMS320VC5402DSK开发平台上实现,其最小系统硬件组成可参考图2。图2语音识别系统硬件组成框图TMS320VC5402是TI公司生产的一种性价比较高的16位定点DSP。它的指令周期为10ns,具有运算速度快、通用性强、接口连接方便等特点,适合在语音编码和通信中应用。TLC320AD50C是TI公司生产的∑-型单片音频接口芯片,它集成了16位A/D和D/A转换器,采样速率可通过DSP编程来设置,最高可达22.05kbit/s。TLC320AD50C内部D/A转换器之前有插值滤波器,A/D转换器之后有采样滤波器,接收和发送可同时进行。TMS320VC5402芯片包括2个高速、全双工多通道缓存串行McBSPs口。McBSPs提供了全双工的通信机制、128通道的接收和发送,数据长度可以在8位、12位、16位、20位、24位或32位中选择。采用多通道缓存串行McBSPs口实现TLC320AD50C芯片的数据采集,采用串行通信方式,采样频率可由TLC320AD50C的控制寄存器设置。在进行串行口通信之前,需要对TLC320AD50C初始化,建立TLC320AD50C与TMS320VC5402的连接,从而实现两芯片之间的数据传输。TMS320VC5402仅提供4k×16bit的片上ROM和16k×16bit的片上DARAM。DARAM由2块8k×16bit的区块组成,每一区块均可在一个指令周期内完成2次读操作或1次写操作。对片内物理存储器的访问通过访问映射寄存器实现,即片内物理存储器必须被映射到映射存储器上才能被访问。将实际的物理存储区空间映射到映射存储器空间上,由存储器配置文件实现。DSP上电硬复位后,DSP自动调用执行固化于内部ROM中的BOOT程序,将外部Flash存储器的程序读入DSP内部的高速RAM程序区中。2.2识别系统的软件设计实时识别系统软件编程在CCSDSKC50001.22开发环境中进行。CCSDSKC50001.22是TI公司开发的专用于DSP软件设计的集成软件开发环境。整个系统软件主要采用C语言编写,可调用开发环境下·18·的专用库函数实现初始化过程。初始化过程主要包括TMS320VC5402初始化及TLC320AD50C初始化。前者主要包括设置TMS320VC5402时钟为100MHz,初始化CPU各状态标志寄存器,以保持CPU正确的工作状态。然后,将DSP串口1复位,对串口1的16个寄存器进行编程,使DSP串口工作在以下状态:以SPI模式运行,每帧1段,每段1个字,每字16位。采样率发生器由DSP内部产生,帧同步脉冲低电平有效,并且,帧同步信号和移位时钟信号由外部产生。TLC320AD50C与TMS320VC5402间的串行通信有主串行通信和二次串行通信。主串行通信用来接收和发送转换信号数据,二次串行通信用来初始化或读取TLC320AD50C的控制寄存器。TLC320AD50C初始化操作过程包括通过TMS320VC5402的同步串口发送2串16位数字信息到TLC320320AD50C。第1串为0000000000000001B,最低有效位(bit0)为1,说明下一个要传输的数据字属于二次通信。第2串数据值用来对TLC320AD50C的4个数据寄存器的某一个进行配置。bit0~bit7为所选中寄存器的编程值,bit8~bit10为所选寄存器地址值,bits11~bit15为0。4个用户可编程寄存器为:R1中包含模拟输入通道选择、硬件/软件编程方式选择;R2进行单机/从机工作和电话模式选择;R3控制带从机个数选择;R4用来设置模拟信号可编程放大增益和A/D、D/A转换频率。其他两个寄存器R5、R6是厂家留着测试用的,用户不能对其编程。我们在以下例程中对4个可编程寄存器编程,使TLC320AD50C工作在以下状态:选择INP/INM为工作模拟输入,15+1位A/D转换器和15+1位D/A转换器模式,不带从机,采样频率为8kHz,模拟信号输入和输出放大增益均为0dB。DTW算法能够较好地解决用于孤立词识别时说话速度不均匀的难题。测试的语音参数共有N帧矢量,而参考模板有M帧矢量,且M≠N,则DTW就是寻找一个时间归整函数m=f(n),它将测试矢量的时间轴n非线性地映射到模板的时间轴m上,并使该函数满足第n帧测试矢量和第m帧模板矢量之间的距离测度最小。在实际识别系统中,语音的起点或终点由摩擦音构成,环境噪声也比较大,语音的端点检测会存在较大的误差。DTW算法出发点可以选择在(n,m)=(1,1),称为固定起点;也可以选择在(1,2)、(2,1)、(1,3)、(3,1)等点,称为松驰起点。同样,路径可以选择在(n,m)=(N,M)点,称为固定终点;也可以选择在(N-1,M)、(N,M-1)、(N-2,M)、(N,M-2)等点,称为松弛终点。固定起始点的DTW算法要求从第30卷第7期吴晓平,等:基于DTW算法的语音识别系统实现·通信技术·(1,1)出发,到(N,M)结束,松弛的DTW算法的起始点从(1,1)、(1,2)、(2,1)、(1,3)、(3,1)等点中选择一最小值,终止点从(N,M)、(N-1,M)、(N,M-1)、(N-2,M)、(N,M-2)中选择一最小值,两语音样本之间的相互距离在相应的点放松后选择一最小距离。松弛起点、终点的优点是可以克服由于端点检测不精确引起的误差,但运算量加大。在训练阶段,将计算出的特征矢量序列作为模板存入模板库。在识别阶段,将输入语音的特征矢量系列与模板中的每一特征矢量序列进行模式匹配,匹配相似度最高者作为识别结果输出。识别系统软件设计如图3所示。图3识别系统软件流程3结束语DTW算法应用在小词汇量、孤立词语音识别系统中,算法计算量较少,识别效果良好。松弛起点的DTW算法实现实时语音识别系统,能有效减少端点检测的误差,但算法的复杂度将增大。采用高速TMS320VC5402为核心芯片设计实时语音识别系统,对孤立词的识别时间短,可以达到实时识别的要求。参考文献[1]赵力,等.语音信号处理.北京:机械工业出版社,2003[2]楼顺天.基于MATLAB的系统分析与设计.西安:西安电子科技大学出版社,2000[3]张勇.C/C++语言硬件程序设计.西安:西安电子科技大学出版社,2003[4]陈志鑫,郭华伟.基于TMS320C54xDSP的实时语音识别系统.半导体技术,2001,26(4):5~8[5]祝晓阳,卢中宁,崔光照.数字信号处理芯片TMS320VC5402的语音接口设计.郑州轻工业学院学报,2002,17(2):71~73TheRealizationofSpeechRecognitionSystemBasedonDTWAlgorithmWuXiaoping,CuiGuangzhao,LuKang(ZhengzhouUniversityofLightIndustry,Zhengzhou450002,China)【Abstract】TherealizationoftheDTWalgorithmissimpleandeffective,soitiswidelyusedintheisolated-wordspeechrecognitionsystem.ThispaperintroducesthetransplantoftheDTWalgorithmonTMS320VC5402toachievetheisolated-wordspeechrecognition.Theresearchresultsshowthatthesys-temmeetstherequirementofrealtimeandtherecognitionperformanceisgood.Keywords:DTWalgorithm,speechrecognition,linearprediction,terminaldetection(上接第13页)4结束语目前,该仪器的设计研制工作均已完成,样机工作稳定可靠,操作方便,结果准确。据我们掌握的资料,到目前为止未见到有关碘测试仪研制工作的报道。该仪器的研制成功将为临床上测定水碘、尿碘以及防治碘缺乏病提供一种方便的测试仪器。参考文献[1]上海第一医学院统计学教研组.医学统计学.上海:上海科学技术出版社,1979图4测定的第2阶段流程[2]何立民.I2C总线应用系统设计.北京:北京航空航天大学出版社,1995·19·
本文标题:基于DTW算法的语音识别系统实现pdf
链接地址:https://www.777doc.com/doc-2533764 .html