摘 要:针对语音分析的特点,利用主流虚拟仪器开发系统LabVIEW 7. 0研制通用语音分析平台,并且利用组件技术实现与数值分析软件Matlab 6.5的接口。整个系统界面友好,使用方便,并且可以进一步设计新的算法。
关键词:语音分析;虚拟仪器;数值分析;算法
Realization of Speech Analysis Platform Based on LabVIE W
LIN Suifang1, GUO Huijun2
(1.Xi'an University of Technology, Xi'an, 710048, China;
2.Xi'an Jiaotong University, Xi'an, 710049, China )
Abstract:Based on the characters of speech analysis and by u sing mainstream virtual instrument a general speech analysis pla tform is developed. Interface to numerical software Matlab 6.5 based on DCOM i s also provided The whole system is friendly in user interface and easy to update
Keywords:speech analysis; virtual instrument; numerical anal ysis;algorithm
语音处理是目前信息学领域的研究热点和难点,其任务是研究如何利用信号处理技术研究语音信号,使未来的计算机“能听会说”。语音信号的处理是对语音信号进行分析,只有通过分析得到的参数才能做进一步的研究。语音分析涉及大量复杂的数学运算,如果采用硬件方式实现,从价格和灵活性上都不可取。如果通过计算机软硬件结合的方法采用主流的编程方式实现,则存在编程复杂,不易扩展和界面不友好等问题。
虚拟仪器是全新概念的最新一代测量仪器,自1987年诞生以来,以前所未有的速度迅猛发展。虚拟仪器与计算机软硬件技术的发展同步,他利用计算机强大的计算能力和丰富的软硬件资源来组织仪器系统,从而实现实验仪器系统的部分乃至全部的功能,并最终实现从传统仪器向计算机的过渡。虚拟仪器的测量功能可以由用户根据需要自行设计软件来定义或扩展,而非由厂家事先定义且固定不可变更。尤其是美国NI公司的图形化虚拟仪器开发平台LabVIEW,不仅编程简单功能完备,而且有多种专用软件包和丰富的各种板卡可供选择,这就为开发一个符合要求且界面友好的语音分析平台提供了便利。
1工作原理
语音信号一般被看作一种短时平稳的随机信号,主要是对他进行时域、频域和倒谱域上的信号分析。
语音信号的时域分析是对信号从统计的意义上进行分析,得到短时平均能量、过零率、自相关函数以及幅差函数等信号参数。根据语音理论,气流激励声道产生语音,语音信号是气流与声道的卷积,因此可以对信号进行同态分析,将信号转换到倒谱域,从而把声道和激励气流信息分离,获得信号的倒谱参数。
线性预测编码分析是现代语音信号处理技术中最核心的技术之一,他基于全极点模型,其中心思想是利用若干过去的语音抽样来逼近当前的语音抽样,采用最小均方误差逼近的方法来估计模型的参数。矢量量化是一种最基本也是极其重要的信号压缩算法,充分利用矢量中各分量间隐含的各种内在关系,比标量量化性能优越,在语音编码、语音识别等方向的研究中扮演着重要角色。
语音识别通常是指利用计算机识别语音信号所表示的内容,其目的是准确地理解语音所蕴含的含义。语音识别的研究紧密跟踪识别领域的最新研究成果并基本与之保持同步。
语音信号分析,首先需要将语音信号采集到计算机并做预先处理,然后通过选择实时或延迟的方式,实现上述各种类型的参数分析,并将分析结果以图形的方式输出或保存,从而实现整个平台的功能。
2系统构成
语音分析平台由软、硬件2部分组成,硬件部分的任务是通过麦克风和声卡将语音信号转换为电信号,经过A/D转换,以数字信号的形式传入计算机,同时具备能将语音波形文件通过声卡外接耳机或音箱回放。系统框图如图1所示。 (图片) 2.1硬件部分
硬件包括3个部分:拾音及信号调理电路,A/D转换电路,PC机接口电路。由于声卡已经成为计算机的标准配置(集成或插卡形式),故采用声卡、话筒的组合实现这部分功能,不但使用简便而且省去大量硬件设计工作。
2.2软件部分
LabVIEW是美国NI公司推出的一种通用虚拟仪器开发软件,他包含丰富的功能函数库和完备的总线设备驱动程序。LabVIEW的一大特色是其基于图形的编程方式是采用数据流(dat astream)而非传统的文本方式的编程方法。这种编程方式强调信号处理的实际过程,有利于简化编程,缩短开发时间和降低开发难度。
LabVIEW的编程包括前面板设计和后台设计。前面板对应一台仪器的面板,实现对仪表的控制和信号的表达功能。LabVIEW提供了一套丰富的控制模板库,用户通过这些模板来设计面板的内容。后台对应一台仪器的内部工作部分,用于实现仪表对信号的采集处理等操作。对应的LabVIEW提供了一套功能模板库,用来帮助用户实现程序改造、仪器控制数据分析等功能。主要的功能模块如下:
采集与预处理完成语音信号的采集,然后对信号进行消噪处理。
时域处理主要包括短时分析与预处理、短时能量、短时平均幅度和短时平均过零率、语音端点检测、短时自相关函数、短时平均幅度差函数和基音周期估计等。
频域处理主要包括基于短时傅里叶分析与重构、复倒谱和倒谱分析、联合时频分析。
预测与量化主要包括语音信号预测编码分析和矢量量化。
语音识别主要包括特征表示与提取、谱失真测度、模板匹配技术、隐马尔可夫模型技术、孤立词及连接词识别、大词汇量连续语音识别和说话人识别。
与Matlab软件接口通过LabVIEW提供的Script Node子VI连接主流算法仿真分析软件Matlab,充分发挥后者强大的数据处理能力。尽管LabVIEW中提供了一些信息处理功能函数,但是毕竟功能有限,仍无法满足用户各种各样的数值计算和分析的需求。而Matlab特别擅长数值分析和处理,如果能够在LabVIEW中调用他的话,不失为一种较好的解决方法。
软件在实现过程中,充分利用LabVIEW软件本身所提供的丰富的应用分析工具包如数字滤波器、频域分析等工具模块,避免大量的软硬件开发工作。
3结语
通过上述方法构建的语音分析平台,界面丰富友好,操作使用方便,并且能不断随着虚拟仪器技术和计算机软硬件技术的进步而升级。特别重要的是用户可以在该平台上开发验证新的语音信号分析处理算法。
参考文献
[1]蔡莲红,黄德智,蔡锐.现代语音技术基础与应用[M].北京:清华大学出版社,2003.
[2]易克初,田斌,付强.语音信号处理[M].北京:国防工业出版社,2000.
[3]刘君华,郭会军.基于LabVIEW的虚拟仪器设计[M].北京:电子工业出版社,2002.
9/6/2005
|