当前位置:首页 期刊杂志

基于计算听觉场景分析的单通道信噪分离方法∗

时间:2024-05-04

王凯龙 张二华 曹冠彬

(南京理工大学计算机科学与工程学院 南京 210094)

1 引言

人类的听觉系统具有很强的语音分离能力,在嘈杂的鸡尾酒会上,人们能有效地倾听感兴趣的声音,甚至只用一只耳朵也能很好地辨别并专注于某个人的声音,排除其他语音的干扰,1953年英国科学家E.Cherry将该现象称为“鸡尾酒会”问题。

尽管目前人们对听觉感知的机理还没有完全了解清楚,但通过一些听觉实验,揭示了听觉感知的一些线索。1990年,加拿大麦吉尔大学的Bregman经过20多年的研究,出版了《听觉场景分析》(Auditory Scene Analysis,ASA)[1]。该书中他沿用了视觉场景分析的概念,提出了听觉场景分析的理论,并对听觉场景分析的一系列准则进行了归纳。此后,人们根据这一理论,模仿人类听觉的智能,对语音分离做了大量研究工作,取得了一系列成果。2006年美国俄亥俄州立大学的DeLiang Wang出版了《计算听觉场景分析》(Computational Auditory Scene Analysis,CASA),目前基于计算听觉场景分析的语音分离是该领域的主流方法[2]。

2 计算听觉场景分析

Bregman提出人耳对声音的处理是按照一定的感知规则对声音信号进行分离,再按照一定的方法对感知流进行整合的过程,通过这样的步骤,人可以将声源与感知流分别对应,从而分辨不同的说话人语音。这一理论对于人们理解与再现复杂声音环境中人的信息处理机制有着重要的指导意义。

2.1 人耳听觉特性

人在听到某种声音的情况下的主观感知被称作听觉事件(auditory events)。这个术语是由Jens Blauert于1966年提出的,以便在物理声场和声音的听觉之间清楚地区分出来。听觉事件是心理声学研究的中心对象,这些研究的重点是物理声场的特征与听众的相应感知之间的关系,从这个关系可以得出人类听觉系统的有关处理方法[3]。

一系列的心理学实验证明,人耳对信号的分流有如下一些规律:

1)两个声音成分的频率与出现时间越接近,越容易被整合进同一感知流;

2)一组声音成分呈谐波关系,即为同一基频的不同整数倍,则易被整合进同一感知流;

3)若声音成分的频率成分连续变化,即在谱中呈现连续的轨迹,或不连续但平滑,则易被整合进同一感知流;

4)人耳还更倾向于将同时开始同时结束的声音成分归于同一感知流。

2.2 计算听觉场景分析方法

CASA一般包括四个阶段[4]:

1)仿人耳听觉机制,将输入的混合声音信号分解到一组基本感知单元。通常,混合声信号被转换到能够区分各个声源分量的变换域。这种转换一般用类耳蜗频响的听觉滤波器组来实现。这种转换的原因是原始混合信号在单个时间轴和频率轴上具有严重的重叠。因此,难以通过经典的频域滤波方法有效地区分声源。那么可以推断,如果转换后的单个感知单元足够小,那么它将不太可能同时受到多个源的影响;

2)假设基本感知单元之间存在连续性,将时频(Time-Frequency,T-F)空间划分成若干区域,这一阶段可视为将上阶段得到的感知单元进行类内聚合。实验表明,同一声源会占据某些特定的局部区域,那么可以假设,在时频空间越接近的感知单元,属于同一声源的可能性越高;

3)第三阶段将上阶段得到的分块区域按声源感知差异进行分组,从而将属于同一声源的成分归于同一感知流。按具体操作的差异,此阶段可再分为“同时组合”(simultaneous grouping)和“时序组合”(sequential grouping),如图1所示,B与C的组合属于“同时组合”,指将相同时间段内属于同一声源不同频段的感知分块进行组合,而A与B的组合属于“时序组合”,则是进一步沿时间轴对听觉分块进行拼合;

4)最后阶段在前述得到的感知流基础上进行语音重建,还原声音信号。

整个CASA系统的难点在于分离和组合的过程[5],首先要找出较为合适的分离依据,从2.1节归纳的几组规律中总结出分离依据,包括同时起始/结束、谐波关系、连续性与平滑性、节奏与空间位置等,然后在应用合适的规则将分块区域进行拼合。

图1 同时组合与时序组合示意图

CASA 提出之后出现了 Brown-Cooke系统[6],Hu-Wang系统[7~9],Jin算法[10]等一系列语音分离方法,在这些方法中,基音周期都作为分离和组合的重要依据,因而待分离目标语音基音周期的精度对分离效果具有决定性影响。然而,目标语音的基音周期常常受到噪声的影响,尤其是在信噪比较低的情况下影响更明显[11],因此,如何得到鲁棒性的基音周期估计是一大难点,受到研究人员的广泛关注[12]。

本文在提高基音周期准确性的基础上,研究了一条新的思路,先以语音信号的短时稳定性为依据利用傅里叶变换将其转到频域,每一时段内按浊音的谐波特性,以基音周期为依据进行同时组合,同一说话人时序组合,最后得到分离后的语音。

3 语音信号的频域分析

“短时分析技术”贯穿整个语音分析过程[13]。因为从整体的角度来看语音信号,其特性和特征其参数的随着时间的推移而变化,由于声音是人体口腔肌肉运动构成通道形状产生的响应,而这个运动相对于语音频率非常慢,因此在短时范围内(10ms~30ms),其特征基本不变,即语音信号具有短期稳定性。每一段称为帧,帧长通常需取10ms~30ms,所以对于整体语音信号,分析的是每一帧特征参数组成的特征参数序列。

对第n帧信号进行离散时域傅里叶变换可得单帧频谱,其定义如式(1):

定义中的w(n-m)表示一个滑动窗口,随n的变化沿序列x(m)移动,窗口长度满足绝对可和条件,窗口函数也影响着变换的结果,这里我们选用汉明窗,如式(2)进行预处理:

α一般选用0.46,在后续实验中用到的频谱(即振幅谱)与短时傅里叶变换之间的关系如式(3):

单纯的频谱只包含频域信息,无法提供时域信息,不能体现感知单元之间的连续性,因此不能用于CASA的分离与组合过程,我们选用了能同时体现时域与频域信息的语谱图(Spectrogram)。

人们将和时序相关的傅里叶分析的显示图形称为语谱图,语谱图为伪三维图谱,垂直轴为频率,水平轴为时间,任何给定频率给定时刻的强弱由相应位置灰度表示。在语谱图中,由于色彩深度有差异,连续变化的相邻帧频率点会形成不同的纹线,称为“声纹”,可以清楚地观察到浊音部分有一系列深色条纹,这即是浊音的一组谐波,后续的处理便是以准确提取各组谐波为目的。

4 基音周期检测

基音周期是指发浊音时声带振动的周期性,基音周期是指声带振动频率的倒数,基音周期是语音信号最重要的参数之一,描述了语音激励源的重要特征[14]。现有的基音检测算法包括自相关函数(ACF)法,峰值提取算法(PPA)、平均幅度差(AMDF)法、倒谱法、SIFT、谱图法、小波分析法等。多数算法采用了滤波处理和峰值提取方法来检测基音。由于基音周期本身具有多变性且范围较宽,在加入宽带噪声或语音干扰后,基音周期的检测精度受极大影响,低信噪比情况下算法表现更加不理想,在以上的诸多方法中,倒谱法为目前最有效的方法。

4.1 倒谱法

倒谱法作为传统的基音周期检测算法,利用了语音信号的倒谱特征来检测基音信息[15]。

由语音模型可知,语音s(n)是由声门脉冲激励e(n)经声道响应v(n)滤波而得,即有

倒谱的本质是频谱的频谱,设三者的倒谱分别为 s(n)、e(n)、v(n),则有

可以看出,包含基音信息的声学脉冲倒谱可以与信道响应倒谱完全分离,因此从倒谱频域分离e(n)后恢复出e(n),可从中求出基音周期。

4.2 倒谱域中基音周期的确定

设语音信号的采样率为w,则有效信号的最高频率为w/2,时间采样间隔Δt为1/w,设每帧的长度为N个数据点,通过短时傅里叶变换进行频谱分析时,隐含条件是该信号为周期信号,取该信号的一个周期进行分析,即信号周期T为NΔt,基频 f0为w/N,其他频率成分都是基频的整数倍,频率采样间隔为w/N。

进行倒谱分析时,数据采样间隔为Δf,取一帧的振幅谱进行频谱分析,也隐含着取该信号的一个周期分析,振幅谱信号的周期为NΔf,倒谱域的基频为1/T=1/NΔf=Δt,倒谱域的采样间隔为Δt。

若倒谱域中谐波信号的峰值出现在第n个“频率”成分位置,则谐波位置在倒谱中的“频率”为NΔt,意味着谐波信号在频率域中起伏变化的“周期”为1/NΔt,而各谐波的频率为基音周期的整数倍,谐波之间的间距就是基音频率,基音周期为NΔt,另,实验表明,帧长必须包含约4个基音周期,浊音在倒谱曲线上才能显现明显峰值。

A:通过这几年的实践,我们认为,VOCs治理应该从源头入手,对过程进行控制,并辅以末端治理。源头,是我们治理的重点,目前我们使用的是无醇润版液,因为不用酒精了,整个生产车间的空气质量大大改善,几乎闻不到刺鼻的气味。过程控制,主要是做好各项管理,使VOCs排放源处于管控之中。末端治理,即VOCs的收集系统,这也是非常关键的一环。

4.3 基音谱图

以语谱图为启发,采用伪三维形式显示倒谱,由于相邻帧基音周期的变化具有连续性,在图中可表现出连续轨迹,通过对轨迹进行提取,即可得到较准确的基音周期。图2所示为一段男声语音“那年正月新春”的波形图与基音谱图。

图2 语音“那年正月新春”波形图与基音谱图

4.4 基音谱图帧长选取

基音谱图能清楚地显示基音周期轨迹曲线,但若帧长选取不当,倒谱曲线上会出现虚假的二次、三次、四次等多次倒谱峰值,这些虚假的倒谱峰值对应的基音周期是真实周期的2倍、3倍、4倍等,相应地在基音谱图上也会出现虚假的二次、三次、四次等多次基音周期轨迹,这些虚假的二次、三次、四次等多次倒谱峰值及多次基音周期轨迹的幅值会依次降低。如图3是某女声帧长为512时“我不满六周岁”的语谱基音谱图,图中就出现了虚假的二次基音周期轨迹。

图3 语音“我不满六周岁”波形图与基音谱图

虚假的多次倒谱峰值及基音周期轨迹,是由于帧长过长引起的。一般帧长接近4倍的基音周期时比较合适,若帧长再增加,则会出现虚假的多次倒谱峰值。若帧长合适,倒谱峰值大致位于倒谱曲线中部,虚假的多次倒谱峰值及多次基音周期轨迹会消失。图4是帧长为256时“我不满六周岁”的语谱基音谱图,图中虚假的二次基音周期轨迹基本消失。

图4 语音“我不满六周岁”波形图与基音谱图

综上所述,为了准确提取基音周期轨迹,必须合理选取帧长。一般情况下,帧长取512对男声和女声均比较合适。

4.5 基音周期的后处理

常见的基音周期估计算法由于未考虑帧间的基音周期连续性变化特性,需要对求得的基音周期轨迹进行平滑[16]。

4.5.1 中值平滑处理

令x(n)为输入信号,y(n)为中值滤波器的输出,并使用滑动窗口,n0处的输出值y(n0)是窗口中心移动到n0处时窗内的中位数。换句话说,在n0左右取L点。与平滑点一起形成一组信号样本,将队列的中位数作为输出。L值通常取1或2,称为3点或5点中值平滑[5]。

4.5.2 线性平滑处理

其 中 ,{ω(m),m=-L,-L+1,…,0,1,2,…,L} 为2L+1点平滑窗,满足

线性平滑窗口在校正输入信号中相邻点的值时也对附近点值进行了修改。因此尽管增加窗口长度可以增强平滑效果,但也可能导致两个平滑段之间的阶跃更加模糊。

5 信噪分离

5.1 目标说话人频谱的提取

根据4.2节的推论,得到浊音的基音周期后可推断其各谐波成分位置,已获取的各帧基音周期值已经加入了轨迹连续性特征,可获得较为准确的基音周期,因此可以忽略基音周期的后处理,但仍不能确信基音周期所指示的谐波位置完全准确,我们参考4.5节中提到的动态窗口平滑处理,结合对数据的大量观察,总结出了一套准确度较高的谐波位置自动提取方法。

1)尽量遵从各谐波点的理论位置,具体谐波点合理调整。

2)谐波能量较强时,规律明显,连续性好、抗干扰能力强、稳定、可靠,谐波能量较弱时,可靠性较差,可舍去。

3)对于两条轨迹不重合的谐波点,在谐波的理论位置为中心,单元格振幅为A中,再取上、下两个单元格,振幅分别为,A上,A下。若A中为局部极大值,则该谐波点位置取A中。若谐波点的理论位置不是局部极大值,但A上或A下为局部极大值,且不是其它轨迹的理论谐波点位置,则将该谐波点的位置调整为局部极大的A上或A下所在位置。若A上或A下都为局部极大值,则将该谐波点的位置调整为A上或A下的较大者。

4)同一次谐波在横向上进行平滑、协调。调整后的频谱数据,对于同一次谐波,若某帧的谐波位置明显偏离总体趋势,则将该帧的谐波点位置进行合理平滑。利用5点中值滤波,若该帧的谐波频率点序号与中值频率点序号相差较大,则将该帧谐波点的位置调整为中值点所在的位置。

由大量观察得到绝大多数元音频谱中谐波宽度不超过5个频点,我们取一组宽度为5个频率点的滤波器,滤波函数选择余弦函数前半周期,滤波器间距为该帧基音频率,对每帧频谱进行提取,得到目标说话人的各帧频谱。

5.2 分离后语音信号的重构

由5.1节得到目标说话人的分帧频谱,沿时间轴组合便可得到目标说话人的完整频谱,进行逆傅里叶变换即可得到单帧信号,序列逆傅里叶变换定义如下:

由于不同帧时域上有重合,我们在得到分离后的单帧语音后,将同一基音周期轨迹段内的相邻多帧按语音帧的位置对齐后进行叠加,并按参与叠加的语音帧个数取均值,来重构该语音段,即可得到目标说话人的语音。

6 实验结果

为验证方法的可行性,我们首先选用了女生语音“我不满六周岁”,人工标记频谱谐波位置后对原始语音进行语音重构效果试验,实验结果如图5所示,听觉实验证明该方法能较好地恢复源语音。

图5 原始语音重构效果

本文进行了一系列信噪分离实验,噪声可以是加性的,也可以是非加性的(非加性噪声往往可以通过某种变换,转化为加性噪声)。加性噪声分为冲激噪声、周期噪声、宽带噪声、语音干扰噪声等。

1)冲激噪声:如放电,点火,爆炸会引起冲激噪声。

2)周期性噪声:电动机,风扇等的周期性运行产生的周期性噪声,频谱中表现为离散的窄谱,通常可以通过陷波滤波方法去除。

3)宽带噪声:噪声谱遍及语音信号频谱,噪声难以消除。

4)语音干扰:干扰语音信号与待传语音信号由同一信道传输造成的干扰。

我们将语音信号与冲激噪声、宽带噪声以不同信噪比(Signal-Noise Ratio,SNR)进行混合,分别进行分离试验,结果如图6~图8所示

图6 加入白噪声去噪前后对比图

图7 加入冲激噪声去噪前后对比图

图8 加入水声去噪前后对比图

实验所采用的信噪比如式(9),其中 Ps和Pn分别代表信号和噪声的有效功率。

听觉实验结果听音效果良好,噪声去除比较干净,波形图上也不难看出,浊音部分噪声明显减弱,证实了方法的有效性。

7 结语

本文介绍了一种基于基音周期的单通道信噪分离方法,首先以图谱分析方法利用基音周期变化的连续性对基音周期进行了较准确的提取,后依据基音周期准确定位到说话人语音每帧频谱中的谐波位置,以梳状滤波方式提取目标频谱,进而通过反变换与分帧叠加得到分离后的语音,实验结果来看取得了较好的效果,验证了方法的有效性。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!