2. 清华大学 信息技术研究院, 语音和语言技术中心, 北京 100084 ;
3. 厦门莱亚特医疗器械有限公司, 厦门 361009
2. Center for Speech and Language Technologies, Research Institute of Information Technology, Tsinghua University, Beijing 100084, China ;
3. Xiamen LA and Associates Medical Equipment Co., Ltd., Xiamen 361009, China
环境噪声是指日常环境中由多种噪声叠加而成的类平稳底噪,一般音量相对较小,声压级(sound pressure level,SPL)小于50 dB,但经过助听器压缩放大后音量会明显提高,严重影响听觉感受,因此必须对环境噪声进行低失真的抑制,以免环境噪声或处理后的失真被放大而影响言语清晰度[1]。
根据输入信号的量,降噪算法可分为麦克风阵列和单麦克风降噪2大类。本文所讨论的环境降噪方法属于单麦克风降噪范畴[1-2]。典型的单麦克风降噪算法有低增益扩展法[1]、谱减法[1-4]、Wiener滤波法[2]、统计模型方法[2]和子空间方法[2]等。低增益扩展法[1]假设环境噪声低于某一预设的声压级(dB SPL),若当前输入的声压级小于扩展临界值则判断为噪声,并进行增益衰减; 若输入声压级大于此临界值则判断为语音,并进行增益压缩。谱减法[1-4]是一类由带噪语音谱减去估计噪声谱得到纯净语音谱的方法,包括过谱减法、非线性谱减、多子带谱减、最小均方误差(minimum mean squared error,MMSE)谱减、Ephraim-Malah谱减和基于掩蔽模型的谱减等。Wiener滤波法[2, 5]是以最小均方误差目标函数推导出的对带噪语音的最优滤波,包括时域法、频域法、均方根法、参数法和迭代法等。统计模型方法[2]通过对噪声谱和语音谱的概率估计进行降噪,包括最大似然估计、最小均方误差估计、最大后验概率估计、Bayes估计及其扩展方法等。子空间方法[2]则是通过奇异值分解和特征值分解等进行降噪。上述方法都需要对噪声谱进行假设和估计。噪声谱估计方法主要有语音激活检测法(voice activity detection,VAD)、最小值跟踪法(minimal tracking,MT)、时域递归平均法(time recursive averaging,TRA)和直方图法等[2]。VAD是一类通过能量、过零率等声学特征区分语音段和噪声段的方法,通过噪声段估计噪声谱; MT法是一类跟踪带噪语音信号的长时最小值,并将其作为噪声谱估计的方法,包括时间窗法和连续跟踪法; TRA法通过对前一时刻的噪声谱估计与当前时刻信号的加权平均来估计噪声谱,此加权值可以是噪声出现的概率等,例如最小控制递归平均(minimal controlled recursive averaging,MCRA)和MCRA-2等方法[2]; 直方图法则是通过直方图统计得到语音和噪声出现的概率从而进行噪声谱估计。上述方法由于其数学建模与真实带噪声语音的差异性以及噪声谱估计的不准确性,在降噪同时都会不同程度对语音造成损伤,产生失真,从而影响降噪语音的言语清晰度,因此都需要在信噪比和失真之间寻求平衡。
在助听器这类对声音进行压缩放大的系统中,上述算法失真更易于被听者所感知。本文提出一种改善言语清晰度的低失真的子带自适应降噪方法。通过加权重叠相加(weighted overlap add,WOLA)滤波器组[6]和基于心理声学模型[1-2]的子带划分、基于先验信噪比和后验信噪比的非线性增益扩展、基于噪声估计信号声压级的增益下限阈值、基于峰值跟踪的子带增益平滑及其跟踪和释放时间系数的精细选择等方法,有效降低环境噪声和提高言语清晰度。为适应超低功耗数字信号处理器(digital signal processor,DSP)[7]的应用,也对降噪增益公式进行了量化处理。
1 WOLA框架的子带降噪算法图 1为子带降噪算法框图。时域信号s(t)经过WOLA分析滤波器组[6]得到时频信号S((n,k)),即第n帧第k个子带的带噪语音信号; 由S(n,k)估计得到降噪增益G(n,k)(G(n,k)为实数,∂(n,k)表示dB单位的降噪增益); 将G(n,k)作用于|S(n,k)|得到降噪输出的时频信号
$\left| Y\left( (n,k) \right) \right|=\left| S\left( n.k \right) \right|G\left( (n,k) \right),$ | (1) |
或者转换到dB单位为
$\begin{align} & 20\lg \left| Y\left( (n,k) \right) \right|= \\ & 20\lg \left| S\left( n.k \right) \right|+\partial \left( (n,k) \right). \\ \end{align}$ | (2) |
其中: n代表时间帧,k代表频域子带。一个子带可以是WOLA变换后的单个频点也可由多个相邻的频点构成; 尤其是在高频部分,k若采用单一频点将会影响降噪后信号的音质[1]。心理声学实验表明,人耳对低频信号的频率分辨率高,对高频信号的频率分辨率低[1-2]。这里对Bark频标、Mel频标和ERB(equivalent rectangular bandwidth)频标等3种常见的心理声学模型[1-2]进行实验,详见本文节3。与其他降噪算法类似,本文的Y(n,k)继承了S(n,k)的相位信息。Y(n,k)经过WOLA综合滤波器组得到时域的输出信号y(t)。
2 基于非线性扩展的子带自适应降噪算法 2.1 非线性扩展的降噪增益计算方法本文提出的基于非线性扩展的子带降噪增益计算方法的流程图如图 2 所示。
具体步骤描述如下:
1) 对输入的子带带噪语音信号进行噪声能量谱估计。为了消除可能被助听器放大的环境背景噪声,所以采用对环境噪声估计效果更好的最小值跟踪方法[2]估计噪声能量谱。
计算输入信号S(n,k)的能量谱|S(n,k)|2的短时最大值
$\left| S\left( n.k \right) \right|_{\max }^{2}=\underset{n-{{T}_{1}}+1\le m\le n}{\mathop{\max }}\,\left( {{\left| S\left( m,k \right) \right|}^{2}} \right).$ | (3) |
其中T1代表用于统计最大值的短时帧数。 通过短时最大值|S(n,k)|max2计算长时最小值,将其作为噪声能量谱的估计值
${{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right)=\underset{n-{{T}_{2}}+1\le m{{T}_{1}}\le n}{\mathop{\max }}\,\left( \left| S\left( m{{T}_{1}},k \right) \right|_{\max }^{2} \right).$ | (4) |
其中T2代表用于统计最小值的长时帧数。通过实验,本文选用T1=60 ms,T2=1.2 s。
2) 由输入信号能量谱和估计得到的噪声能量谱计算后验信噪比(a posteriori signal to noise ratio,SNR)为
$\begin{align} & \delta \left( n.k \right)= \\ & 10\lg \left( \frac{{{\left| S\left( (n,k) \right) \right|}^{2}}-{{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right)}{{{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right)} \right). \\ \end{align}$ | (5) |
先验信噪比(a priori SNR)为
$\xi \left( (n,k) \right)=\left( 1-\alpha \right)\delta \left( (n,k) \right)+\alpha \xi \left( n-1,k \right).$ | (6) |
其中α为迭代因子,0<α<1。α越大则先验信噪比的更新速度越慢。通过实验选用α=0.98,以保证先验信噪比估值的稳定性。式(5)和(6)的单位为dB。
3) 由上述后验和先验信噪比计算降噪增益。在此做出3个合理推断: a) 实际环境中信噪比大多数在0 dB附近的区间内变化如[-25, 25]dB,信噪比大于25 dB的语音信号无须进行降噪处理,即降噪增益为0 dB,信噪比小于-25 dB的语音信号可以认为已经超出了现代降噪系统的处理能力,都可按照-25 dB来进行处理; b) 信噪比越小所需的降噪增益越小,且信噪比和降噪增益的变化区间大小应该相同,因此降噪增益与信噪比成正比例关系,且其变化区间应为[0, 50] dB; c) 信噪比的心理声学模型呈现非线性,即真实信噪比变化1 dB,人耳感知的信噪比变化并非1 dB[1-2]。此外,信噪比估值与真实值之间存在偏差,真实信噪比越高,最小值跟踪法的信噪比估值越准确[2]。根据上述推断以及文[1]和[4]给出的指数形式的增益计算表达式,提出非线性扩展的降噪增益
${{\partial }_{1}}\left( (n,k) \right)=10\lg \left( \frac{1}{1+v{{10}^{\gamma }}} \right).$ | (7) |
其中ν和γ为
$\left\{ \begin{align} & v=\frac{75-\xi \left( (n,k) \right)}{50}, \\ & \gamma =\frac{\left( 75-\xi \left( (n,k) \right) \right)\delta \left( (n,k) \right)}{500}. \\ \end{align} \right.$ | (8) |
其中: 1≤ν≤2; -5≤γ≤5; ${\partial _1}\left( {(n,k)} \right){\rm{ < }}0$,其最小值约为50 dB,符合上述推断。降噪增益${\partial _1}\left( {(n,k)} \right)$,δ(n,k)和ξ(n,k)成正比例关系且受快变的后验信噪比δ(n,k)的影响较大,如图 3所示。
图 4为先验信噪比ξ(n,k)=0时,${{\partial }_{1}}\left( (n,k) \right)$与线性增益的对比图; 为对比方便,纵坐标为归一化单位的增益。可见后验信噪比较高(>0 dB)的区间降噪增益变化明显,在后验信噪比较低(<0 dB)的区间降噪增益则变化平缓,符合信噪比的心理声学模型,并且减小了低信噪比时估值不准确的影响。
降噪增益越小,降噪后的信噪比提升越大,然而损伤言语清晰度的风险也就越大,因此通常会限制降噪增益的下限值,以保留部分残余舒适噪声,提高言语清晰度[8-9]。不同于固定阈值的限制方法,本文提出慢变的基于噪声声压级${{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right)$(单位为dB SPL)的子带相关的下限阈值${{\partial }_{\text{F}}}\left( k \right)$(单位为dB):
${{\partial }_{\text{F}}}\left( k \right)=\left\{ \begin{align} & {{a}_{\text{ET}}}\left( ({{P}_{\text{NL}}}\left( k \right){{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right) \right)+{{\partial }_{\text{floor}}} \\ & \text{if} {{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right)\le {{P}_{\text{NL}}}\left( k \right), \\ & {{\partial }_{\text{floor}}} \text{if} {{P}_{\text{NL}}}\left( k \right)<{{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right)<{{P}_{\text{NL}}}\left( k \right), \\ & {{a}_{\text{NR}}}\left( {{P}_{\text{NL}}}\left( k \right){{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right) \right)+{{\partial }_{\text{floor}}} \\ & i\text{if} {{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right)\ge {{P}_{\text{NH}}}\left( k \right).~ \\ \end{align} \right.$ | (9) |
如图 5所示,当${{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right)$小于或等于低阈值PNL(k)时,${{\partial }_{\text{F}}}\left( k \right)$)随着噪声声压级减小按照-aET斜率增大,即噪声越小∂F(k)越大,可能的残余噪声越多;当${{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right)$处于低阈值PNL(k)和高阈值PNH(k)之间时,${{\partial }_{\text{F}}}\left( k \right)$等于${{\partial }_{\text{floor}}}$,该值定义了降噪等级,其越小,算法对噪声抑制越强,可能的语音损伤也越大; 当${{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right)$大于或等于高阈值PNH(k)时,${{\partial }_{\text{F}}}\left( k \right)$随着噪声声压级增大按照-aNR斜率减小,即噪声越大${{\partial }_{\text{F}}}\left( k \right)$越小,对噪声抑制越强。
引入上述下限阈值∂F(k)后,降噪增益为
${{\partial }_{2}}\left( (n,k) \right)=\left\{ \begin{align} & {{\partial }_{1}}\left( (n,k) \right){{\partial }_{1}}\left( (n,k) \right)>{{\partial }_{\text{F}}}\left( k \right) \\ & {{\partial }_{\text{F}}}\left( k \right)\text{ }其他. \\ \end{align} \right.$ | (10) |
4) 增益的帧间突变是引起失真的主要原因之一[2-3]。为进一步降低由于降噪增益帧间变化引起的语音失真,对上述降噪增益∂2(n,k)进行平滑滤波[10]得到
$\partial \left( (n,k) \right)=\left\{ \begin{align} & {{\beta }_{\text{A}}}\left( k \right)\partial \left( n-1,k \right)+\left( 1-{{\beta }_{\text{A}}}\left( k \right) \right){{\partial }_{2}}\left( (n,k) \right), \\ & {{\partial }_{2}}\left( (n,k) \right)>\partial \left( n-1,k \right); \\ & {{\beta }_{\text{R}}}\left( k \right)\partial \left( n-1,k \right)\text{+}\left( 1-{{\beta }_{\text{R}}}\left( k \right) \right){{\partial }_{2}}\left( (n,k) \right), \\ & {{\partial }_{2}}\left( (n,k) \right)\le \partial \left( n-1,k \right). \\ \end{align} \right.$ | (11) |
其中: βA(k)是跟踪时间系数,表示当降噪增益增加(信噪比增加)时平滑增益对降噪增益的跟踪速度,βA(k)越小表示跟踪速度越快; βR(k)是释放时间系数,表示当降噪增益减小(信噪比减小)时平滑增益对降噪增益的跟踪速度,βR(k)越小表示跟踪速度越快。βA(k)和βR(k)分别与跟踪时间τA(k)和释放时间τR(k)的函数关系为
$\left\{ \begin{align} & {{\beta }_{\text{A}}}\left( k \right)\text{=}{{\text{e}}^{-1/{{\tau }_{\text{A}}}\left( k \right){{f}_{\text{B}}}}} \\ & {{\beta }_{\text{R}}}\left( k \right)\text{=}{{\text{e}}^{-1/{{\tau }_{\text{R}}}\left( k \right){{f}_{\text{B}}}}}. \\ \end{align} \right.$ | (12) |
根据跟踪和释放时间的心理声学实验结论[1-2, 10],跟踪时间和释放时间分别设置为
$\left\{ \begin{array}{l} {\tau _{\rm{A}}}\left( k \right){\rm{ = }}12{\rm{ms}},\\ {\tau _{\rm{R}}}\left( k \right) = \left\{ \begin{array}{l} 125{\rm{ms,}}\left( {k/K} \right){f_{\rm{S}}} < 500{\rm{Hz}};\\ 70{\rm{ms,}}\left( {k/K} \right){f_{\rm{S}}} \ge 500{\rm{Hz}}{\rm{.}} \end{array} \right. \end{array} \right.$ | (13) |
其中: fB为分帧频率,fS为采样频率。
2.2 降噪增益的量化方法若对每个时频单元采用式(7)降噪增益计算公式,则计算复杂度较大,不适于超低功耗DSP[7]的实时实现,为此,本文对式(7)进行了量化处理。首先对后验和先验信噪比在其取值范围内间隔1 dB进行采样得到δi和ξi,其取值为[-25,25]的整数,i和j为索引,取值为[0,50]的整数;其次通过式(7)计算得到相应的降噪增益值,便得到一个大小为51×51的二维降噪增益矩阵;最后可以由i和j进行索引查表得到相应的降噪增益值。索引i和j的查表计算公式为
$\left\{ \begin{align} & {{i}^{*}}=\underset{i}{\mathop{\arg \min }}\,{{\left( \delta \left( n.k \right)-{{\delta }_{i}} \right)}^{2}}, \\ & {{j}^{*}}=\underset{j}{\mathop{\arg \min }}\,{{\left( \xi \left( n.k \right)-{{\xi }_{j}} \right)}^{2}}. \\ \end{align} \right.$ | (14) |
采用主观测听实验来验证本文方法对言语清晰度的改善程度。言语文本采用北京同仁医院、北京市耳鼻咽喉科研究所和首都医科大学生物医学工程学院联合开发的普通话言语测听材料[11],由其中的单音节和双音节词表组成500句的平均长度为20字的无意义语句。在半消声室中由女声录音 16 kHz 采样、16 bit量化的纯净语音。带噪语音通过加入Babble噪声(混合10个男女说话人语音)生成,信噪比分别为-10、-5、0和5 dB。
10名正常听力的受试者参与20组测听实验: 4种信噪比、4种降噪算法和1种未经处理的带噪语音的组合; 每组包括随机抽取的10句无意义语句; 每人共计测听200句语音。4种降噪处理方法分别是多子带谱减法[2]、Decision-Directed Wiener滤波[2]、MMSE法[2]和本文方法(Bark频标的平滑后增益 ∂(n,k))。测听实验在半消声室进行,平均播放音量约为65 dB SPL; 上述200句语音随机播放,要求受试者记录下听到的内容。通过统计受试者的平均字识别率来评价算法对言语清晰度的影响。
按照上述方法,对本文方法(Bark频标)中的初步增益∂1(n,k)、限制后增益∂2(n,k)和平滑后增益∂(n,k)对言语清晰度的影响进行对比分析。在平滑增益∂(n,k)的条件下,还对比了单频点/子带、Bark频标、Mel频标和ERB频标等频带划分方法对言语清晰度的影响。
实验中,采用奇型堆叠的WOLA滤波器组; 其分析窗长LA=128、输入块长度R=32、Fourier变换窗长N=64和合成窗长LS=64。式(10)参数选择: PNL=50 dB SPL,PNH(k)=70 dB SPL,aET=0.5,aNR=0.3,∂floor=-15 dB。
3.2 实验结果图 6为本文方法与多子带谱减、Wiener滤波、MMSE法在言语清晰度实验上的对比结果; UN表示带噪语音; SS表示谱减法; Wiener表示Wiener滤波法; MMSE表示MMSE法; 本文方法表示Bark频标的平滑后增益∂(n,k)。在-10、-5、0和5 dB信噪比条件下,本文方法使得言语清晰度分别从10%、30%、61%和80%提高到55%、70%、82%和92%; 比其他3种方法提升5%~25%。为分析本文方法的性能细节,图 7为本文方法的初步增益∂1((n,k))、限制后增益∂2((n,k))、平滑后增益∂((n,k))和量化增益在言语清晰度实验上的对比结果; G1表示初步增益∂1((n,k)); G2表示限制后增益∂2((n,k)); G表示Bark频标的平滑后增益∂((n,k)); 量化G表示通过式(14)的量化方法计算得到的平滑后增益∂((n,k))。初步增益的性能略好于其他3种算法。对比初步增益,低信噪比(-10和-5 dB)时,下限阈值对言语清晰度分别提高3%和5%,平滑对言语清晰度分别提高15%和20%,平滑方法的贡献更大; 高信噪比(0和5 dB)时,下限阈值对言语清晰度分别提高9%和6%,平滑对言语清晰度分别提高11%和6%,下限阈值方法的贡献更大。量化增益比平滑后增益∂((n,k))相差在2%以内,可见量化方法取代增益计算公式的可行性。图 8为本文方法中的单频点/子带、Bark频标、Mel频标和ERB频标等子带划分方法在言语清晰度实验上的对比结果。相比单频点/子带方法,其他3种基于心理声学模型的子带划分方法使得言语清晰度分别从40%、48%、71%和84%提高到约54%、70%、81%和91%; 3种子带划分的性能相近,均优于单频点/子带的划分方法。
在超低功耗的EZARO5900 DSP[7]上实现了本文方法。EZAIRO5900包括CoolFlux[12]和HEAR硬件加速器双内核。采用汇编语言实现式(7)的降噪增益计算公式平均需要约93个指令周期,实现式(14)的二维量化查表公式平均需要约36个指令周期; 通过对式(7)的量化处理使得整个算法的DSP实现效率提高约30%。
4 结 论本文提出一种旨在改善言语清晰度的子带自适应降噪方法。采用最小值跟踪法估计子带的噪声能量谱,进而计算子带上的后验和先验信噪比,再根据心理声学模型由后验和先验信噪比生成快变的非线性降噪增益,并进一步引入慢变的基于噪声声压级估值的子带增益下限阈值函数,最后利用峰值跟踪函数对降噪增益进行平滑后应用于带噪语音。实验结果表明: 基于心理声学模型的子带划分、下限阈值函数和增益平滑3种算法使得言语清晰度得到明显提升。这3种算法也可用于其他类型的降噪方法中。在EZAIRO5900 DSP上实现了本文方法,通过对增益公式的量化处理使得整个算法的运行效率提高约30%。
[1] | Kates J M. Digital Hearing Aids[M]. San Diego: Plural Publishing INC, 2008 . |
[2] | Loizou P C. Speech Enhancement:Theory and Practice (2nd edition)[M]. Boca Raton: CRC Press, 2013 . |
[3] | Ephraim Y, Malah D. Speech enhancement using a minimum mean square error short-time spectral amplitude estimator[J]. IEEE Transactions on Acoustics, Speech and Signal Processing , 1984, 32 (6) : 1109–1121. DOI:10.1109/TASSP.1984.1164453 |
[4] | Tsoukalas D E, Mourjopoulos J N, Kokkinakis G. Speech enhancement based on audible noise suppression[J]. IEEE Transactions on Speech and Audio Processing , 1997, 5 (6) : 497–514. DOI:10.1109/89.641296 |
[5] | XUE Fengjie, GUO Zhaoyang, WANG Xinan. A multiband noise reduction wiener filter algorithm for hearing aid[C]//Materials and Engineering Technology. Chicago, USA:TRANS TECH Publications INC, 2015:1082-1088. |
[6] | ON Semiconductor. WOLA Filterbank Coprocessor:Introductory Concepts and Techniques[R/OL].[2015-04-10]. http://www.onsemi.com/pub/Collateral/AND8382-D.PDF. |
[7] | ON Semiconductor. Hardware Reference Manual for Ezairo 5900, M-20468-009[R]. Waterloo, Ontario, Canada:Semiconductor Components Industries LLC, 2009. |
[8] | Zakis J A, Hau J, Blamey P J. Environmental noise reduction configuration:Effects on preferences, satisfaction, and speech understanding[J]. International Journal of Audiology , 2009, 48 (12) : 853–867. DOI:10.3109/14992020903131117 |
[9] | Brons I, Houben R, Dreschler W A. Effects of noise reduction on speech intelligibility, perceived listening effort, and personal preference in hearing-impaired listeners[J]. Trends in Hearing , 2014, 18 (10) : 1–10. |
[10] | Giannoulis D, Massberg M, Reiss J D. Digital dynamic range compressor design-A tutorial and analysis[J]. Journal of Audio Engineering Society , 2012, 60 (6) : 399–408. |
[11] | 北京同仁医院.普通话言语测听材料[Z/OL].[2015-01-20]. http://www.trhos.com/mstms/index5.asp. Beijing Tongren Hospital. Mandarin Speech Test Materials[Z/OL].[2015-01-20]. http://www.trhos.com/mstms/index5.asp. (in Chinese) |
[12] | NXP Semiconductors. CoolFlux DSP the Embedded Ultra Low Power C-programmable DSP Core[Z/OL].[2015-03-09]. http://www.coolflux.com/nxp-coolflux-dsp. |