语音信号增强

2024-10-02

语音信号增强(共8篇)

语音信号增强 篇1

1 概述

语音信号处理技术分为四个主要领域:语音编码、压缩技术、语音识别技术、语音增强技术。语音识别系统工作的前提条件, 需要提供安静的环境, 背景噪声一旦引入, 即将影响识别系统的性能。语音信号处理方法一般为:

1.1 非线性处理、自相关相减法、谐波增强法等降噪。

这几种方法在这里不加赘述。主要是从接收的包含有噪声和有用信息的信号中衰减或消除部分噪声, 提高语音通信质量, 但是在实际应用中有时或局部效果不甚明显。

1.2 数字滤波技术降噪。

在语音通信系统中, 一般情况把有用信号带宽限制在4k Hz以下范围内。语音信号传输过程中, 从发送端向接受端, 处理信号的设备也会产生电噪声, 以及传输信道中增加的电噪声的频谱也将被放宽。为解决该问题, 一般采用数字滤波技术, 使滤波器通频带与有用信号频带宽度一致, 滤除语音信号频带外噪声。但是多数情况下, 噪声与有用信号在同一个频带内出现, 这种方法改善信噪比不明显。

1.3 语音信号增强技术。

低速率语音编码系统中, 传输语音信号以较低码

速率确是能节省大量传输带宽, 然而噪声的存在, 不但影响参数提取, 而且使重建语音质量骤然恶化, 达到授信息方完全听不懂。为解决该问题, 通过语音增强技术, 输入声码器信号抗噪, 抑制背景噪声, 尽可能地消除噪声, 抑制、降低噪声的干扰, 提取有用语音信号, 提高信噪比。噪声来源于应用环境, 特性变化多端。选用不同的语音增强方法, 才能达到最好的语音增强效果。

2 语音信号增强两种方法的概述

2.1 自适应噪声抵消法。

通过自适应滤波器完成噪声抵消, 调整参数实现“学习”与“跟踪”的过程。信号传输多数受到噪声或干扰的污染, 污染的信号经过滤波器抑制, 完成对时间域、频域、空间域的滤波保留信号能量, 该滤波器属于最佳滤波的范畴, 其中的噪声抵消器主要工作原理, 如图1。

图1中y (n) =s (n) +d (n) 为带噪语音输入, s (n) 为语音信号, d (n) 为未知噪声信号, r (n) 为参考噪声输入, v (n) 为该滤波器的输出。r (n) 与s (n) 无关, 与d (n) 相关。自适应滤波器通过对r (n) 的滤波, 使输出噪声估值v (n) 尽可能接近带噪语音中的d (n) , 从带噪语音中直接减去v (n) , 达到语音增强的目的。一般情况下采用FIR滤波器, 系数采用最小均方误差 (MMSE) 准则来迭代估计。判断的标准是其误差信号e (n) 能量最小:

其中, wk表示滤波器系数, N表示滤波器抽头数。MMSE准则要求噪声和语音相互独立, 此刻误差信号e (n) 能量最小, 保证v (n) 和d (n) 最接近。若噪声和语音不独立, 则滤波器系数只能在无语音期间进行更新。此法多用了一个参考噪声辅助输入, 获得比较全面噪声信息, 确实能得到更好降噪效果, 但比较复杂。

2.2 谱减法。

谱减法是利用噪声统计平稳性以及加性噪声与语音不相关的语音增强的方法。它分为幅度和功率谱减法。幅度谱减法在频域中, 自带噪语音的幅度谱上减去噪声的幅度谱作为语音信号的幅度谱;功率谱减法是带噪语音功率谱上减去噪声功率谱, 得到一个近似纯净语音功率谱, 而后开方运算得出幅度谱。以上两种均在幅度上修正完成。谱减法对噪声处理在一定程度上呈现出“音乐噪声现象”。Ephraim等人虽然进行了改进, 但是当信噪比小于5d B时, 残余噪声仍然很大。

这种方法没有使用参考噪声源, 而是假设为统计成平稳噪声, 即有语音期间噪声幅度谱期望值与无语音间隙噪声幅度谱期望值相等。用无语音间隙测量, 通过计算得到噪声频谱估值, 代替有语音期间噪声频谱, 把含有噪声语音频谱视为减量, 这样就得到一个新语音频谱估值。如果当上述差值为负时, 将其置为零。那么假设带噪声信号为:

假设d (n) 满足高斯分布, 傅里叶变换为NK相当于多个高斯样本加权和, 仍然认为其满足高斯分布, 且得到的均值为0。通过对无语音期间噪声分析可得到上述式方差。短时谱幅度估计得到语音增强是利用已知噪声功率谱, YK中估计得到SK。人耳对于相位不敏感, 只要估计出SK的值, 将带噪声语音相位进行傅里叶反变换, 即将得到增强语音。语音短时谱估计法的一般原理, 如图2。

其中y (n) 经FFT变换后, YÁSÁNÁ由此可得:

对于分析帧内的短时平稳过程, 又有:

综其上述, 可由图形加以描述, 如图3。

其中, 是个大于零的常数。从 (c) 中可以清楚地看出频谱相减的物理意义, 它相当于对带噪语音每一个频谱分量乘以一个系数GK。信噪比高时, 语音衰减系数小, 含有语音的可能性大。反之, 衰减系数大, 含有语音的可能性小。

此法劣势在于其适用信噪比范围较窄, 信噪比较低时对语音可懂度有较大损伤。这是因为信噪比受浊音决定的大信号能量影响的, 语音的可懂度取决于元音和相对较小的辅音信号。虽然如此, 但还是倾向于此法, 是因为它只需傅里叶变换, 而且容易实时实现。

3 语音信号增强算法谱减法程序的应用

谱减法语音信号呈短时平稳的特性, 从带噪声语音的短时谱值中减去噪声的短时谱, 得到纯净语音的频谱。为达到增强语音信号的目的, 与此试用MATLAB程序:

4 语音信号增强算法谱减法程序应用的检验

4.1 原始语音信号频谱图。原始语音信号为一段歌曲的录音, 录音时长为六秒。如图4。

4.2 谱减法处理原始语音信号后的频谱。原始语音信号经过谱减法处理后得到的MATLAB频谱图。如图5。

自适应噪声抵消法给予的启示:自适应噪声抵消法要求参考输入的噪声需要与原始输入信号中噪声存在相关性, 才能有效抵消噪声, 实现比较复杂。对谱减法MATLAB仿真应用给予的启示:信噪比较低时对语音可懂度有较大损伤, 需傅里叶变换, 比较容易实现。从总体角度考查, 从强噪声中提取语音信号, 或是从几个同时发声混合波形中分离出各自的语音信号, 使语音信号增强。有待进一步开发研究。

摘要:语音信号技术广泛应用于语音通信、语音识别等领域, 在语音信号处理过程中, 降噪与提高可懂度是极为关键的, 处理方法有多种, 通过综合梳理, 对谱减法和自适应噪声抵消法的分析, 发现最大限度地消除谱减法中的“音乐噪声”成为需要突破的研究域。在此尝试利用MATLAB以图像形式呈现谱减法增强语音信号效果的比较。发现语音信号处理算法在定义域内, 仍有不可避免的误差。得出避免误差算法的加强与从强噪声中提取语音信号, 既是语音信号处理过程中所“遭遇”的重要问题, 又是未来理论与实践应用研究的发展方向。

关键词:语音信号增强,谱减法,应用

参考文献

[1]张雪英.数字语音处理及MATLAB仿真[M].北京:电子工业出版社, 2010.

[2]韩纪庆, 张磊, 郑铁然.语音信号处理 (第2版) [M].北京:清华大学出版社, 2013.

[3]王晶, 傅丰林, 张运伟.语音增强算法综述[J].声学与电子工程, 2005, 77 (1) :22-26.

[4]王振力, 张雄伟, 白志强.语音增强新方法的研究[J].南京邮电大学学报, 2007, 27 (2) :10-14.

[5]胡啸, 胡爱群, 赵力.一种新的自适应语音增强系统[J].电路与系统学报, 2003, 8 (5) :72-75.

[6]Chan K S.Farhang-Boroujeny B.Analysis of the frequency-domain block LMS algorithm[J].IEEE Transactions on Signal Processing.2000, 48 (8) :2332-2342.

[7]Bojana Gajic.Robust Speech Recognition Using Feature Based on Zero Crossing with Peak Amplitudes[M].ICASSP.2003:64-67.

语音信号增强 篇2

1.简述本次试验的目的,关于基音周期的理论;

2.使用相关法的同学,给出程序的同时要说明所使用语音段的长度(短时平稳性),解释怎样在matlab中实现三电平削波(for...end循环和if elseif else end判决的使用)。给出清浊音两组截取后的语音信号波形图、三电平削波后的信号图、自相关计算后的信号图。然后根据自相关信号图上最大峰值和次峰值之间的间隔点数,计算出基音周期和基音频率;

3.使用倒谱法的同学,要解释分帧后加窗的方法,给出清浊音其中各一帧的语音信号波形图,和计算后的倒谱图。并根据倒谱图上对应基音周期处的峰值的位置,给出基音周期。4.使用简化逆滤波的同学,要说明切比雪夫2型低通滤波器的使用方法(cheby2、freqz两个函数的使用方法、参数意义),给出低通滤波后的信号波形图、5倍抽取后的波形图、自相关计算后信号波形图、5倍插值后的信号波形图,根据浊音内插后的信号图上最大峰值和次峰值之间的间隔点数计算基音周期;5.比较所选用的两种方法的结果。

实验二:

1.给出倒谱法的程序,解释汉明窗宽度的选取要求(书上有简单解释),解释怎样实现倒谱窗的matlab编程方法和倒谱窗宽度的选取(男女生有一定的差别),给出加窗后的信号波形图、对数谱图、倒谱图、加窗后的信号频谱图,给出三个共振峰的估值。

2.给出LPC谱估计程序,不同LPC阶数时的LPC谱图,在n=?时,学生自己估计的前三个共振峰的值。

实验三:

语音信号增强 篇3

随着语音技术研究的深入和实际应用的增多,各种语音处理系统都面临着进一步提高性能的问题。语音增强是其中的关键技术之一。从20世纪60年代开始,语音增强的研究就一直没有停止。20世纪70年代由于数字信号处理理论的成熟,语音增强曾经形成了一个研究热潮,取得了一些基础性成果。20世纪80年代以后,VLSI技术的发展为语音增强的实时实现提供了可能。目前,除了基于信号处理理论研究外,针对人的听觉系统的生理特性研究、语言学中上下文联想智能的研究等,都在进一步推动着语音增强的发展[1]。

近年来随着数字技术的发展,出现了许多处理方法来解决这一问题。常用的方法有谱相减法、维纳滤波法、多带通滤波器法、自适应滤波器法等。本文对目前应用最为普遍的谱相减法作了系统的描述。

1 谱相减法

谱相减法总体上运算量较小,容易实时实现,增强效果也较好,是目前处理宽带噪声的最通用技术方法。即从带噪语音估值中减去噪声频谱估计,而得到纯净语音的频谱。由于人耳对语音频谱分量的相位不敏感,因而这种方法主要针对短时幅度谱[2]。原理如下:

假定语音为平稳信号,而噪声和语音为加性信号且彼此不相关。此时带噪语音信号可表示为

式中,s(t)为纯净语音信号,n(t)为噪声信号。而用Y(ω),S(ω)和N(ω)表示y(t),s(t)和n(t)的Fourier变换,则有下列关系存在

对功率谱则有

因为假定噪声为不相干的,所以不会出现语音与噪声的乘积项。只要从Y(ω)2中减去N(ω)2便可恢复S(ω)2。因为噪声是局部平稳的,可以认为语音前的噪声与语音期间的噪声功率谱相同,因而可以利用语音前的“寂静帧”来估计噪声[3]。

而语音是不平稳的,而且只处理一小段加窗信号,上式可写为

式中,下标W表示加窗信号,*表示复共轭。可以根据观测数据估计Y(ω)2,其余各项必须近似统计均值。由于s(t)和n(t)独立,则互相关谱的统计均值为0,所以原始语音的估值为

式中,^表示估计值,[NW(ω)]2为无语音时N(ω)2的统计均值。因为涉及到估值,实际中此值可能为负,而功率谱不能为负,故可令负值为0、改变其符号或平滑滤波。

为了IFFT再现语音,还需要S(ω)的相位,在此用Ph[S(ω)]表示。并用带噪语音的相位来近似。因而

则恢复的语音是估值的IFFT。谱减法的原理框图如图1。

图1中,的处理用以将功率转化为幅度。

2 谱相减法的C语言程序简介

实验中,用C语言做出谱相减法的程序。其程序的结构如图2示。

其中,main()函数为ssub.c。他提供了一个人机对话的界面。在运行程序时,会出现一个DOS界面窗口,提示输入:相应的参数(用”-?”表示)、待处理信号的文件名和处理后信号所存文件的文件名。这样它就会选择相应的算法去输入待处理信号文件中的数据,并存入处理后信号所存的文件中。本文选择的是Martin算法,所以要输入参数”-m”选择Martin算法。Ssub把输入文件9_!.dat读入,通过Martin算法,把处理结果存入输出文件out.bin中[4]。

在Martin算法开始时需要初始化,martin_init()来完成初始化。它对算法中所要用到的参数、帧长、标志位赋初值。并对累加缓冲、能量谱数组、常数π初始化,并构造宽度为256的Hanning窗,为执行Martin算法做准备[5]。

在Martin算法中,我们选用Hanning窗作为窗函数,因为它可以有效的降低吉布斯效应,减小旁瓣分散去的能量。实验过程中,窗的长度不同,帧与帧之间的重叠程度不同,消噪的效果也不一样。我们用长分别是256点、128点和64点的语音帧进行测试,发现不同帧长对噪声段的消噪效果影响不大;但语音段不同,窗口长度越长,听觉失真效果越小。原因是帧的长度取得比较短时,信号的频域分量变化比较快;而长窗时相邻两帧的差别较小。因此,我们取较长的256点作为一帧的长度。由试验可知,当3/4重叠时消噪效果最好。因此我们采用256点为一帧,窗函数75%重叠的滑动[6]。

martin_do()来完成算法的运行,它由预处理、调用martin_work()和输出结果三部分组成。开始时,用getfloat()从输入文件中读取一帧的数据读到inbuf数组中,计数f赋初值为0。调用martin_work(),f+1。而后,再向后移64点再读取一帧数据到inbuf中,调用martin_work()。如此重复操作。直到读完输入文件中的数据。最后把结果存入输出文件中。而martin_work()所作的是把Martin算法的过程一一理顺。martin_work()又要调用一些子程序来完成。这些子程序分别是:fft()、smooth()、noise()、filter()及ifft()。其中,fft()和ifft()是一个程序,由于输入参数的顺序不同,进行的运算也就不同。最后,martin_close()来关闭此算法[7]。

3 谱相减法的数字仿真

我们用Matlab作为工具进行仿真。在Matlab中读入带处理文件,并把它存入in.dat中,然后用C语言程序运行,结果存在out.bin中,最后在Matlab中把out.bin读出[8]。

试验中,我们选用-5 dB,0 d B,5 d B的信噪比语音信号进行试验,画出了原始纯净语音信号、-5 dB,0 dB,5 d B的信噪比下的带噪信号及谱减后的信号的时域波形图。如图3所示,图中横坐标是时间(t),单位是秒(s),纵坐标是信号幅度大小。

经过以上反复试验我们可以得出,谱减法有一定的去噪功能,且在低信噪比下效果明显,信噪比能提高6 dB以上,但主观试听留有较为明显的音乐噪声。

4 结论

由于在对语音信号进行数字处理研究时一般都是假设在理想情况下,因此当很多技术从实验室走向实际应用时,环境噪声所带来的问题越来越严重,特别是作为语音处理技术中最有效手段之一的线性预测,很容易受到噪声的影响。因此研究各种技术将“干净”语音从语音和噪声的混合体中提取出来是十分必要的[9]。本文通过谱相减法从带噪语音中尽可能提取纯净的原始语音,很大程度上消除了背景噪声,改进了语音质量。但由于噪声信号都是随机产生的,完全消噪几乎不可能,因此语音增强技术的研究将是一个长期探讨的课题。

参考文献

[1]蔡文龙.低信噪比下的语音增强技术研究.秦皇岛:燕山大学,2005;71—86

[2]胡钢,沈文轩.一种基于噪声动态检测的语音端点检测算法.鞍山科技大学学报,2004;(2):47—50

[3]张雄伟,陈亮,杨吉斌.现代语音处理技术及应用.北京:机械工业出版社,2003

[4]蒋海霞,成立新,陈显治.一种改进的谱减语音增强方法.解放军理工大学学报,2001;(1):41—44

[5]刘有恒.信号检测与估计.北京:人民邮电出版社,1989

[6]李宏伟,段艳丽,郭英.基于帧建重叠谱减法的语音增强算法及实现.空军工程大学学报,2001;(5):59—62

[7]刘波.语音转换的关键技术研究.长沙:国防科学技术大学,2005

[8]于哲舟,杨佳东,蒲东兵,等.多门限声纹识别方法.吉林大学学报(信息科学版),2005;(2):93—96

谱减法语音增强 篇4

语音增强的一个主要目标是从带噪语音信号中提取尽可能纯净的原始语音。然而,由于干扰通常都是随机的,从带噪语音中提取完全纯净的语音几乎不可能。在这种情况下,语音增强的目的主要有两个:一是改进语音质量,消除背景噪声,使听者乐于接受,不感觉疲劳,这是一种主观度量;二是提高语音可懂度,这是一种客观度量。这两个目的往往不能兼得。之前有一些对低信噪比带噪语音进行语音增强的方法,可以显著地降低背景噪声,改进语音质量,但并不能提高语音的可懂度,甚至略有下降。

环境噪声污染使许多语音处理系统的性能急剧恶化。例如,语音识别已取得重大进展,正在步入实用阶段。但目前的识别系统大都是在安静环境中工作的,在噪声环境中尤其是强噪声环境,语音识别系统的识别率将受到严重影响。低速率语音编码,特别是参数编码(声码器即为典型一例),也遇到类似问题。由于语音生成模型是低速率参数编码的基础,当模型参数的提取受到混杂在语音中背景噪声严重干扰时,重建语音的质量将急剧恶化,甚至变得完全不可懂。在上述情况下,语音增强作为一种预处理手段,不失为解决噪声污染的一种有效途径。

1 噪声特性

噪声来源取决于实际的应用环境,因而噪声特性可以说是变化无穷。噪声可以是加性的,也可以是非加性的。对于非加性噪声,有些可以通过变换而转变为加性噪声。例如,乘性噪声(或卷积噪声)可以通过同态变换,而成为加性噪声。又如,某些与信号相关的量化噪声可以通过伪随机噪声扰动的方法变换成与信号独立的加性噪声。这里仅讨论加性噪声。加性噪声大致上有:周期性噪声、脉冲噪声、宽带噪声和同声道其他语音的干扰等。

1.1 周期性噪声:

其特点是具有许多离散的线谱。主要来源于发动机等周期性运转的机械。电气干扰,特别是电源交流声,也会引起周期性噪声。显然,这种周期性噪声可以用梳状滤波器予以抑制,这可以用数字信号处理的方法来实现。如图1所示,图中DFT和IDFT分别为离散傅里叶变换和反变换,其原理是一目了然的。

然而,实际环境中产生的周期性噪声并非简单地只含线谱分量,而是由许多窄谱带组成。而且,往往是时变的,并与语音信号频谱重叠,必须采用自适应滤波的方法才有可能自动识别和区分噪声分量。

1.2 脉冲噪声:

脉冲噪声表现为时域波形中突然出现的窄脉冲。它来源于爆炸、撞击和放电等。消除脉冲噪声通常可以在时域内进行,其过程如下:根据带噪语音信号幅度的平均值确定闭值。当信号幅度超出这一闭值时,判别为脉冲噪声。然后对它进行适当的衰减,甚至完全消除。也可以根据相邻信号样值通过内插的方法将脉冲噪声在时域上进行平滑。

1.3 背景噪声对发音的影响:

噪声破环了语音信号原有的声学特征和模型参数,模糊了不同语音之间的差别,使语音质量下降,可储度降低,强噪声会使人产生听觉疲劳。不仅如此,强噪声环境还对讲话人产生影响,使讲话人改变在安静环境或低噪声环境中的发音方式,从而改变了语音的特征参数,这称为Lombard效应,它对语音识别系统有很大影响。

1.4 同声道语音干扰:

人耳可以在两人以上讲话环境中分辨出所需要的声音,这种分辨能力是人体内部语音理解机理具有的一种感知能力。人类的这种分离语音的能力称为“鸡尾酒会效应”,这种能力来源于人的双耳输入效应。但当多个语音叠合在一起,在单信道中传输时,双耳信号因合并而消失。如同人的指纹那样,每个人因发音系统生理构造的差异,也有不同的“声纹”,这种“声纹”在于他们的语音生成模型参数不同。同声道语音干扰及其传输和增强过程的示意如图2所示。

1.5 宽带噪声:

宽带噪声的来源很多,热噪声、气流(如风、呼吸)噪声及各种随机噪声源,量化噪声也可视为宽带噪声。由于宽带噪声与语音信号在时域和频域上完全重叠,因而消除它最为困难。这种噪声只有在语音间歇期才单独存在。对于平稳的宽带噪声通常可以认为是白色高斯噪声。不具有白色频谱的噪声,可以先进行白化处理。对于非平稳的宽带噪声,情况就更为复杂一些。

下面列举几种噪声波形图:

2基本谱减算法

基本谱减算法的思想是假设在加性噪声与短时平稳的语音信号相互独立的条件下,从带噪语音的功率谱中减去噪声功率谱,从而得到较为纯净的语音频谱。

如果设s(t)为纯净语音信号,n(t)为噪声信号,y(t)为带噪语音信号,则有:

用Y(w)、S(w)、N(w)分别表示y(t)、s(t)、n(t)的傅立叶变换。则可得:

由此可得

由上式可得:

由于S(t)和n(t)独立,所以S(w)与N(w)也独立。而N(w)为零均值得高斯分布,故E{Re[S(w)N*(w)]}=0。所以有:

对一个分析帧内得短时平稳过程,有

由于平稳噪声的功率谱在发音前和发音期间可以认为基本没有变化,这样可以通过发音前所谓“寂静段”(认为在这一段里没有语音只有噪声,一般为带噪语音的前3~4帧)来估计噪声的功率谱|N(w)2|,从而有:

由此达到原始语音的估计值:

根据人耳对相位变化的不敏感这一特点,可以用原带噪语音信号y(t)的相位谱来代替估计之后的语音信号的相位谱,从而可以得到降噪后的语音时域信号。基本谱减法的原理图如5图所示

3改进的谱减法

由于假设加性噪声是零均值的高斯分布的,才有式(4)相关项等于0。但是这个假设在现实世界中并不总是正确的,因为噪声通常不可能是零均值的高斯分布的,噪声可能是非零均值的,也可能是非高斯分布的。在此时,这个非零项就不能被忽略,尤其是在低信噪比时更不能被忽略。本文提出的近似估计此非零项的方法如下:

首先:

假设|S(w)|、|N(w)|和cos(θs-θN)是相互独立的,所以有:

由于不等式E(X2)≥[E(X)]2成立,所以有:

其中0≤α,β≤1,所以(11)变为:

其中设 γ=αβE((cos(θs-θN)),故0≤γ≤ 1。所以(8)变为:E(|Y

对一个分析帧内的短时平稳过程,有

由上式得

从原带噪语音信号y(t)可以求得功率谱|Y(w)|2通过发声前的 “寂静段”可以估计噪声n(t)的功率谱参数,取[0,1]之间的某个值 (不同语音帧可以取相同或不同的值)则根据式(16)就可以求得|S (w)|2进而可以得到原始语音的估计值|S (w)|从而就可以得到降噪后的语音时域信号。参数λ根据实验结果来确定,可根据噪声的大小来动态地确定它的大小,以获得最好的增强效果。

4 结论

基本谱减算法能大大地消除背景噪声,提高语音信号的信噪比。实验结果表明这种改进的谱减法有效地提高了增强效果,更好地抑制了噪声,提高了语音质量。语音增强将越来越广泛的应用于人们的生活中,所以本课题具有实际应用的意义。

参考文献

[1][美]Thomas F.Quatieri.离散时间语音信号处理-原理与应用[M].北京:电子工业出版社,2004.

[2]赵力.语音信号处理[M].北京.机械工业出版社,2003,4.

[3]杨形峻,迟惠生.语音信号数字处理[M].北京:电子工业出版社, 1995,6.

[4]易克初,田赋,付强.语音信号处理[M].北京:国防工业出版社, 2000,5.

语音信号特征参数研究 篇5

在语音识别的发展过程中使用了大量的语音信号特征参数。特征参数的提取是关系到语音识别系统性能好坏的一个关键技术, 其基本思想是将预处理过的信号通过一次变换, 去掉冗余部分, 而把代表语音本质的特征参数抽出来。接下去所要作的识别处理都是建立在特征参数之上的, 如果特征参数不能很好地反映语音信号的本质, 识别就不能成功。

语音信号特征参数是分帧提取的, 每帧特征参数一般构成一个矢量, 所以语音信号特征是一个矢量序列。我们将语音信号切成一帧一帧, 每帧大小大约是20~30ms。帧太大就不能得到语音信号随时间变化的特性, 帧太小就不能提取出语音信号的特征, 每帧语音信号中包含数个语音信号的基本周期。有时希望相邻帧之间的变化不是太大, 帧之间就要有重叠, 帧叠往往是帧长的1/2或1/3。帧叠大, 相应的计算量也大。

常用的语音特征参数有平均能量、平价跨零数或跨零率、共振峰、LPC参数、倒谱参数、临界带倒谱等。下一节介绍一些常用的语音特征。

2 语音信号特征参数介绍

(1) 基音周期 (Pitch)

人的语音基本上由两类构成, 一类是浊音 (voice) , 另一类是清音 (unvoice) 。浊音的语音信号具有较强的周期性, 不同的浊音波形是不同的。浊音的这种周期叫基音周期, 其倒数叫做基音频率, 它主要和声带的特性有关。一般来说, 成年男性的语音的基音频率在60Hz~200Hz, 而成年女性和儿童语音的基音频率在200Hz~450Hz。清音的语音信号具有随机噪声的特点, 一般来说清音的幅度小于浊音的幅度。基音周期 (Pitch) 是指发浊音时声带震动所引起的周期运动时间间隔, 代表声带震动的快慢, 震动越快音高会越高, 基音周期是声带振动频率F0的倒数, 它是语音信号分析的一个重要参数。

(2) 短时频谱

语音信号特征在较短的时间间隔中保持基本不变, 即语音信号具有时变特性, 因而可以将语音信号看作是一个短时平稳过程。语音信号具有一些重要的短时特征。短时频谱是语音信号的一个重要的短时特性。可以用下列公式计算:

也即sw (n) 的离散傅立叶变换。|Sw (k) |2称为s (n) 的短时功率谱。

(3) 短时自相关函数

sw (n) 的自相关函数Rw (τ) 称为s (n) 的短时自相关函数。可用公式 (4) 计算:

(4) 短时能量

s (n) 的短时能量计算公式如下:

短时能量代表声音的尺寸, 可由声音信号的震幅来类比。

(5) 短时平均幅度

s (n) 的短时平均幅度计算公式如下:

短时能量和短时平均幅度都是表示一段语音信号能量大小的参数。

(6) 短时过零率

信号按段分割就称为短时, 段可是帧大小。过零就是信号的幅度值从正值到负值、负值到正值要经过零点, 统计信号在一秒钟内有几次过零就是过零率。s (n) 的短时过零率表示一段语音信号中语音信号波形与横轴相交的次数。可以用式 (5) 计算:

其中sgn (x) 是符号函数:

以短时能量为主, 短时过零率为辅, 可对语音信号中的清音进行较精密的检测。

(7) 倒谱

倒谱是一段语音信号的一组重要参数。要计算信号sw (n) 的倒谱, 首先要计算sw (n) 的离散傅立叶变换:

然后对离散傅立叶变换的模取对数:

最后再做傅立叶反变换:

这样得到的c (n) 被称做是“倒频谱”或“倒谱”。

(8) 线性预测编码 (LPC) 参数

考虑语音信号序列s (n) 。假设某时刻n之前的P个语音信号值s (n-1) , s (n-2) , …, s (n-P) 已知, 但时刻n的语音信号值s (n) 未知。如果用前P个已知的信号值的某种线性组合预测s (n) 的值, 则预测值s! (n) 可以表示为:

其中αi都是实数, 称作预测系数。预测值s! (n) 与真值s (n) 之间的预测误差ε (n) 可以用下式计算:

由于s (n) 是一个随机序列, 所以ε (n) 也是一个随机序列。可以用ε (n) 的均方差来衡量线性预测的准确性。δε2越小, 预测的准确性在均方误差最小意义下越好。

还有以下几类特征参数:线谱对 (LSP) 参数、线性预测倒谱参数 (Linear Prediction Cepstrum Coefficient, LPCC) 、美尔频标倒谱系数 (Mel Frequency Cepstrum Coefficient, MFCC) 、感觉加权线性预测特征 (Perceptual Linear Predictive, PLP) (PLP参数、RASTA-PLP参数) 、动态差分参数、高阶信号谱类特征等[3]。

3 语音信号特征选择

短时自相关分析可用来区分清音和浊音, 浊音信号是准周期性的, 用短时自相关函数求出语音波形序列的基音周期。对语音信号进行线性预测分析时也要用到短时自相关函数。

短时能量序列反映了语音振幅或能量随着时间缓慢变化的规律, 清音段的幅度一般比浊音段的幅度小很多, 根据语音信号短时能量值的变化, 可大致判定浊音变为清音或清音变为浊音的时刻。短时能量在高信噪比的语音信号中, 可以用来区分静音, 静音的噪声能量很小, 而有语音信号时短时能量值显著地增大到某一数值, 通过这一点也可以区分语音信号的起点和终点 (也即端点) 。

可以根据平均过零数来粗略区分清音和浊音, 发清音时具有较高的平均过零数, 发浊音时具有较低的平均过零数。短时平均过零数还可以用于识别语音信号的起点和终点。

具体应用领域对语音信号特征有不同的要求, 特征的选择很重要, 它强烈地影响应用系统的效率。我们要对具体的应用选择合适的特征, 在一个说话人识别系统中倒谱特征、倒谱与差值倒谱特征组合以及倒谱、差值倒谱、基音、差值基音组合有更好的识别准确率[2]。由此可见多特征组合有更高的识别准确率。

4 语音信号特征提取实验

我们对采样频率 (fs) 为16k HZ的sunday.wav来提取上一节中介绍的特征参数:短时能量、短时平均幅度。其中每帧大小为256 (即每帧包含256个取样点) , 帧叠为0。

我们可用公式 (3) 计算得到图2所示的短时能量图。我们希望短时能量图平滑一些, 采用减去每帧中的中位值后再进行绝对值求和的方法, 如公式 (12) 所示, 公式 (12) 中的median为每帧帧向量的中位值, 所得的短时能量图如图3所示。但这短时能量图没变化多少, 且短时能量对于高电平信号非常敏感, 我们采用对数短时能量计算方式来得到短时能量, 如公式 (13) 所示, 公式 (13) 中的δ为一个无穷小量, 是为防止对0取对数而加入的, 计算后所得的短时能量图如图4所示。根据公式 (6) 所得的短时平均幅度为图5所示。它与图3很接近。

5 结束语

语音信号具有很大的信息冗余, 我们提取出最能表征语音信号的特征能极大地提高语音识别准确率, 也能极大的压缩语音信号。在本文第2节中介绍了大量语音信号特征;在第3节中介绍了语音信号特征的选择;第4节中对部分语音信号特征进行了提取, 并用可视化的方法展示了部分语音信号特征。提取出语音信号特征后, 接下来就可以对语音信号进行语音识别, 这就是我们接下来的工作。在语音信号特征提取之前可先对语音信号进行端点检测, 准确标记出语音信号的起止点, 这样也能提高语音识别的准确率, 这也是我们接下来想进行的工作。以及有关语音信号特征的线性、非线性组合以提高语音识别的准确率也是我们接下来想进行的工作。

参考文献

[1]张智星.音讯处理与辨识[EB/OL].网上在线课程.[2008-01-23].]http://www.cs.nthu.edu.tw/ ̄jang.

[2]边肇祺.张学工.模式识别[M].北京:清华大学出版社, 2005.

语音信号增强 篇6

关键词:盲信号分离,DSP,FastICA,ADSPBF533平台

0 引 言

近年来, 许多学者都针对盲信号分离不断地提出新的理论算法, 盲信号分离 (BSS) 发展也日趋完善。而用DSP器件实现这种技术具有很大意义。本文提出了盲源信号分离的实现原理、算法和实现步骤, 并对利用DSP实现时经常出现的问题提出了解决方案。

盲信号分离是指在传输信道特性和输入信息未知或者仅有少量先验知识的情况下, 只由观测到的输出信号来辨识系统, 以达到对多个信号分离的目的, 从而恢复原始信号或信号源。它是一种在神经网络和统计学基础上发展起来的技术, 并在近十年来获得了飞速发展。盲源信号分离对很多领域的多信号处理与识别提供了很大方便。该技术在通信、生物医学信号处理、语音信号处理、阵列信号处理以及通用信号分析等方面有着广泛的应用前景。它不仅对信号处理的研究, 而且也对神经网络理论的发展起着积极的推动作用[1]。

1 盲源信号分离的数学模型及常见算法

1.1 数学模型

盲分离问题的研究内容大体上可以划分为瞬时线性混叠盲分离、卷积混叠盲分离, 非线性混叠盲分离以及盲分离的应用四部分。当混叠模型为非线性时, 一般很难从混叠数据中恢复源信号, 除非对信号和混叠模型有进一步的先验知识。图1所示是瞬时线性混叠盲分离信号模型示意图[2]。

图1中, S=[s1 (t) , s2 (t) , …, sN (t) ]T是未知的N维源信号向量, A是未知的混合矩阵, n=[n1 (t) , n2 (t) , …, nN (t) ]T是M维噪声向量, X=[x1 (t) , x2 (t) , …, xM (t) ]T是传感器输出的M维观测信号向量, 有X=AS+n, 盲源分离算法要求只知道X来确定SA。独立分量分析 (Independent Component Analysis, ICA) 是BSS的一种, 其基本含义是把信号分解成若干个互相独立的成分。图1中, ICA的目标就是寻找一个分离矩阵W, 使X经过变换后得到的新矢量Y=[y1 (t) , y2 (t) , …, yN (t) ]T的各分量尽可能的独立。Y=WX为待求的分离信号向量, 也就是源信号S的估计值。

1.2 盲信号预处理常见算法

在盲信号处理过程中, 为了减少计算量, 提高系统效率, 通常需要经过预处理。预处理一般包括中心化和白化。中心化是使信号的均值为零。由于在一般情况下所获得的数据都具有相关性, 所以通常都要求对数据进行初步的白化处理, 因为白化处理可去除各观测信号之间的相关性, 从而简化后续独立分量的提取过程。而且, 通常情况下, 对数据进行白化处理与不对数据进行白化处理相比, 其算法的收敛性较好、工作量少、效率高。

线性混叠盲分离信号模型一般都采用独立分量分析的方法。ICA的主要依据和前提是假设源信号是独立的, 因此, 自然就可以设想ICA算法的第一步是建立目标函数来表征分离结果的独立程度。目标函数确定后, 可通过各种不同的优化算法进行优化, 进而确定分离矩阵W, 其中有代表性的算法主要有最大信息量 (Infomax) 法、自然梯度法、快速独立元分析算法 (FastICA) 、矩阵特征值分解法等。盲分离中经常要用到优化运算, 就优化手段而言, Infomax算法、自然梯度算法属于梯度下降 (上升) 寻优算法, 收敛速度是线性的, 速度略慢一些, 但属于自适应方法, 且具有实时在线处理能力;FastICA算法是一种快速而数值稳定的方法, 采用拟牛顿算法实现寻优, 具有超线性收敛速度, 通常收敛速度较梯度下降寻优算法快得多;矩阵特征值分解方法一般通过对矩阵进行特征分解或者广义特征分解来估计分离矩阵, 这是一种解析方法, 可直接找到闭形式解 (Closed Form Soutions) , 由于其没有迭代寻优过程, 因此运行速度最快[3,4]。

2 盲源信号分离的DSP实现方法

2.1 实现原理

由于FastICA算法和其他的ICA算法相比, 具有许多人们期望的特性:如收敛速度快、无需选步长参数、能够通过选择适当的非线性函数g来最佳化、能减小计算量等。同时也有许多神经算法的优点, 如并行、分布式且计算简单, 内存要求很少等。因此, FastICA得到了广泛的应用。本文就采样了这种算法[5,6,7]。

2.2 实现方法

基于负熵最大的FastICA算法的基本原理是基于中心极限定理。即:若一随机变量X由许多相互独立的随机变量Si (i=1, 2, …, N) 之和组成, 那么, 只要Si具有有限的均值和方差, 则不论其为何种分布, 随机变量XSi更接近高斯分布。由信息论理论可知:在所有等方差的随机变量中, 高斯变量的熵最大, 因而可以利用熵来度量非高斯性, 常用熵的修正形式, 即负熵。因此, 在分离过程中, 可通过对分离结果的非高斯性度量来表示分离结果间的相互独立性, 当非高斯性度量达到最大时, 表明已完成对各独立分量的分离。

负熵的定义公式如下:

Νg (Y) =Η (YGauss) -Η (Y) (1)

式中:YGauss是与Y具有相同方差的高斯随机变量, H (·) 为随机变量的微分熵, 其表达式为:

Η (Y) =-pY (ξ) lgpY (ξ) dξ (2)

Y具有高斯分布时, Ng (Y) =0;Y的非高斯性越强, 其微分熵越小, Ng (Y) 值越大, 所以, Ng (Y) 可以作为随机变量Y非高斯性的测度。由于根据公式计算微分熵时, 要知道Y的概率密度分布函数不切实际, 于是可采用如下公式:

J (y) [E{G (y) }-E{G (v) }]2 (3)

式中:E[·]为均值运算;g (·) 为非线性函数, 其表达式可用下列非线性函数表示:

G1 (y) =tanh (a1y) (4) G2 (y) =yexp (-y2/2) (5) G3 (y) =y3 (6)

根据Lagrange定理和约束条件, 可得出代价函数为:

F (wi) =E{G (wiΤz) }+λ[E{ (wiΤz) 2}-1] (7)

式 (7) 要求wi使F取得极大值, 故有:

f (wi) =F (wi) wi (8)

令其等于零, 再利用牛顿迭代法求解wi, 则可得:

{wi (k+1) =wi (k) -f (wi (k) ) f (wi (k) ) wi (k+1) =E{zg (wiΤ (k) z}-E{g (wiΤ (k) z) }wi (k) (9)

这样就可以算出一个独立分量, 但每次迭代完成后, 还应对wi进行归一化处理。当计算n个独立分量时, 需要n个列矢量, 并且每次迭代后, 都需进行线性组合以去掉相关性。

3 软硬件实现

3.1 硬件平台

Blackfin 处理器以RISC编程模型突破性地把信号处理性能和电源效率结合起来。这种处理器在统一的结构中可提供微控制器 (MCU) 和信号处理两种功能, 并可以在控制和信号处理两种功能需求之间灵活的划分。

本硬件系统包含ADSP-BF533处理器, 32 MB SDRAM MT48LC32M16A2TG, 2 MB FLASH PSD4256G6V, ADVl836音频编解码器等, 其系统结构框图如图2所示。

3.2 软件实现

Matlab仿真成功后, 还需要用硬件来实现。这里以选用ADSP_ BF533为例进行阐述。其流程图如图3所示。在用DSP编程实现时, 其常见问题首先是白化处理中要用到特征值分解, 采用的方式是进行多次QR分解。

为了使人耳可以分辨出不同的声音, 观测时间应该足够大, 在AD1836采集频率为48 kHz时, 采集约为22 s的声音信号, 其需要处理的数据长度为48K×22 b, 约为一百万个点。在常规的程序设计中, 对此信号的处理就需要定义长度为一百万的数组, 这远远的超出了内存容量, 故其解决方案是直接访问 (包括读写) 存储在SDRAM中的数据, 并把原来程序中的数组运算修改为针对每个元素的运算。每个元素均可直接访问SDRAM, 而不必将保存在SDRAM中的数据通过数组的方式传递到内存中。这就相当于用时间换取内存空间。

AD1836采集的数据为24位的二进制有符号整形数据。为了提高精度, 减小误差, 应选用32位而不是16位的数据格式进行处理。从24位到32位的转换可采用的方案如下:

对于负数:

data>=0x800000

if (data>=0x800000) //判定正负数

data=data&0x7fffff;

data=~data+1; //求解该负数的原码

data=data&0x7fffff;

data=data|0x80000000; //转为32位原码

data=data&0x7fffffff;

data=~data+1; //求解32位的补码

对于正数:

data<0x800000 不需要处理

其次, 为了保证处理过程中的精度, 还可选择将data转为float运算的方法。

一般地, 处理完的数据数值很小, 范围在 (-10, 10) 之间, 而播放时必须经过D/A, 但D/A本身的热噪声会带来很大的误差, 信噪比显然无法容忍。对此, 其解决办法是将处理完的数据乘以较大的数值, 这样, 声音信号的相对值并没有发生改变, 因而播放时可达到良好的效果。这一方法也是用数字电路工具 (如DSP, FPGA等) 处理模拟信号时的常用方法[8]。

4 实际效果

图4所示是两段录音的音频信号时域图, 图5则是经过瞬时线性混合后的信号时域图, 图6是经过在BF533平台上利用FastICA算法得到的分离后的信号时域图。实验发现, 图6所示的结果分离效果良好, 可以清楚地听到不同的源信号。

5 结 论

本文首先简单介绍了盲信号分离的数学模型以及常用的理论算法。之后详细介绍了用ADSP_BF533实现盲信号分离时的具体流程以及实现过程中常见问题的解决方案。本设计方案所需时间短, 效率高, 而且占用内存较少。在工程应用方面具有一定的参考价值。

参考文献

[1]孔薇, 杨杰, 周越.基于独立成分分析的强背景噪声去噪方法[J].上海交通大学学报, 2004, 38 (12) :1957-1961.

[2]张贤达, 保铮.盲信号分离[J].电子学报, 2001, 29 (12) :1766-1771.

[3]张发启.盲信号处理与应用[M].西安:西安电子科技大学出版社, 2006.

[4]程沛青.数字信号处理[M].北京:清华大学出版社, 2007.

[5]朱孝龙, 张贤达.基于选优估计函数的盲信号分离[J].西安电子科技大学学报, 2003, 30 (3) :335-339.

[6]贾鹏, 从丰裕, 周士弘, 等.非正则复向量的扩展MVDR算法研究[J].声学技术, 2008, 27 (1) :106-109.

[7]陈志刚, 张来斌, 王朝晖, 等.基于ICA技术的管道泄漏特征信号提取方法[J].微计算机信息, 2008 (1) :65-66.

一种语音信号重建算法 篇7

信包丢失问题是VoIP系统的主要考虑之一。当一个信包不能按时出现在接收端用于解码时,听到的语音信号质量就会降低。为此,很多算法被提了出来,控制从发送端、传输过程一直到接收端的各个环节,以检测和处理因信包丢失而造成的传输语音质量下降问题[1,2]。这些方法分为基于发端和基于收端两类[1]。基于发端的PLC由收、发两端共同参与完成;基于接收端的各类PLC算法根据接收端正常接收到的信包、丢失信包编号,以及预先知道的编码方式尽可能地恢复出原来的语音。基于收端的技术不需要发端数据的参与,不会增加系统的带宽和时延。本文主要考虑基于接收端的信包丢失隐藏(Packet Loss Concealment)方法。

基于收端常用的PLC方法有静音替代、前一信包重复、基音波形复制[3]和线性预测[4]。这些方法都没有考虑丢失信包的后续信包。在“尽力而为”型服务的IP网络中,由于接收缓冲器的存在,丢失信包后面的信包 (即未来信包,此后均用后一信包表示) 经常可以获得。适当利用丢失信包的后续样点重建丢失信包,在VoIP系统中是完全可以做到的。本文采用线性预测技术,用丢失信包的前一信包或前一信包及后一信包 (在后一信包可获得的情况下)重建丢失信包。重建语音信号的质量经过主观和客观测试,与上述四种常见方法比较有了较为明显的改善,得到了满意的效果。

2 双边线性预测

本文建议的基于双边线性预测PLC算法只在接收端实施,算法的基本操作是从丢失信包的邻接信包中估计出丢失语音分段的线性预测 (LP) 系数a(k)和激励信号e(n),再通过线性预测综合合成丢失信包的重建信号。

建议算法分为三部分:前向线性预测、后向线性预测和线性加权、幅度调整。当丢失信包的后一信包接收到时,实施双边线性预测;反之,只实施前向线性预测。重建信号产生后,经线性加权和幅度调整得到丢失信包的估计信号并输出。

2.1 前向线性预测

前向线性预测是指以丢失信包前的信号为参考样点通过线性预测分析综合方法合成丢失信包的前向预测信号undefined为信包长度,D为输出信号的延时)[4]。

2.2 后向线性预测

后向线性预测与前向线性预测类似,不同之处在基音检测和激励信号产生这两个模块。基音检测采用文献[2]中的峰值检测法。当后续样点基音检测成功时,激励信号的产生方法如下:

undefined

其中,P1为基音周期,L为线性预测的阶数。

若基音检测失败,激励信号按如下方式产生:

undefined

线性加权、幅度调整的策略与信包丢失的类型有关,将在信包重建过程详细叙述。

3 信包重建过程

3.1 信包丢失前的好帧

在接收到好语音帧时,为了隐藏将来丢失的信包需要做两个准备:拷贝输出信号最后B个样点到历史缓冲器;输出信号延时D个样点。在第一个信包丢失期间,历史缓冲器用于计算线性预测系数、产生残差信号、估计基音周期、生成激励信号和合成重建信号;算法延时用于重叠相加(Overlap-and-Add ) 操作,平滑真实信号到重建信号的过渡。

为了进行实时处理,历史缓冲器更新如下:

undefined

信号经D个样点延时后输出:

undefined

3.2 第一个丢失的信包

该信包的隐藏方法与后一信包是否正确接收到有关,具体隐藏方法如下。

3.2.1 后一信包丢失

在这种情况下,采用前向预测信号作为丢失信包的重建信号。

undefined

3.2.2 后一信包收到

当单个信包丢失,其邻接信包都收到时,实施前、后向线性预测,得到丢失信包的前、后向预测信号undefinedf(n)和undefinedb(n)。这两个信号在各自的起始段,大约一至两个基音周期内都非常好地逼近了原始语音样点。重建信号可通过线性加权这两个预测信号获得。

undefined

为了减轻丢失信包边界处的听觉失真,用历史缓冲器最后D个样点重叠相加前向预测信号前D个样点,平滑真实信号到重建信号的过渡。该结果替换历史缓冲器最后D个样点。

undefined

产生第一个丢失信包的重建信号后,用该信号更新历史缓冲器。

undefined

3.3 后续丢失的信包

3.3.1 当前信包的后一信包丢失

在这种情况下,只使用前向线性预测,LP系数和基音周期与前一信包的值相同。

3.3.2 当前信包的后一信包可获得

在这种情况下,线性加权前、后向线性预测综合合成的信号作为丢失信包的重建信号,重建方法同3.2.2。

3.4 信包丢失后的第一个好帧

为了平滑重建信号到真实信号的过渡,用目前信包前D个样点重叠相加前一信包重构信号最后D个样点,结果替代该信包的前D个样点。

undefined

3.5 幅度调整

第一个丟失信包对应输出信号的幅度保持不变,其余输出信号的幅度调整方法参考文献[5]。

4 测试结果

衡量不同PLC算法性能最根本的原则就是比较重建语音信号的质量。原则上讲,语音信号的质量是一个主观评判量,应该组织大量人员按照规范条件进行大量试听实验以给出一个语音质量的平均打分 (MOS)。但是,这种费时费力的方式对VoIP研究环境而言是不现实的。因此,我们在初步非正式试验粗略感觉到建议算法重建语音信号质量有所提高之后,就转为主要借助于客观质量评判方法比较重建语音信号质量上的变化。这就是文献[5]中的PESQ算法,该算法是ITU-T建议P.862描述的一种对语音质量的客观评价方法。他能够比较待测试语音信号与指定参考信号之间的听觉距离,提供一个类似于MOS的语音质量打分PESQ MOS。其取值在-0.5~4.5之间,与主观语音质量MOS取值域接近,且关联程度非常高。通过该方法,语音质量的主观感受MOS可以被客观评估量PESQ MOS很好地反映出来。

测试语音取自ITU-T P.23[6]数据库中四位英语说话人样点,两男两女,在该数据库中编号分别为O_F01,O_F02 (女)及O_M01,O_M02(男)。每个人有46个长8 s的句子,采样频率16 000 Hz,16 b编码保存。句子测试时,先读出原始记录,低采样到8 000 Hz,然后进行语音活动检测 (VAD)。在语音活动区域按照指定的信包丢失率随机选择一些信包设置为丢失,将其中样点用零替换。

测试参数设置如下:历史缓冲器长度B=240,信包长度N=160,线性预测阶数L=20,输出延时D=8,信包丢失率在2%~30%之间。在所有设置下共重建了212 805个丢失语音段。

表1按照9种信包丢失率,对5种算法重建语音信号的质量进行了比较。从数据表格中可以看出本文建议算法在所有信包丢失率下均优于其他算法。

5 结 语

通过标准数据库中大量语音信号的测试可以看出,基于双边线性预测的信包丢失隐藏算法重建语音信号的质量得到了有效的提高。目前,通过考虑动态表示重建语音段类型和相位调整等因素以进一步提升重建语音信号质量的研究正在进行中。

参考文献

[1]Colin P,Orion H,Vicky H.ASurvey of Packet Loss Recov-ery Techniques for Streaming Audio[J].IEEE Networks,1998,12(5):40-48.

[3]ITU-T Recommendation G.711 Appendix I.A High QualityLow-Complexity Algorithm for Packet Loss Conceal mentwith G.711,1999.

[4]Emre G,Momtahan K.A Linear Prediction-based PacketLoss Conceal ment Algorithm for PCM Coded Speech[J].IEEE Trans.on Speech and Audio Processing,2001,9(8):778-785.

[2]David J G,Gordon B L,Ondria J W,et al.WaveformSubsti-tute Techniques for Recovering Missing Speech Segments inPacket Voice Communications[J].IEEE Transactions on A-coustics,Speech and Signal Processing,1986,34(6):1 440-1 448.

[5]ITU-T Recommendation P.862.Perceptual Evaluation ofSpeech Quality(PESQ),an Objective Method for End-to-End Speech Quality Assessment of Narrow-band TelephoneNetworks and Speech Codecs,2001.

语音增强技术及算法综述 篇8

关键词:语音增强,谱减法,卡尔曼滤波

1 引言

语音增强技术1指当语音信号被各种各样的噪声 (包括语音) 干扰, 甚至淹没后, 从噪声背景中提取出尽可能纯净的语音信号, 增强有用的语音信号, 抑制、降低噪声干扰的技术。

由于干扰的随机性, 因而从带噪语音提取完全纯净语音几乎不可能。在这种情况下, 语音增强的目的主要有两个:一是改进语音质量, 消除背景噪声, 使听者乐于接受, 不感觉疲劳, 这是一种主观度量;二是提高语音的可懂度, 这是一种客观度量。这两个目的往往不能兼得。

当前, 语音增强己发展成为语音信号数字处理的一个重要分支。它的主要应用范围是降低听觉噪声, 识别系统的预处理和线性预测编码的预处理。语音增强是一门跨学科的技术, 不但与语音信号数字处理理论有关, 而且涉及到人的听觉感知和语音学。再者, 噪声来源众多, 随应用场合而异, 它们的特性也各不相同。即使在实验室仿真条件下, 也难以找到一种通用的语音增强算法适应于各种噪声环境。必须针对不同噪声, 采取不同的语音增强对策。

2 语音增强算法

根据语音和噪声的特点, 出现了很多种语音增强算法[2]。比较常用的有噪声对消法[3]、谱相减法、维纳滤波法、卡尔曼滤波法、FIR自适应滤波法等。此外, 随着科学技术的发展, 又出现了一些新的增强技术, 如基于神经网络的语音增强、基于HMM的语音增强、基于听觉感知的语音增强、基于多分辨率分析的语音增强、基于语音产生模型的线性滤波法、基于小波变换的语音增强方法[4]、梳状滤波法、自相关法、基于语音模型的语音增强方法等。

2.1 谱减法

谱减法5是一种从带噪信号谱中减去估计噪声平均谱, 从而恢复信号的幅度谱或功率谱的方法。这是一种在频域上处理的方法。假设噪声是平稳的或变化缓慢, 要从短时幅度谱恢复时域信号, 需要综合带噪信号的相位信息, 通过傅立叶逆变换从频域变换到时域。带噪信号的相位无须修改, 这是因为人耳对语音的相位不敏感, 并且估计信号的相位是非常困难的。

假设yw (n) 为离散带噪语音信号, sw (n) 和dw (n) 分别为纯净语音信号和加性噪声信号, 二者相互独立, 由于语音是非稳态信号, 就要对信号加窗分帧, 则加窗后的信号表示为:

其傅立叶变换分别以表示, 于是得到信号的功率谱关系表达式为:

其中和分别是和各自的复共轭。函数表示语音的短时功率谱。

基于短时谱幅度估计的语音增强技术的目的就是设法得到的估计, 并由此得到的估计, 即增强后的语音。因无法精确得到, 所以分别以三者各自的系统平均能量来估计。假设d (n) 零均值并和s (n) 不相关, 则均为0。这样可由下式获得:

在频域用上式 (3) 得到纯净语音的谱估计, 就可以根据式 (4) 得到增强后的语音。

将指数概括, 式 (4) 可以改写成式 (5) 的形式:

考虑到噪声的平稳性, 可以取几帧噪声谱的连续平均值来计算

谱相减法的优点:总体上运算量较小, 容易实时实现, 增强效果也较好, 是目前最常用的一种方法。它的缺点:谱相减法利用在无声期间统计得到的噪声方差来代替当前帧的噪声频谱时, 若该帧某频点上的噪声分量较大, 则相减后会有较大的噪声残留, 频谱上有相应的随机尖峰出现。增强后的语音会夹杂着有节奏的音乐残留噪声。因此在实际应用时, 更多地使用谱相减的改进形式, 其估计式为:改进形式增加了参数α和β。引入系β数可以对噪声估计值进行调整, 在语音能量较高的区域, 令β>1, 这样可以降低语音能量, 更好地突出语音频谱。

2.2 卡尔曼滤波法

卡尔曼滤波法7通过引入卡尔曼信息, 并将要解决的滤波与预测的混合问题转化为纯滤波和纯预测两个独立的问题, 适合于非平稳条件下的最小均方误差意义下的最优估计。

对于带噪的观测数据y (k) =s (k) +n (k) , 其中纯净语音信号s (k) 和环境背景噪声n (k) 分别可用AR模型表示为:

其中i=1, …p和i=1…q是模型的未知参数, w (k) 和v (k) 分别是未知方差为和的零均值白噪声过程, p和q是模型的阶次, 这里假定它们已知, 上述模型还可以写为状态空间表达形式:其中

由此可以构造增广状态空间表达形式其中

对于增广系统式, 当系统参数已知时, 由卡尔曼滤波理论可得系统的状态估计

其中, 式 (2) 是卡尔曼增益矩阵, 式 (3) 是预测误差协方差矩阵, 式 (4) 是估计误差协方差矩阵。

的方差矩阵定义为因此, 经卡尔曼滤波后的语音增强信号为

由于纯净语音和噪声的AR模型参数未知, 因此在进行尔曼滤波之前首先要做参数估计。参数估计的精度直接影语音的增强效果。

卡尔曼滤波法是基于语音生成模型的, 用线性预测 (LPC) 分析参数实现波形最小均方误差意义下的最佳估计。在非平稳条件下也可以保证最小均方误差意义下的最优, 故适合于非平稳噪声干扰下的语音增强。它的优点是不需要假定噪声的平稳性, 对非平稳噪声也能运用。缺点是:需要叠代估计模型参数, 在噪声强时误差大;语音生成模型中假定激励是白噪声源, 这仅对清音成立而对浊音是不成立的;计算量较大;优化标准是时域的波形误差最小, 对语音信号而言此标准不够合理。

2.3 基于听学掩蔽效应的语音增强[8]

目前, 在语音增强中用得比较成功的是听觉掩蔽效应, 它指出语音信号能够掩蔽与其同时进入听觉系统的一部分能量较小的噪声信号, 而使得这部分噪声不为人所感知到。因此从掩蔽效应的角度看, 语音增强应该通过改变带噪语音的短时谱幅度 (STSA) 使所有噪声成分都能被语音信号掩盖掉。

一个较弱的声音 (被掩蔽音) 的听觉感受被另一个较强的声音 (掩蔽音) 影响的现象称为人耳的“掩蔽效应”[9]。被掩蔽音单独存在时的听阈分贝值, 或者说在安静环境中能被人耳听到的纯音的最小值称为绝对闻阈。实验表明3k Hz-5k Hz绝对闻阈值最小, 即人耳对它的微弱声音最敏感;而在低频和高频区绝对闻阈值要大得多。在800Hz--1500Hz范围内闻阈随频率变化最不显著, 即在这个范围内语言可储度最高。在掩蔽情况下, 提高被掩蔽弱音的强度, 使人耳能够听见时的闻阈称为掩蔽闻阈 (或称掩蔽门限) , 被掩蔽弱音必须提高的分贝值称为掩蔽量 (或称阈移) 。

2.3.1 纯音对纯音、噪音对纯音的掩蔽效应

(1) 纯音间的掩蔽

1) 对处于中等强度时的纯音最有效的掩蔽是出现在它的频率附近。

2) 低频的纯音可以有效地掩蔽高频的纯音, 而反过来则作用很小。

(2) 纯音和噪音间的掩蔽

噪音对纯音的掩蔽噪音是由多种纯音组成, 具有无限宽的频谱。若掩蔽声为宽带噪声, 被掩蔽声为纯音, 则它产生的掩蔽门限在低频段一般高于噪声功率谱密度17d B, 且较平坦;超过5OOHz时大约每10倍频程增大10d B。若掩蔽声为窄带噪声, 被掩蔽声为纯音, 则情况较复杂。其中位于被掩蔽音附近的由纯音分量组成的窄带噪声即临界频带的掩蔽作用最明显。

2.3.2 掩蔽类型

(1) 频域掩蔽

所谓频域掩蔽是指掩蔽声与被掩蔽声同时作用时发生掩蔽效应, 又称同时掩蔽。这时, 掩蔽声在掩蔽效应发生期间一直起作用, 是一种较强的掩蔽效应。通常, 频域中的一个强音会掩蔽与之同时发声的附近的弱音, 弱音离强音越近, 一般越容易被掩蔽;反之, 离强音较远的弱音不容易被掩蔽。例如, 一个1000Hz的音比另一个900Hz的音高18d B, 则900Hz的音将被1000Hz的音掩蔽。而若1000Hz的音比离它较远的另一个1800Hz的音高18d B, 则这两个音将同时被人耳听到。一般来说, 低频的音容易掩蔽高频的音;在距离强音较远处, 绝对闻阈比该强音所引起的掩蔽阈值高。

(2) 时域掩蔽

所谓时域掩蔽是指掩蔽效应发生在掩蔽声与被掩蔽声不同时出现时, 又称异时掩蔽。异时掩蔽又分为导前掩蔽和滞后掩蔽。若掩蔽声音出现之前的一段时间内发生掩蔽效应, 则称为导前掩蔽:否则称为滞后掩蔽。产生时域掩蔽的主要原因是人的大脑处理信息需要花费一定的时间, 异时掩蔽也随着时间的推移很快会衰减, 是一种弱掩蔽效应。

利用了耳听觉掩蔽进行语音增强, 其优点是:在进行语音增强时, 不需要把噪声完全抑制掉, 只要使残留的噪声信号不被人感知即可, 所以这样在消噪的同时可以减少不必要的语音失真。其缺点是:噪声掩蔽门限的计算是在纯净语音基础上得到的, 在实际中一般只能用带噪语音来估计掩蔽门限, 这样估计的结果误差很大。

3 结语

综上所述, 以上各种方法各有优缺点, 分别适用于不同情况。参数方法对语音的模型参数依赖性强, 但在低信噪比条件下不容易得到正确的模型参数;非参数方法由于频谱相减会产生一咱具有一定节奏的残余噪声。统计方法需要大量数据进行训练以得到统计信息;小波变换以及离散余弦变换的阈值获取困难, 运算量大。因此实际使用中常常根据具体的环境噪声和语音特性将不同方法结合起来应用, 通过方法互补取得更好的语音增强效果。

参考文献

[1]刘淑华.低信噪比下的语音增强技术研究[J].硕士学位论文.广西:广西大学, 2006:9-11.

[2]刘淑华, 胡强, 覃团发, 万海滨.语音增强算法的研究[J].第十届全国青年通信学术会议, 2005, (7) :282-287.

[3]Jeong J, Moir T J.A real-time kepstrum approach to speech en-hancement and noise cancellation.Neurocomputing, 2008, 71 (13-15) :2635-2649.

[4]谭东星.基于小波变换的语音增强方法研究及实时实现[J].硕士学位论文.湖南:湖南大学, 2004:14-17.

[5]索忠伟.语音增强技术研究及其DSP实现[J].硕士学位论文.西安:西南交通大学, 2006:14-15.

[6]Plourde E, Champagne B.Auditory-Based Spectral Amplitude Estimators for Speech Enhancement.Audio Speech and Lan-guage Processing, IEEE Transactions on2008, 16 (8) :1614-1623.

[7]Xu Guohui, Xu Hui.A study of variance estimation of kalman filtering method.Wuhan University (Engineering Science) , 2004, 37 (4) .

[8]SUNDARRIAJAN R.LOIZOU P C.A noise-estimation algorith-m for highly non-stationary environments.Speech Communi-cation.2006, (48) :220-231.

上一篇:公共租赁住房政策下一篇:初中英语有效课堂教学