1、基于最大熵谱估计和时频特性的语音端点检测 陈莹莹 简磊 四川大学锦江学院电气与电子信息工程学院 摘 要: 语音端点检测对于构建实际语音识别系统具有重要的意义。为了提升在低信噪比条件下语音端点检测算法的性能, 提出一种基于最大熵谱和时频特性的端点检测算法。对分帧后的语音信号通过最大熵估算出功率谱, 并根据带噪语音信号时频域上的特性进行特征捕捉, 从而进行端点检测。实验结果表明, 此方法在较低的信噪比下 (-9 0 dB) 能够比较准确地捕捉语音信号的特征, 明显地提高了端点检测的准确性。关键词: 端点检测; 最大熵谱估计; 时频特性; 信噪比; 作者简介:陈莹莹, 讲师, 主研领域:信号检测与识
2、别。作者简介:简磊, 讲师。收稿日期:2016-12-22SPEECH SIGNAL ENDPOINT DETECTION BASED ON MAXIMUM ENTROPY SPECTRUM ESTIMATION AND TIME-FREQUENCY SIGNATUREChen Yingying Jian Lei School of Electrical and Electronic Information Engineering, Jinjiang College, Sichuan University; Abstract: Speech endpoint detection is cruc
3、ial to the construction of a practical automatic speech recognition system.A new algorithm based on the maximum entropy spectrum estimation and time-frequency signature is proposed to improve the performance of speech endpoint detection in low SNR ( Signal Noise Ratio) environment. The framed speech
4、 signal power spectrum was estimated through the maximum entropy, and then the characteristics of noisy speech were extracted in time-frequency field in order to detect the endpoint. Experimental results show that, this method can accurately capture the characteristics of speech signals under lower
5、SNR (-9 0 dB) , and significantly improves the accuracy of endpoint detection.Keyword: Endpoint detection; Maximum entropy spectrum estimation; Time-frequency characteristics; SNR; Received: 2016-12-220 引言语音信号端点检测技术是语音处理中一个重要的前端处理环节。相对有效的端点检测技术不仅能减少语音识别系统中的数据采集量, 大大降低处理时间, 还能去除静音段或噪声段的干扰, 使语音识别系统的性能
6、得以提升。实际的端点检测的目的是从带噪语音中对语音信号进行检测, 因此大大提高了检测的难度, 目前的端点检测最常用的方法比如1:短时过零率、短时能量、双门限法、基于自相关函数的检测, 此类方法原理简单、运算量小, 当信噪较高的时候性能良好, 但是信噪比较低时检测性能大大降低。随着技术发展, 近年来又出现了频带方差2、倒谱系数3、小波4等方法, 这些方法性能上有了很大改善, 但是容易受到噪声的影响, 强噪声环境下检测效果仍然不理想。熵代表一种不确定的信息。不确定的信息越多, 熵值就越大, 而且语音的熵和噪声的熵存在很大区别。Shen5等将谱熵引入到语音信号端点检测中, 由于语音信号存在共振峰结构
7、的特点, 且归一化谱概率密度函数分布不均匀, 所以语音信号的谱熵值与噪声的谱熵相比一般较低, 与噪音信号相比在统计学概率上有区别。由于谱熵值与能量大小无关, 所以谱熵法在带噪环境下检测效果优于其他算法。目前出现了许多基于谱熵的端点检测算法6-7, 信噪比在 0 d B 以上检测效果良好, 为了进一步提高在信噪比较低 (0 d B 以下) 的检测准确性, 提出了一种改进的基于最大熵谱估计的端点检测算法。通过最大熵法求出每帧信号的功率谱分布, 并结合改进的语谱图分析得到基于短时功率谱的新特征参数。最大熵谱估计是一种以数据模型为基础的现代谱估计技术。该算法具有短时性, 对采样点数要求较低, 可以用来
8、分析语音的短时特性, 与短时 FFT 谱相比, 短时最大熵谱的谱线明显平滑, 分辨率也大大提高了, 可以从低信噪比下提取出有用信号。1 理论基础1.1 谱熵法的介绍基于谱熵的语音端点检测方法的思路是利用检测谱的分布程度来实现语音端点检测的目的。为了提高检测效果, 语音信息谱熵采用短时功率谱来计算, 实现了对语音段和噪声段的区分。下面是对谱熵的定义的介绍。设语音信号时域波形为 x (i) , 加窗分帧后的第 i 帧语音信号为 xn (m) , FFT变换为 Xn (k) , k 表示为第 k 条谱线。该语音帧的短时能量为:某一谱线 k 的能量谱为:则每个频率分量的归一化谱概率密度函数为:该语音帧
9、的短时谱熵为:检测方法为:(1) 对语音信号进行分帧加窗处理, 进行 FFT 变换。(2) 得到每帧的谱能量值。(3) 计算得到每帧语音信号的概率密度函数的大小。(4) 经过计算得到每帧语音信号的谱熵值。(5) 通过设置判决门限, 利用各帧的谱熵值最终实现语音端点的检测。从谱熵法的算法推导过程和检测思路可以看出, 谱熵法检测算法重点在于对语音信号的功率谱估计。功率谱估计的传统方法是通过对信号进行傅里叶变换的方法来实现的, 傅里叶变换有比较成熟物理基础, 实现起来较容易, 所以在功率谱估计方面有很大的用途。但是由于传统方法只有当要研究的数据较长也就是采样点多的时候, 功率谱估计精度才比较高。但是
10、这样处理数据的工作量增加了, 而且在研究短信号或者瞬时信号时性能降低。传统的功率谱估计方法进行运算时还必须要引入窗函数, 假设将数据窗以外的数据全部设为零, 就降低了功率谱分辨率, 强信号的主瓣部分淹没了弱信号的主瓣部分等现象, 当处理的数据很短的时候这种影响就变得更加严重6。正是在这一背景下 Burg 于 1967 年提出了以数据模型为基础的最大熵谱估计方法, 该算法根据少量的采样数据便可获得高频谱分辨率的功率谱估计。所以比较适合分析短时信号, 比如包含 128 个采样点的一帧语音信号。最大熵方法, 把关于过程的自相关函数无限外推, 大大提高了估计得到的功率谱分辨率, 所以与经典的方法相比,
11、 最大熵方法在对功率谱的质量要求较高时, 弥补了传统方法的不足。1.2 最大熵谱估计算法描述通过最大熵谱方法进行功率谱估计的基本思路8:对于已知有限延迟点上的自相关函数值保持不变;对于未知延迟点自相关函数, 不进行其他任何假设, 基于最大熵准则, 利用已知的有限数据用无限外推法的方法求得, 从而估计出被测信号的功率谱密度。首先熵的定义为9:可见熵是消息源发出每个消息的平均信息量, 当随机变量为对于高斯分布的时候, 布卡乔夫证明了在信息熵和自协方差矩阵间存在着以下关系:当时间序列为零均值时 (当均值不为零, 可以用时间序列减去均值的方法进行处理) , 熵和自相关函数之间存在关系:当过程为无限长时
12、, 用熵率作为信息的度量如下所示:时间序列功率谱密度和熵率存在着如下关系:其中:离散的时间序列频率为-f c, fc。离散的时间序列的相关函数为:离散的时间序列的功率谱可表示为:当满足条件 时可以计算得到最大熵谱密度估计值为:最大熵谱估计的主要在于求出式 (11) 中的各参数, 即求出预测误差滤波器输出的预测误差功率最小值 pmin和预测误差滤波器系数 am。方法主要包括Levinson-Durbin 递推算法和 Burg 算法。对于 Burg 递推算法, 它的主要思想是只从研究的离散时间序列本身出发, 与最大熵保持一致的是对延拓的数据部分不进行任何先验假设, 所以得到了广泛应用。Burg 算
13、法首先利用前向预测误差功率和后向预测误差功率两者总均方差之和为最小的方法来求解得到反射系数, 从而计算出预测误差滤波器系数。通过 Burg 法计算最大熵功率谱主要包括以下几个步骤10:(1) 对离散时间序列进行中心化处理, 保证离散时间序列 x (n) 的均值不为零, 如为零, 则先将 x (n) 去均值。(3) 通过相关计算得到反射系数 km。(4) 计算前向、后向的预测滤波器系数分别为:(6) 计算滤波器输出:(7) 令 M=M+1, 并重复步骤 (3) 至步骤 (6) , 直到预测误差功率不再明显减小。其中:预测误差滤波器阶数为 M, 采样序列长度为 N, 向前预测误差为, 向后预测误差
14、为1.3 最大熵谱估计阶数的选择预测误差滤波器阶数的选择在最大熵谱估计过程中很重要, 所以必须要正确选择模型的阶数。假设模型阶数为 M, 采样序列长度为 N, 如果选择的 M 值太小, 通过最大熵方法估计得到的离散时间序列的功率谱会过度的平滑, 分辨率较低, 从而出现被研究信号中最容易预测, 变化最缓慢的频点的峰值。反之, 如果 M太大, 会使拟合产生急剧的变化, 得到的谱估计中包含虚假的细节部分, 降低谱估计的准确性。为了使选择的滤波器最佳, 这里用 Mopt表示, 可以采用下面三种方法:自回归 (CAT) 传递函数准则、信息论 (AIC) 准则和最终预测误差 (FPE) 准则。以上三种实现
15、方法在高信噪比时确定的阶数基本一致。而在低信噪比情况下, 三种方法得到的结果不同, 得到的滤波器阶数偏低。其中 FPE 方法较另外两种更为正确。通过上面三种准则, 都可以在计算预测滤波器参数 (a k、p min) 的每一次递推中求解得到所要确定的阶数。因为最大熵谱估计等价与预测滤波器方法, 而在预测滤波器中误差功率的最小值 pmin, 存在下面的结论:0p minpmin, 因此为了得到 Mopt, 将算出的新旧值作比较, 若新值大于以前的值, 就停止迭代过程。2 语音信号的时频特性介绍语音的发音过程中经过的器官之一声道通常都是处不稳定状态的, 所以得到了时变的共振峰特性。但是与振动过程相比
16、, 这个时变过程比较缓慢, 在研究过程中可以假设它具有短时平稳性, 每一时刻的频谱可以用这时刻附近的一段短时语音信号得到, 比如 12 ms 的时间段。连续地对语音信号进行频谱分析可以得到关于语音的一种二维图谱, 在图中时间为横坐标, 频率为纵坐标, 对应时刻和对应频率的信号能量密度用每像素的灰度值大小表示, 能量越大颜色越深, 能量越小颜色越浅。通过这种方法得到时频图为语谱图 (Spectrogam) 11。很多与语音特性有关的信息包含在语谱图中, 并且这种时频图结合了频谱图和时域图的特点, 明显地显示出语音动态的频谱, 即随时间变化的频谱特性, 被视为可视语言的时频图在语音分析中有重要实用
17、价值。对于发音器官, 任一时刻共振峰特征、基音频率、是否清音和爆破音等参数都可以从语谱图上得到。总之, 在语音识别、合成及编码中语谱分析具有很重要的意义。图 1 为语音信号“我到黑龙江”的语谱图, 通过图中可以看到花纹有横条纹和竖条纹。其中横条纹反映的是共振峰特性, 参数值为与时间轴平行的几条深黑色带纹, 所以共振峰频率和带宽可以从对应横杠的频率和宽度确定。同时横杠是也判断浊音的重要标志。其中一个个的竖直条相当于一个个的基音, 声门脉冲的起点用条纹的起点表示, 基音周期通过条纹之间的距离表示。基音频率越高的语音信号得到的条纹越密。在得到的语谱图里, 根据横轴可以判断每个字的开始和结束, 因此可
18、以将语谱图作为端点检测的依据。图 1“我到黑龙江”语谱图灰度显示 下载原图3 算法介绍3.1 算法原理当在整个频带上语音信号的能量都有分布时, 全频带上能量分布的变化会受到语音信号的变化;通过分析可知, 在频域范围内语音信号能量最大点在谐波附近11。当背景噪声很大的时候, 虽然语音信号时域特性已被噪声完全淹没, 但是语谱图上的能量分布仍然比较明显。图 2 所示的是语音“我在黑龙江”在高斯白噪声污染下的频谱图, 其中信噪比为 2 d B, 图中显示语音信号大部分区域被噪声所掩盖, 但是在语音存在的地方颜色较其他区域较突出, 图中白亮、有黑白条纹的地方为语音信号存在的范围。这个特点可以作为语音信号
19、和非语音信号部分的依据, 而且在复杂的恶劣的噪声背景下也具有很强的鲁棒性, 所以语谱图可以用于低信噪比环境中的端点检测12。图 2 带噪声的“我到黑龙江”语谱图灰度显示 下载原图3.2 算法实现(1) 将语音信号进行预处理:首先对语音信号进行采样, 采样频率为 8 k Hz, 然后分帧加窗, 帧长取 16 ms (128 个采样点) , 帧移为 8 ms, 对每帧信号加128 点的汉明窗得到的信号为 sw (n) , n 为帧数, w 代表加窗。(2) 求出每帧的功率谱参数:利用最大熵法求出每帧信号 sw (n) 的功率谱 pxx (n) , 其中预测滤波器阶数采用 14 阶, 最后求出所有帧
20、的功率谱对数值 p (n, k) , 其中 n 为帧数, 用横坐标表示, k 为每帧的采样点数, 用纵坐标表示, 通过将 p (n, k) 的值表示为灰度级得到的二维图像就是语谱图13。经过以下变换:10log 10 (p (n, k) ) 能得到语谱图的分贝表示。(3) 提取时频特性参数13:对 10log10 (p (n, k) ) 进行归一化, 选取基准值Base 取经验值, 得到了矩阵 L (n, k) , 把小于 Base 的值设为 0, 大于 Base的值线性映射为 01 内的归一化值。(4) 计算每帧的功率谱均值矩阵 l (1:n) 。(5) 利用移动平均法对 l (1:n) 进
21、行平滑处理。4 实验结果及分析通过实验, 对算法进行了评价。选取其中一组语音“我到黑龙江”来说明检测情况, 其中语音的采样频率为 8 k Hz, 帧长为 16 ms, 帧移位 8 ms。加入的噪声为高斯白噪声, 实验分别在不同信噪比下对基于短时能量、基于频谱方差、本论文改进的方法进行了比较和分析。图 3-图 8 为不同信噪比下的检测分析图, 其中 SNR 为信噪比, 可以得出以下结论:(1) 当信噪比大于 0 d B 时三种检测方法都可以很容易检测出这段语音包含的五个字的端点, 提取出来的特征参数和原始语音信号的时域图匹配。(2) 当信噪比在-2.7 d B 本论文方法检测结果与原始语音信号时
22、域图基本匹配, 而基于短时能量和基于频谱方差的检测方法检测误差比较大, 尤其是频谱方差的检测方法误差最大。(3) 当信噪比在-5 d B、-7.5 d B 和-9 d B 时, 基于短时能量和基于频谱方差的检测方法检测识别不出语音信号的特征。本文改进方法仍然能够准确地提取到纯净语音信号的特征参数, 当信噪比在-9 d B 检测匹配度仍在 80%左右。(4) 总之, 从图 3-图 8 可见, 随信噪比的减小, 频谱方差和短时能量的检测效果变差, 最大熵谱和时频特性方法在几种情况下均可以提取出被测语音的特征, 通过观察改进的功率谱特性图 (每图的第四个波形) , 从中可以明显地看到语音信号的起止点
23、, 从而进行准确的语音端点检测。当信噪比为-9 d B 以上时, 通过改进的检测方法, 噪声部分相当于被削弱, 而语音特征变得明显, 在低信噪比情况下提高了语音端点检测的效果。图 3 SNR=8 d B 时的检测分析图 下载原图图 4 SNR=0 d B 时的检测分析图 下载原图图 5 SNR=-2.7 d B 的检测分析图 下载原图图 6 SNR=-5 d B 的检测分析图 下载原图图 7 SNR=-7.5 d B 的检测分析图 下载原图图 8 SNR=-9 d B 的检测分析图 下载原图表 1 是语音“我到黑龙江”在基于最大熵谱估计和时频特性得到的测试统计情况, 数字范围是单个汉字对应的范
24、围, 表中列出了不同信噪比情况下的检测结果。可以看出整体检测效果较好, 在信噪比大于-5d B 的情况下, 每个字的起止检测都较准确。信噪比降到-9 d B 的时候每个字的起止点都会出现了部分错误, 不过检测率仍然大体保持在 80%左右。在这段语音中由于“黑龙”两字之间出现连音情况, 端点检测结果出现了一定的偏差。表 1 测试统计情况 下载原表 5 结语提出一种基于最大熵谱和时频特性的语音端点检测方法, 最大优点是提高了在低信噪比 (-90 d B) 情况下可以有效地提取出语音信号的特征参数, 从而大大提高了端点检测的准确率。通过利用语音信号和噪声在最大熵谱估计及语谱图上特性的区别, 首先利用
25、最大熵方法计算带噪语音的短时功率谱, 然后利用时频特性提取特征参数从而进行端点检测。实验证明这种不同于以往的短点检测算法效果比较理想, 该检测算法尤其适合于在白噪声环境下。但是实验中出现连字情况时检测效果受到了影响, 对于爆破音、除白噪声以外的噪声情况没有考虑, 在这些方面可以对算法进行进一步的改进。参考文献1宋知用.MATLAB 在语音信号分析与合成中的应用M.北京:北京航空航天大学出版社, 2013:16-27. 2Zhao H, Zhao L X, Zhao K, et al.Voice activity detetion based on distance entropy in noi
26、sy environmentC/5th International Joint Conference on INC, IMS and IDC Seoul.Korea:IEEE Computer Society, 2009:1364-1367. 3沈红丽, 曾毓敏, 王鹏.一种改进的基于倒谱特征的带噪语音端点检测方法J.通信技术, 2009, 42 (2) :156-158. 4鲁远耀, 周妮, 肖珂, 等.强噪声环境下改进的语音端点检测算法J.计算机应用, 2014, 34 (5) :1386-1390. 5Shen J L, Hung J W, Lee L S.Robust entropy-
27、based endpoint detection for speech recognition in noisy environmentsEB/OL.2014-08-12.http:/ 6刘艳, 倪万顺.基于子带谱熵的仿生小波语音增强J.计算机应用, 2015, 35 (3) :868-871. 7张婷, 何凌, 黄华, 等.基于临界频带及能量熵的语音端点检测J.计算机应用, 2013, 33 (1) :175-178. 8任月清, 张泽.基于最大熵谱估计的超声检测回波频谱分析J.内蒙古大学学报, 2007, 38 (4) :454-457. 9曹建农.图像分割的熵方法综述J.模式识别与人工智能, 2012, 25 (6) :958-970.