小波神经网络在语音端点检测算法中的应用∗
2018-09-28孙护军
孙护军
(西安航空学院电子工程学院 西安 710077)
1 引言
基于能量的端点检测、基于墒的语音端点检测、基于倒谱的语音端点检测等,都属于传统的语音端点检测算法,因为所提取的语音特征量比较单一,所以检测计算结果容易出现较大的误差,而基于组合特征的语音端点检测算法,虽然可以在一定程度上提高检测计算的精准性,但是容易出现冗余特征量造成干扰。随着对语音端点检测算法研究的不断深入及长期实践,发现运行小波神经网络算法完成语音端点检测计算,存在较小的误差,具有较高的推广应用价值。
2 基于小波神经网络的语音端点检测系统结构
语音端点检测的本质含义,是通过识别输入系统的含噪语音信号,以噪声门限阈值为主要依据,通过对比含噪语音信号与其之间的不同,进而判断出语音信号的正确起始位置,得到有价值的语音信息,实现对语音信号的快速处理及传递。基于小波神经网络的语音端点检测系统主要由语音信号预处理、语音信号特征量提取以及神经网络处理三部分组成,在构建运算模型时,需要对这三部分进行详细分析。
语音预处理是进行语音端点检测计算的第一步工作,是准确识别语音的基础。人在说话时所发出的语音信号属于模拟信号,不满足计算机处理信号要求,难以实现对其直接的识别和处理,只有将人的说话语音信号转化为数字信号,才符合计算机处理语音信号的要求,所以,便需要对语音信号进行预处理,完成语音信号的A/D变换,将转换得到的数字信号进行存储和处理,为语音信号的准确识别提供方便[1]。在得到转换后的数字语音信号之后,就需要从其中提取特征量,将其作为语音识别的主要依据。因为语音信号中的语音段和非语音段所反映出来的信号特征是不一样的,所以特征值的提取会直接影响到语音端点检测计算结果,仅仅是在信噪比较高的情况下,可以通过语音信号能量特征分辨出语音段和非语音段,而信噪比较低时,很难准确将两者划分开,所以便需要提取语音信号的特征量,明确语音信号和噪声信号之间的不同,准确分辨出语音段和非语音段。在得到语音信号特征量之后,便需要通过小波神经网络算法对采集到的语音信号进行计算处理,这也是语音端点检测系统的核心工作,计算模型可以在不设定噪声门限阈值的情况下,根据所提取的特征值判断是否是语音信号段,进而有效提高了语音端点检测计算的准确性[2]。
图1 基于小波神经网络的语音端点检测系统结构
3 基于小波神经网络的语音端点检测算法的理论依据
语音信号在传播过程中经常存在噪声信号,容易对语音信号的高效、准确处理造成干扰,严重影响了语音信号的处理结果,所以在进行语音端点检测计算的时候,就需要对语音信号和噪声信号进行综合分析。在利用小波神经网络模式构建语音端点检测计算模型的时候,是以语音与噪声的频域差异和语音与噪声的统计自相似性作为理论依据的,通过了解并区分两者之间的不同,来实现对语音信号端点检测的准确计算。
3.1 语音与噪声的频域差异
高斯白噪声在自然界最为常见,也是语音信号在传播过程中必然出现的一种噪声信号,该类型噪声具有平稳随机性特点,通过比较语音信号与高斯白噪声信号的频域差异,可以为语音端点检测计算提供可靠依据。对采样得到的语音信号与噪声信号频谱进行观察,可以发现在两者的频谱中,能量分布及波动幅度情况存在较大差别,其中语音信号频谱中能量多集中在0~4kHz的低频区,能量波动起伏变化剧烈,最大值和最小值之间存在较大差距[3]。而高斯白噪声信号频谱中的能量,在各个频段的分布都是比较均匀的,没有出现大幅度波动变化,最大值和最小值之间的差值较小。所以,可以根据语音和噪声的频域差异,找出语音信号中的噪声,准确分辨出语音信号中的语音段和非语音段,使语音端点检测的精准性得到显著提升。
3.2 语音与噪声的统计自相似性
语音信号的统计自相似性具有随机性,语音信号的波形变化不会影响到其自相似性,即通过小波转换之后,在一定时域内,可以发现语音信号小波系数的统计特征是一模一样的,此时可以用1/f来表示语音信号的统计自相似性。在对语音信号进行端点检测的时候,可以根据语音信号的这种特点,将其与噪声信号区分开,以小波系数的方差作为辨别语音信号和噪声信号的主要依据,明确两者统计自相似性之间的不同,进而实现语音识别的目的。通过对语音信号和噪声信号的时域波形进行分析,可以发现两者之间具有显著差异,采用小波分解法对两种信号的时域波形进行处理之后,可以发现处理后语音信号幅度虽然在原来的基础上有所变大,但是其统计自相似性却没有发生变化,与原来的特征完全相同,其时域波形变化满足1/f。同样道理,噪声信号的时域波形在经过小波分解处理后,其统计特征不会随着波形的变化而发生改变,仍然与处理之前的保持一致[4]。
因为语音信号和噪声信号在经过小波分解处理后,其时域波形的统计自相似性都负符合1/f特点,所以其统计特性在时域内不随波形的扩充或压缩而变化,在对统计自相似性的平均值和协方差进行分析之后,依据小波基理论,以互为独立的零均值为依据,可以构建数学模型,来区分语音信号和噪声信号两者之间的不同,语音端点检测计算结果的准确性将会得到显著提高[5]。
4 基于小波神经网络的语音端点检测具体运算过程
在使用小波神经网络算法进行语音端点检测计算时,应该参照基础理论依据,提取语音信号中的特征量,并选择满足计算要求的最为合适的特征量,构建相应的计算模型,按照标准、规范的运算程序进行计算,得到最终检测结果。
4.1 语音特征量的提取与选择
语音特征量的提取是语音端点检测的首要工作,是确保语音识别精准性的基础和前提,从语音信号中提取相应的特征量之后,要从中选择最为合适的语音特征量,既要保证语音特征的全面性,又要避免对语音识别造成干扰,所以在使用小波神经网络算法进行语音端点检测时,就必须要做好语音特征量的提取与选择工作。
1)语音特征量的提取
语音特征量的提取是分三步完成的,首先要对语音信号进行分帧处理,其次再采用小波分解法对分帧处理后的语音信号进行二次处理,最后才可以从中提取语音特征量。在不同时间段,语音信号的特征量是存在一定差异的,随着时间的推移,语音信号的稳定性将会被打破,其特征量也会发生相应的变化,语音信号的特征量仅仅可以在较短时间内保持不变,该时间段一般情况下为20ms,此时,可以采用分帧处理法,将该段时间定义为语音信号的一帧,认定一帧内语音信号的特征量保持一致,然后以一帧作为单位,对语音信号的特征量进行逐帧分析[6]。在对语音信号进行逐帧分析的时候,可以采用小波分解法,即将每帧语音信号分为5层小波,如果用函数关系则可以表示为
此时,语音信号可以分解为高频空间和低频空间,每一个高频空间又可以进行再次分解,得到更低一级的高频空间和低频空间,然后依次向下对每一级的高频空间进行分解,经过5次小波分解处理之后,便可以由原有的一个语音信号得到6个不同频率的信号,而此时得到的信号频率分量总个数一共有10个,用分解之后得到的10个语音信号频率分量,便可以得到完整的信号频谱。在得到语音信号完整的频谱之后,依据语音与噪声的频域差异理论知识,可以知道语音信号频谱中能量多集中在0~4kHz的低频区,能量波动起伏变化剧烈,而噪声信号频谱中的能量,则均匀的分布在各个频段中,数值变化幅度较小,此时可以用公式来表示各层小波子带系数的平均能量,在公式中和N分别表示小波系数和小波系数个数。因为经过小波分解后可以得到6个不同频率的信号,所以便存在6个小波子带,将具体数值代入公式后,对各个小波子带平均能量的方差进行计算,可以得到,其中 σ2表示各个小波子带平均能量的方差,E表示不同小波子带的平均能量,此时便可以从语音信号中提取特征量,经过计算后,每帧语音信号一共可以得到8个特征矢量[7]。
2)语音特征量的选择
得到语音特征量之后,并不意味着所有的语音特征量都可以用于语音端点检测计算中,一些具有互补性的语音特征量对语音端点检测具有帮助作用,但同时也会存在一些无用、多余的语音特征量,不仅无法对语音端点检测具有帮助作用,还会对其造成干扰,影响计算结果的准确性。为了提高语音端点检测计算效率和精准性,所以便需要从得到的8个特征矢量中选择具有利用价值的语音特征量,以最具代表性的语音特征量为计算依据,来完成语音端点检测。语音特征量的选取过程具体分为四个步骤,第一步先计算得到与8个特征矢量相照应的矩阵,第二步利用不同特征矢量矩阵的特征值和特征向量,对特征矢量相照应的矩阵进行变化,第三步按照从大到小的顺序,对变换之后的特征矢量矩阵中的特征值进行排序,最后一步,将排序之后得到的语音信号特征值序列的前几个特征量作为代表性特征量,以此作为依据,实现语音端点检测计算[8~10]。
4.2 算法模型构建及运算
在提取语音特征量,并从中选取具有代表性的特征量数据之后,便可以利用小波神经网络算法构建语音端点检测模型,并按照相应的步骤进行计算,得到较为准确的语音识别结果。
1)小波神经网络
在对小波神经网络算法进行分析的时候,可以以径向基神经网络为代表。径向基神经网络又叫做RBF神经网络,其网络结构形式为前向网络,基础理论为非线性函数的无线逼近理论,具体结构组成分为输入层、隐藏层和输出层三部分。与BP神经网络相比,RBF神经网络的函数逼近能力、分类能力和学习速度等特性都比较良好,其中BP神经网络结构的示意图如图2所示,在RBF神经网络结构中,信号源节点是输入层的核心组成,RBF神经网络结构与BP神经网络结构的最大不同在隐含层部分,在RBF神经网络结构中,隐含层所用到的变换函数类型为径向基函数,这也是RBF神经网络结构的主要优势所在。
图2 BP神经网络结构的示意图
2)小波神经网络参数优化
在RBF神经网络结构中,影响其分类性能的因素主要有三种,分别为RBF神经网络的参灵敏、隐含节点的中心以及隐含节点的宽度。采用小波神经网络算法进行语音端点检测计算时,需要从这三种因素进行考虑,采用遗传算法对小波神经网络结构进行全局搜索,以此来实现对其参数的优化,具体优化流程如图3所示。
图3 RBF神经网络参数优化流程
3)语音端点检测具体过程
小波神经网络参数优化完毕之后,便可以进行语音端点检测,具体分为五步来实现。第一步先将RBF神经网络参数、小波分析和遗传算法等各项参数进行初始化处理。第二步将选取的有效语音信号特征量输入计算模型中,经过分析之后得到语音段和噪声段,并用不同数字对两者进行标注,将其区分开,完成训练样本的构建。第三步对RBF神经网络进行训练,使其可以根据输入的语音特征量,正确分辨出语音段和噪声段,在这一步检测过程中,对RBF神经网络参数的优化至关重要,只有经过不断优化之后,才可以将实际输出值和理论输出值之间的差值降到最低。第四步需要对计算模型的性能进行检验,对RBF神经网络进行训练之后,设定一个门限值作为区分语音段和噪声段的依据,比较人工标注结果和实际输出结果,判断计算模型是否精准可靠。如果此时两者之间存在较大出入,则认为神经网络的训练工作失败,需要进行二次训练。最后,在检测计算模型具有良好的精准性之后,便可以对语音端点进行检测,将语音信号输入模型中,提取并选择有效的特征量,经过分析后得到具体检测结果,根据输出的结果区分语音段和非语音段,实现语音识别的目的。
5 仿真实验及结果分析
5.1 仿真实验
为了对基于小波神经网络的语音端点检测算法的精准性进行检验,从TIMIT语音库中提取部分数据进行了仿真实验。在对语音信号进行分析和标记时,所用方法分为Cool Edit Pro和手式法,并设置四种不同噪声条件,信噪比分别为15dB、10dB、-0dB、-5dB,对计算模型的精准性进行测试。为了保证语音端点检测结果的准确性,在保证其他实验条件不变的情况下,分别选择小波分析+RBF神经网络算法、小波分析+主成分分析+线性分类算法、短时能量检测算法进行分别实验,其中第一种算法没有进行主成分分析。并将语音端点检测的正确率、虚检率、漏检率和检测速度作为算法性能的评价标准。
5.2 结果分析
经过仿真实验,可以得到不同算法语音端点检测的正确率。对实验结果进行分析,可以发现当语音信号中没有噪声信号时,各个算法得到的语音端点检测正确率都是比较高的,当语音信号中存在少量噪声信号时,各个算法得到的语音端点检测正确率会出现不同程度的下降,其中线性检测模型已经无法满足实际需求,而小波分析+RBF神经网络算法具有优势互补特性,端点漏检率较低,语音端点检测正确率下降不明显,并且还可以消除语音信号的冗余特征量。同时,小波分析+RBF神经网络算法和小波分析+主成分分析+线性分类算法的训练时间有所增长,但是其检测性能得到大幅度提高,同时小波分析+主成分分析+线性分类算法的运行时间要少于小波分析+RBF神经网络算法,由此可知采用小波分析+主成分分析+线性分类算法进行语音端点检测可以得到比较满意的效果。
6 结语
基于小波神经网络的语音端点检测算法具有较高的精准性,弥补了多种传统算法的不足,经过仿真实验证明,采用小波分析+主成分分析+线性分类算法进行语音端点检测,其正确性、抗噪性以及鲁棒性都得到了明显提高,具有较高的推广应用价值,在推动我国语音识别技术发展过程中起到了重要作用。