孙颖楷 钟益明
(广东万和新电气股份有限公司 佛山 528000)
随着智能家居以及大模型的快速发展,语音识别在家庭环境中的应用越来越广泛,然而,这些应用常常受到家庭环境中各种背景噪音的干扰,包括人声、电视声音、家电噪音等。这些噪音对语音识别的精度造成了一定影响。
针对上述问题,一系列的降噪方法被提出,包括经典的噪音抑制方法和人工智能算法。传统的语音增强方法主要包括频谱消减,Wiener 滤波器,以及小波变换等滤波技术,Boll 等提出的频谱消减方法通过估计噪声频谱来抑制噪声,这是一种典型的频域方法[1]。Zhenli 等提出采用分数Fourier 变换对噪声语音进行滤波[2]。Seok等提出在小波域内消减噪声分量的语音增强方法[3]。这些方法在相对静态和简单的噪声环境下能够达到一定的增强效果,但是在复杂和非静态的环境中,其效果会大打折扣,主要是这类方法通常依赖于事先获得的噪声信息和统计特征,而实际环境中的噪声往往复杂多变,难以准确建模和估计。另外,基于滤波的方法也面临的是噪声和语音谱重叠严重的情况,滤波操作难以完全区分噪声和语音,导致语音质量损伤。
近年来,神经网络在语音增强领域展示出强大的建模能力,许多研究工作采用卷积神经网络(CNN)和循环神经网络(RNN)进行语音增强。Pandey 等提出了基于CNN 框架来进行时域语音增强[4,5]。另一类方法关注训练数据的获取,鉴于清晰语音数据往往难以获取,Mimura 等人提出了基于多目标学习的降噪自动编码器和DNN 语音模型的联合优化方法[6]。Fujimura 等人提出了不依赖清晰语音的“噪声目标”训练策略,使用增强前和增强后的语音作为模型输入和输出来实现基于DNN 的语音增强训练[7]。其中,RNN 由于其出色的时间序列处理能力和较低的计算需求,逐渐引起了研究者的关注,一些初步的研究显示,其在噪音抑制任务上具有一定的潜力,如Strake 等人提出将LSTM 用于噪声抑制,然后使用CNN 进行语音复原的方法[8]。
虽然CNN、RNN、DNN 等人工智能算法表现出强大的建模能力,能够更好地处理复杂的噪声环境,但也存在一些挑战,例如模型的复杂性、计算资源的需求,以及对大量标记训练数据的依赖。RNN 模型在家庭厨房环境噪音抑制上的应用和优化,尤其是对不同种类和强度噪音的处理,还缺乏深入的研究。本文旨在通过对RNN模型优化方面的研究,探索RNN 等算法在实际厨房环境中噪音处理的应用,在兼顾计算资源及语音识别度的同时,提高其噪音抑制性能。
传统的处理算法中,谱减法基于频谱域的操作,通过计算清晰语音和噪声的频谱差,得到去噪后的语音。这种方法对于稳态噪声处理效果显著,但在处理非静态噪声,尤其是背景噪声复杂、变化剧烈的厨房等环境,效果有限。Wiener 滤波器基于最小均方误差原理,提供了一种优化的线性滤波方法。然而,这种方法假设噪声为高斯白噪声,并且需要知道噪声和信号的功率谱密度,这在实际应用中往往很难获取,使得它在处理复杂噪声环境中的效果受限。
相较于上述传统技术,近年来,由于深度学习算法的巨大成功,现在趋向于用深度神经网络来解决整个问题,这种被称为端到端的模型,已应用于算力丰富的语音识别和语音合成解决方案。其中比较典型的是RNN 网络,由于其对语音等序列数据的处理能力,显示出了更好的适应性和效果,是其能够处理变化性强的噪声环境,已经被成功应用于语音增强和噪声抑制中[11]。这主要归功于RNN 的网络结构,能够捕捉长期的时间序列信息,从而使模型具有很好的动态适应性,这在厨房环境下尤其重要,因为这种环境的噪声往往具有高度的动态性和非静态特性,比如洗衣机、烟机、洗碗机、烤箱等的运转声音、马路的嘈杂声等等。
RNN 网络,主要分为LSTM 网络和门控循环单元(GRU)网络,都是RNN 的变种,均可用来处理序列数据,如语音和文本等。它们之间的主要差别在于网络结构和更新状态的方式。而GRU 模型,其主要优点和改进之处有以下几点:其一,更简单的模型结构,GRU 只有两个门(更新门和重置门),而LSTM 有三个门(输入门、遗忘门和输出门),这使得GRU 的结构相对简单,参数数量也较少,从而减少了模型的复杂性;其二,更快的训练速度,由于其结构相对简单且参数较少,GRU通常能够比LSTM 更快地进行训练,在处理大规模数据时,这种优势尤其明显;其三,减少梯度消失问题,虽然LSTM 和GRU 都设计来解决RNN 的梯度消失问题,但由于GRU 直接让隐藏状态与新的记忆拼接,在一定程度上进一步减少梯度消失的问题。基于以上几点,本文选择GRU 来构建RNN 网络,RNN 网络单元以及GRU网络单元结构如图1 所示[9]。
图1 RNN 及GRU 网络单元结构图
本文的出发点是结合神经网络和传统处理方式的优点,训练RNN 神经网络来学习音频信号的时间相关性和局部模式,以减少噪音的影响并恢复原始音频的清晰度,基于此可以对实时语音用训练后的网络模型进行前端降噪处理,而具体的语音识别则由语音识别模块去执行,因此方案的侧重点是在降噪的同时如何保持语音的可识别度。
在具体实施方案上,考虑到RNN 模型的复杂度,RNN 神经网络负责降噪处理,将采集的语音信号经MFCC 计算后输入RNN 网络,由RNN 网络进行训练,识别语音和噪音的特征,建立网络模型结构参数。训练结束后,实时含噪语音信号输入RNN 模型,经处理后输出降噪后的语音信号。
处理步骤中,梅尔频率倒谱系数MFCC(Mel Frequency Cepstral Coefficients)是一种广泛应用于语音识别和音频处理领域的特征提取技术[10]。MFCC 模拟了人耳在接收声音时的特性,能够有效地提取语音信号中的关键信息,其关键处理步骤包括预处理、分帧、加窗、FFT、Mel 滤波器组以及倒谱分析。基于RNN 模型的语音降噪处理示意框图如图2 所示。
图2 RNN 网络噪音信号处理框图
根据图2 所示RNN 网络噪音信号处理框图,建立具体处理流程,如下所示。
1)数据准备。收集一组包含噪音的音频文件作为训练数据集,文件包含训练数据需要的家庭厨房环境下语音控制信号和环境噪音的各种情况。在此阶段,为了增加数据多样性和模型的鲁棒性,可以应用一些数据增强技术,如随机添加噪音、改变音频音量等,进一步丰富样本集;
2)预处理。处理步骤包括去除静音区域,应用窗函数将语音文件分割成较小的帧,减少后续阶段的计算量,更方便对信号进行分析和处理;
3) 提取特征。使用梅尔频率倒谱系数(MFCC)来有效提取语音信号的频域信息;
4) 训练神经网络模型。使用门控循环单元(GRU)构建多层神经网络进行训练,目标是学习从输入特征MFCC 到输出增益的映射,用于区分语音和噪音,从而进行有效的滤波后处理;
5) 评估和优化。训练结束时需要评估滤波效果,并根据评估结果进行优化。评估方法包括主观听感评价和客观质量指标(如信噪比、PESQ、STOI 等)。在此基础上进行包括调整网络结构、优化训练参数、增强训练数据等的优化处理;
6) 滤波处理。使用训练好的模型对新的含噪音音频文件进行预测,输入噪音音频数据到模型中,模型将输出降噪后的音频数据。
为验证RNN 语音降噪模型的性能,在语音训练集上,考虑到样本的丰富性,采用微软语音库MS-SNSD 以及厨房实测语音组成训练样本,采样频率16 kHz,采样深度为16 位,训练样本经MFCC 处理后,以13 个MFCC分量,以及前10 个MFCC 特征的第一倒数和第二导数,共同组成33个语音识别特征量输入GRU网络进行训练,网络结构如图3 所示。
图3 RNN 降噪网络结构图
为进一步比对RNN 处理效果,对测试样本分别采用谱减法、维纳滤波以及RNN 模型进行滤波,结果如图4所示。
图4 滤波方法处理波形图
在完成滤波后,对滤波结果以PESQ、SNR、SegSNR、STOI 指标分别进行计算,结果如表1 所示。
表1 不同滤波算法性能评价结果
在评价指标中,SNR(Signal-to-Noise Ratio),是一个广泛用于信号处理领域的评价指标,用于衡量信号的强度与噪声的强度之间的比值,SNR 值越高,表示信号质量越好。根据结果,谱减法滤波器的SNR 最高,说明其在整体信号强度和噪声强度的比例上做得最好。
而SeqSNR(Segmental Signal-to-Noise Ratio),这也是一个衡量信号与噪声比例的指标,但它是在较短的时间段内计算SNR,然后取平均值,这能更好地反映人耳对噪声的感知。根据结果,谱减法滤波器的SeqSNR 也是最高的,说明在短时间内,谱减法滤波器做得最好。
PESQ(Perceptual Evaluation of Speech Quality)是一个基于人耳听觉特性的音频质量评价指标,越高的PESQ得分代表越好的音质。根据结果,RNN 方法的PESQ 分数最高,意味着在人耳的感知上,RNN 降噪方法给出了最好的音质。
STOI(Short Time Objective Intelligibility)是一个评价语音清晰度的指标,衡量的是语音内容能否被理解,值越高,代表语音的可理解性越好。根据结果,RNN 方法的STOI 得分最高,意味着RNN 方法对于语音的可理解性做出了最好的贡献。
综合以上指标值,可以看到这三种方法中,没有哪一种算法在所有指标上都表现最好。RNN 方法在人耳感知上(PESQ 和STOI)表现最好,但在信噪比(SNR 和SeqSNR)上却较差。而谱减法滤波器在信噪比上表现最好,但在人耳感知上表现较差。这正说明在降噪方法方面,RNN 滤波算法更关心的是语音的可理解性,以方便后续的语音识别模块进行处理,达到了本文中方案的设计要求。
本文结合传统降噪方法和机器学习算法所构建的RNN 滤波模型,综合了深度学习和传统信号处理的优点,从处理结果来看,有较高的可行性和效果。但在实际应用中,由于家庭厨房环境的复杂性,还有进一步调整和优化的空间,例如选择合适的网络结构、调整训练参数、处理实时性等,这都是接下来需要进一步研究和探索的方向。另外,自注意力机制(Self-Attention)在处理序列数据上,尤其是在处理语音信号等长序列数据上,有很大的优势,未来可以尝试在RNN 滤波模型中引入自注意力机制,更好地捕捉序列的特征来改善模型的性能。