本发明涉及语音信号处理技术领域,尤其涉及一种低信噪比环境下的端点检测方法。
背景技术:
端点检测(endpointdetection,ed),通常是指从背景噪声环境中区分出语音信号和非语音信号,并确定语音的起始点和结束点,又称为语音活动检测(voiceactivitydetection,vad)。随着智能家居的普及,语音技术的发展也备受关注,人们希望在更复杂的环境中也能用语音控制智能设备,因此研究低信噪比环境下高效的语音控制技术具有一定的实际价值。
端点检测是一种语音信号处理常用的前端处理技术,语音端点的准确定位有助于排除噪声段的干扰、增强系统处理的实时响应性、降低功耗从而提升系统性能。传统方法主要采用语音特征参数进行检测,主要有时域和频域两大类,其中时域常用的特征参数有短时能量、短时过零率、对数能量、短时相关性特征等;频域参数有谱熵、方差、倒谱距离、小波变换、经验模式分解(empiricalmodedecomposition,emd)等。端点检测的性能与语音和背景噪声之间的信噪比(signaltonoiseratio,snr)密切相关,低信噪比环境下的端点检测一直是研究的热点之一。传统方法因侧重于对特征参数的提取而忽视了强噪声环境的干扰从而导致了端点检测在低信噪比环境下性能急剧下降。
技术实现要素:
针对现有技术的不足,本发明所解决的技术问题是端点检测在低信噪比环境下性能急剧下降的问题。
为解决上述技术问题,本发明采用的技术方案是一种低信噪比环境下的端点检测方法,通过对带噪语音进行调制域谱减获得降噪和语音失真之间的平衡,从而改善语音质量,再结合功率归一化倒谱系数之间的距离进行端点检测,包括以下主要步骤:
(一)对含噪语音进行调制域谱减并补偿相位得到增强后的语音,具体分步骤如下:
(1)假设含噪语音由加性噪声和纯净语音组成,噪声和语音不相关,含噪信号可表示为:
y(n)=x(n)+d(n)(1)
其中x(n)为纯净信号,d(n)是噪声信号,n为离散时间域的索引位置;由于语音的短时平稳特性,故对信号y(n)进行分帧、加窗后做短时傅里叶变换:
(2)为了直观地表达出信号的幅度谱和相位谱,可将短时傅里叶变换后的频谱表示为极坐标形式:
y(n,k)=|y(n,k)|ej∠k(n,k)(3)
(3)在每个频率点沿时间逐帧对幅度谱|y(n,k)|进行短时傅里叶变换得到调制谱:
上式表示为极坐标形式如下所示:
y(τ,k,m)=|y(τ,k,m)|ej∠y(τ,k,m)(5)
τ是调制帧,m为调制频率,x(τ,k,m)和
(4)在调制域,使用谱减法改进调制谱幅度,如式(6)所示:
其中
其中θ是遗忘因子,当信号判定为噪声段时,更新噪声估计;
(5)因为带噪信号为实信号,故经过短时傅里叶变换得到的调制谱是共轭对称的,如式(8)所示:
y(τ,k,m)=y*(τ,n-k,m)(8)
通过使用反对称函数去改变共轭项之间的角度关系,继而可以补偿调制相位谱,其中相位谱补偿的度数根据噪声的调制幅度谱估计确定,相位补偿函数表达式如公式(9)所示:
其中相位补偿度数λ(τ,k,m)由噪声的调制幅度谱
(6)改进的调制谱zλ(τ,k,m)由修正的调制域幅度估计
其中
∠zλ(τ,k,m)=arg[zλ(τ,k,m)](12)
改进的调制域相位谱如式(13)所示:
∠zλ(τ,k,m)=arg[zλ(τ,k,m)](13)
(7)将修正的调制域幅度估计
结合修正后的幅度谱和含噪语音调制域相位谱做傅里叶反变换、去窗处理和重叠相加得到增强后的频域幅度谱;
最后结合频率相位谱再一次进行傅里叶反变换即可恢复出增强后的语音信号。
(二)提取经过调制域谱减后的语音信号的pncc特征参数,计算每帧信号pncc倒谱系数
(1)对输入的语音信号进行预处理,包括采样量化、预加重、分帧加窗和短时傅里叶变换;
(2)对时频域转换分析后的序列进行功率谱计算,公式定义如式(16)所示:
其中ft(ω)是经过短时傅里叶变换以后得到的值;
(3)采用gammatone听觉滤波器组对获得的功率谱进行滤波,gammatone滤波器组的时域冲激响应如式(17)所示:
g(t)=at(n-1)e-2πbtcos(2πf0t+φ)(17)
其中n为滤波器阶数,b为滤波器带宽;
(4)通过计算长时帧功率、采用非对称滤波和临时掩蔽抑制背景噪声,长时帧功率计算公式如下:
上式中
式中
(5)采用时-频域归一化处理调整功率,其过程如下:
c1=max(c-n,1)(21)
c2=min(c+n,c)(22)
(6)将经过幂函数非线性处理后的信号序列通过dct变换进行特征降维得到特征参数;
(7)通过倒谱均值归一化在每一个短时帧倒谱域上减去信道均值响应,有效避免信道卷积噪声在倒谱域上的干扰,最终得到pncc特征参数;
(8)假设前导无话帧为噪声帧,取前5帧pncc系数的平均值作为背景噪声帧的估计值,记为pc2(n),同时更新噪声倒谱系数,再计算每帧信号的pncc倒谱系数
式中,p为pncc倒谱分析中使用的阶数,采用16阶;
(9)将倒谱距离作为检测参数,采用双门限判决方法进行端点检测。
与现有技术相比,本发明通过对带噪语音在调制域中执行谱减法并合理选择调制帧长度,可以有效避免音乐噪声带来的语音失真,从而改善语音质量;再结合具有一定抗噪性的pncc倒谱距离作为特征参数进行端点检测,可以保持较高的检测准确率和稳健性,可用于改善语音识别系统的实时响应性能,减少功耗。
附图说明
图1为本发明的工作流程图;
图2为在f16噪声环境下语音信号经过各算法的感知语音质量评估(pesq)测度;
图3为语音信号经多带谱减结合倒谱距离得到的端点检测结果图;
图4为语音信号经调制域谱减和对数能量子带谱熵相结合得到的端点检测结果图;
图5为语音信号经多特征融合与动态阈值得到的端点检测结果图;
图6为语音信号经本发明方法得到的端点检测结果图;
图7为白噪声环境下端点检测正确率;
图8为volvo噪声环境下端点检测正确率;
图9为f16噪声环境下端点检测正确率。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的说明,但不是对本发明的限定。
实施例:实验使用m-audio多路音频设备在相对安静空旷场地采集语音数据。语音内容为三个命令词:“小白小白”、“打开音箱”、“小白小白”。采样频率为16khz和精度为16bit,算法中对语音信号加汉明窗进行分帧处理。
图1示出了一种低信噪比环境下的端点检测方法,通过对带噪语音进行调制域谱减获得降噪和语音失真之间的平衡,从而改善语音质量,再结合功率归一化倒谱系数之间的距离进行端点检测,包括以下主要步骤:
(一)对含噪语音进行调制域谱减并补偿相位得到增强后的语音,具体分步骤如下:
(1)假设含噪语音由加性噪声和纯净语音组成,噪声和语音不相关,含噪信号可表示为:
y(n)=x(n)+d(n)(1)
其中x(n)为纯净信号,d(n)是噪声信号,n为离散时间域的索引位置。由于语音的短时平稳特性,故对信号y(n)进行分帧、加窗后做短时傅里叶变换:
(2)为了直观地表达出信号的幅度谱和相位谱,可将短时傅里叶变换后的频谱表示为极坐标形式:
y(n,k)=|y(n,k)|ej∠k(n,k)(3)
(3)在每个频率点沿时间逐帧对幅度谱|y(n,k)|进行短时傅里叶变换得到调制谱:
上式表示为极坐标形式如下所示:
τ是调制帧,m为调制频率,x(τ,k,m)和
(4)在调制域,使用谱减法改进调制谱幅度,如式(6)所示:
其中
其中θ是遗忘因子,当信号判定为噪声段时,更新噪声估计。
(5)因为带噪信号为实信号,故经过短时傅里叶变换得到的调制谱是共轭对称的,如式(8)所示:
y(τ,k,m)=y*(τ,n-k,m)(8)
通过使用反对称函数去改变共轭项之间的角度关系,继而可以补偿调制相位谱,其中相位谱补偿的度数根据噪声的调制幅度谱估计确定,相位补偿函数表达式如公式(9)所示:
其中相位补偿度数λ(τ,k,m)由噪声的调制幅度谱
(6)改进的调制谱zλ(τ,k,m)由修正的调制域幅度估计
其中
改进的调制域相位谱如式(13)所示:
∠zλ(τ,k,m)=arg[zλ(τ,k,m)](13)
(7)最后将修正的调制域幅度估计
结合修正后的幅度谱和含噪语音调制域相位谱做傅里叶反变换、去窗处理和重叠相加得到增强后的频域幅度谱。
最后结合频率相位谱再一次进行傅里叶反变换即可恢复出增强后的语音信号。
为了检测融合相位补偿的调制域谱减算法性能,仿真实验中采用了noise-92噪声库中的白噪声(white)、汽车噪声(volvo)和战斗机驾驶舱噪声(f16),信噪比设为5db、0db、-5db、-10db,仿真实验从含噪语音信噪比提升以及语音质量感知评估测度(perceptualevaluationofspeechquality,pesq)两个方面验证调制域谱减算法的性能。参考算法分别为基本谱减法、多带谱减法和对数最小均方误差(logarithmminimummeansquareerror,logmmse)算法。
从表1可以看出融合相位补偿的调制域谱减算法相对于其他算法在信噪比提升上更具优势,其中对于volvo噪声的信噪比提升最大,其次为logmmse算法;基本谱减法和多带谱减法相较上述两种算法性能提升较小。
表1各算法在不同环境下的信噪比提升对比
为了进一步验证调制域谱减法的性能,采用可反映语音可懂度的感知语音质量评估测度,pesq的评分范围为[-0.5,4.5],分数越高,就代表语音的感知质量越好。
图2显示了各算法在f16噪声环境下不同信噪比的pesq得分,由图可知,随着snr变差,相关的pesq分数总是变低,表明pesq是反映语音中嘈杂失真程度的适当度量。相比参考算法,调制域谱减在所选取的三种噪声环境中均取得了良好的语音增强效果,减少了语音畸变。
调制域谱减算法在含噪语音信噪比提升以及感知语音质量评估测度两个指标中均表现良好,故本发明将其用于前端消噪以提升信噪比,减少语音失真,从而为后续端点检测提供良好基础。
(二)提取经过调制域谱减后的语音信号的pncc特征参数,计算每帧信号pncc倒谱系数
(1)对输入的语音信号进行预处理,包括采样量化、预加重、分帧加窗和短时傅里叶变换等。
(2)对时频域转换分析后的序列进行功率谱计算,公式定义如式(16)所示:
其中ft(ω)是经过短时傅里叶变换以后得到的值。
(3)采用gammatone听觉滤波器组对获得的功率谱进行滤波,gammatone滤波器组的时域冲激响应如式(17)所示:
g(t)=at(n-1)e-2πbtcos(2πf0t+φ)(17)
其中n为滤波器阶数,b为滤波器带宽。
(4)通过计算长时帧功率、采用非对称滤波和临时掩蔽抑制背景噪声,长时帧功率计算公式如下:
上式中
功率谱,进行长时帧背景噪声估计的非对称滤波器公式定义如下:
式中
(5)采用时-频域归一化处理调整功率,其过程如下:
c1=max(c-n,1)(21)
c2=min(c+n,c)(22)
(6)进一步将经过幂函数非线性处理后的信号序列通过dct变换进行特征降维得到特征参数。
(7)通过倒谱均值归一化在每一个短时帧倒谱域上减去信道均值响应,有效避免信道卷积噪声在倒谱域上的干扰,最终得到pncc特征参数。
(8)假设前导无话帧为噪声帧,取前5帧pncc系数的平均值作为背景噪声帧的估计值,记为pc2(n),同时更新噪声倒谱系数,再计算每帧信号的pncc倒谱系数
式中,p为pncc倒谱分析中使用的阶数,本发明采用16阶。
(9)将倒谱距离作为检测参数,采用双门限判决方法进行端点检测。
为验证本发明在低信噪比下的可行性,分别从谱减、倒谱距离两方面有针对性地选取了三个对比算法,分别是王群等人于2017年提出的调制域谱减和对数能量子带谱熵相结合的端点检测算法、朱春利等人于2019年提出的基于多特征融合与动态阈值的端点检测方法,该算法先经过谱减再结合mfcc倒谱距离、均匀子带频带方差特征利用双参数双门限法进行端点判定以及多带谱减结合倒谱距离的端点检测算法。
图3至图6中(a)为各算法得出的端点检测结果,(b)为信噪比-10db的f16噪声环境下的含噪语音,其中黑色实线代表语音的起始点,点划线代表语音结束点。由图可知,在低信噪比环境下,由于不同说话人换气长度不一致,部分字词间隔的语音能量非常小甚至等同于外界噪声,可能会被误判为噪声,导致丢失部分语音,显然多带谱减结合倒谱距离在语音段出现了多处间断且对端点的判定不理想;王群等人提出的算法由于部分语音能量较低出现了漏检;朱春利等人提出的方法对语音开始和结束位置判决精度不高,而本发明在相应条件下有效减少了错检和漏检率,这是因为采用调制域谱减能有效提高信噪比并避免了音乐噪声,而pncc倒谱系数本身较mfcc倒谱系数具有一定抗噪性,且pncc倒谱距离在非语音段波形平坦,而在向语音段过渡时,曲线窄而陡峭,因此可以提高端点位置判决精度。由于语音是非平稳信号,而pncc采用的语音长时帧信息可用于分析其非平稳性,可有效弥补倒谱距离特征在非平稳噪声下性能不佳的缺陷,同时语音间的短暂停顿造成的pncc倒谱距离衰减也能得到有效平滑,在选取双门限阈值时也更加容易,从而提高了端点检测的准确率。
为了评估算法的准确性,分别在white、volvo、f16噪声环境下测试端点检测正确率,其中端点检测正确率定义如下:
错误帧数=噪声帧误判为语音帧数+语音帧误判为噪声帧数;
正确率=(总帧数-错误帧数)÷总帧数×100%
从对比图7至图9可知本发明研究的基于调制域谱减结合pncc倒谱距离的端点检测算法在white、volvo、f16噪声环境下相对于对比算法检测准确率较高。针对本发明研究的低信噪比环境,本发明相对于另外三种算法正确率有了一定提升,有效验证了该算法的抗噪鲁棒性。
以上结合附图对本发明的实施方式做出了详细说明,但本发明不局限于所描述的实施方式。对于本领域技术人员而言,在不脱离本发明的原理和精神的情况下,对这些实施方式进行各种变化、修改、替换和变型仍落入本发明的保护范围内。