同声道语音检测及基于小波变换的检测算法

时间:2022-08-20 09:03:41

同声道语音检测及基于小波变换的检测算法

摘 要:本文分析了同声道语音检测的典型算法WAVELET算法,介绍了算法的基本思想和流程。并用MATLAB工具进行验证。

关键词:同声道语音 小波变换

引言

同声道语音是指目标说话人语音混杂着另一个干扰者的说话语音。同声道语音检测属于语音增强技术,是目前国际上的一个研究热点和难点,国内罕有涉及者。

要实现目标语音的提取,首先要能正确地检测出同声道语音帧。同声道语音和单个说话人语音不同之处在于:单个说话人语音波形具有谐波性,而同声道语音波形不具有谐波性,这是区分它们的关键特征。

1. 同声道语音检测的基本概念和典型算法

1.1 同声道语音检测的基本概念

实际生活中经常遇到多人同时说话的情况,此时不需要的语音就形成了同声道干扰,通信系统中邻近信道的串话也是同声道干扰。人类的听觉系统擅长分辨在多人说话时某一人的声音,然而,利用数学方法模仿人类的听觉系统只取得了有限的进展。在本文中,我们将同声道语音定义为目标说话人语音混杂着另一个干扰者的说话语音。由于语音是宽带信号,目标语音和干扰语音在时域和频域都发生混迭,不能按照常规的通过滤波器的方法来分离。因此,同声道语音分离,是语音增强的一个难点。要实现目标语音的提取,首先要能正确地检测出同声道语音帧。同声道语音和单个说话人语音不同之处在于:单个说话人语音波形具有谐波性,而同声道语音波形不具有谐波性,这是区分它们的关键特征。

同声道语音检测问题可以解释如下,给出一个混合的语音信号,该语音信号混合了两人或者更多人,我们要做的就是检测当前的语音帧是否是两人或以上的语音帧。

在图2中,我们有目标语音(speaker 1)和干扰语音(speaker 2)。混合语音信号含有speaker1的帧,含有speaker 2的帧,也含有speaker 1和speaker 2同时存在的帧。研究的目标就是开发一个系统,该系统要区分只含有目标语音帧和目标语音和干扰语音同时存在的帧,也就是区分单个人的语音帧和同声道语音帧。

目前,同声道语音检测技术典型方法是频谱自相关峰谷率法SAPVR(Spectral Auto Correlation Peak Valley Ratio)算法和基于小波的检测算法。下面具体介绍基于小波的检测算法(WAVELET)并验证之。

1.2 基于小波变换的同声道语音检测算法分析

1.2.1 基于小波变换的同声道语音检测算法

小波变换是用一个母波函数对信号进行回旋处理,该过程要对时间进行平移,同时要对尺度参数进行变化。小波是一个数学函数,它能把信号数据分为不同频率的各个部分,然后用一个合适的最佳尺度分析每一部分数据。小波在时域表现为突然激励的有限能量,而且在一定的时间内振动。连续小波变换是用时间的平移和尺度的变换对信号回旋处理。该算法框图如图2所示:

1.2.2 加窗

在本算法中,加窗的方法采用汉明窗(Hamming),阈值取1到12。

1.2.3 进行DWT计算

计算已加窗的语音帧离散小波变换(DWT)系数。

与傅里叶变换相比,小波变换是空间(时间)和频率的局部变换,通过伸缩和平移等运算,小波变换可以对函数或信号进行多尺度的细化分析。小波在时域和频域都具有表征信号局部特征的能力,是一种窗口大小固定不变但形状可改变,时间窗和频率窗都可以改变的时频局部化分析方法。小波分析在信号的高频部分时间分辨率较高而频率分辨率较低;在信号的低频部分具有较高的频率分辨率和较低的时间分辨率。也就是说,小波分析具有对信号的自适应性。除了微分方程的求解之外,原则上能用傅里叶分析的地方都能用小波分析,并能取得更好的结果。因此,Robert Yantorno在SAPVR算法的基础上,提出了基于小波变换的同声道语音检测算法,用小波分析替代傅里叶分析,取得了良好的效果。

1.2.4 进行自相关计算

自相关函数用于测定一个信号自身在时域内的相似性,如果信号的两个部分波形相同,则在超前、滞后处出现峰值,由此可以求出信号自身的相似程度。这里利用自相关函数来处理语音信号经过傅里叶变换以后的数据,可以有效地对数据谐波性做出判定。

1.2.5 设定阈值并比较

用求得的自相关值与阈值比较,大于阈值的是单个人语音,在本文的设定中就是可用语音,小于阈值的是同声道语音。

1.3 基于小波变换的同声道语音检测算法的验证及结果分析

1.3.1 本文对基于小波变换的同声道语音检测算法的实验结果及分析

本文的实验采用汉明窗,无重叠,窗函数从150到500数据点,每次增加50;阈值从1到12,增量为1。先检测100帧同声道语音,检出帧数就是检出率;再检测100帧单个人语音,检出的同声道语音数就是虚警率。本文给出的基于小波变换的检测算法的处理结果,如图3所示:

上面第一幅图是原始语音,和SAPVR算法处理的是同样的语音。中间的图是对原始语音做离散小波变换(DWT)得出的小波系数图。小波系数图有很明显的特点:以语音长度的一半(这里是300/2,即150)为分界,左边的波形能量占整个波形能量的90%左右,而右边的只占10%。这是因为一维离散小波变换(DWT)的实质是将语音信号分为高频和低频两个部分,低频是信号的近似;高频是信号的细节。然而对于不含噪声的语音来说,正常语音范围小,频率低,含高频少。

计算出第三幅图的波形以后就可以计算自相关值来判断语音是单个人语音还是同声道语音了。

表1是本文给出的基于实验语音样本库的实验结果:

对于同一个实验语音样本库,本文验证的结果,基于小波变换的检测算法确实比SAPVR算法检出率要高,虚警率稍低。

阈值变化对检出率和虚警率的影响

本文给出了基于实验语音样本库的阈值变化对小波变换的检测算法检出率和虚警率的影响,如图4所示:

阈值变化对算法结果的影响也比较大,但是比SAPVR算法的变化曲线稍微平缓些。

结束语

同声道语音检测是国际上的语音处理研究最近几年兴起的研究热点和难点,但国内少有研究者。本文首先介绍了同声道语音检测的概念,详细分析并实验验证了目前该领域中典型的WAVELET算法。

参考文献:

[1]Arvind Ram an Kizhanatham. DETECTION OF COCHANNEL SPEECHANDUSABLE SPEECH[D]. the Temple University Graduate Board.

[2]Nishant Chandra. DETECTION OF USABLE SPEECH UNDER CO-CHANNEL SPEECH CONDITIONS[D]. Department of Electrical And Computer Engineering Temple University.

[3]StuartN.Wrigley,GuyJ.Brown.SPEECH AND CROSSTALK DETECTION IN MULTI-CHANNELAUDIO[C]. IEEE TRANSACTIONS ON SPEECH AND AUDIO PROCESSING,VOL. X,NO. Y,SEPTEMBER 2004.

上一篇:能力风暴机器人实践教学之点滴 下一篇:浅析评定导轨直线度误差两种方法的运用