HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

用于改进的实时音频处理的系统、方法和计算机可读介质与流程

2021-01-28 14:01:08|288|起点商标网
用于改进的实时音频处理的系统、方法和计算机可读介质与流程

本公开涉及改进实时音频质量、语音识别和/或语音检测的音频处理。具体地,本公开涉及使用统计信号处理算法、机器学习、时域信息、频域信息、和/或转换域信息来改进增强和/或音频数据中的语音和噪声的检测的实时音频处理。



背景技术:

语音增强技术可以采用统计信号处理算法,即使在未知噪声条件下,该算法也可以提高计算效率并且提高语音质量。这种语音增强技术可以优选用于可能存在未知噪声条件的不可预测环境中的部署。但是,采用统计信号处理算法的语音增强技术可能无法抑制非平稳噪声。基于深度学习的算法可以克服无法抑制非平稳噪声的问题。但是,基于深度学习的算法在面对未被捕获在训练数据集中的噪声条件时可能表现不佳。

因此,将采用统计信号处理算法的语音增强技术的优点与基于深度学习的算法相组合的单通道语音增强技术可以在既未知又非平稳的噪声条件下实现改进的侦听质量和识别准确性。通过将有噪声的输入声谱图特征与增益向量(也称为抑制规则)相乘,可以使用采用统计信号处理算法的语音增强技术来产生输入数据的中间表示。输入数据的中间表示然后可以通过基于深度学习的算法(诸如基于长短期记忆(“lstm)”单元的递归神经网络)进行处理。此外,可以训练基于lstm单元的递归神经网络以共同学习两个目标:对干净语音特征的直接估计和降噪掩码。

基于深度学习的其他算法可以包括用于语音增强的基于卷积神经网络和递归神经网络的端到端模型。端到端模型可以是数据驱动的,并且可以不对噪声的类型或噪声的平稳性做出任何假定。采用卷积和递归神经网络架构都可以允许在时域、频域和/或转换域中利用局部结构。此外,通过将语音信号的先验知识合并到模型结构的设计中,这样的端到端模型可以具有更高的数据效率,并且可以实现对见过的噪声和未见过的噪声的更好泛化。

尽管本公开具体地讨论了音频处理,但是本公开的各方面不仅可以适用于音频处理,而且还可以适用于回归处理和分类问题。



技术实现要素:

根据某些实施例,公开了用于改进的实时音频处理的系统、方法和计算机可读介质。

根据某些实施例,公开了一种用于经改进的实时音频处理的计算机实现的方法。一种方法包括:接收具有多个频率区间(frequencybin)的、包括多个帧的音频数据;针对每个频率区间,基于多个帧计算近似语音信号估计;针对每个近似语音信号估计,使用经训练的神经网络模型计算干净语音估计和包括理想比率掩码的至少一个附加目标;以及针对每个频率区间,使用包括所计算的理想比率掩码的所计算的至少一个附加目标和所计算的干净语音估计来计算最终干净语音估计。

根据某些实施例,公开了一种用于经改进的实时音频处理的系统。一种系统包括:存储用于经改进的实时音频处理的指令的数据存储设备;以及被配置为执行指令以执行方法的处理器,该方法包括:接收具有多个频率区间的、包括多个帧的音频数据;针对每个频率区间,基于多个帧计算近似语音信号估计;针对每个近似语音信号估计,使用经训练的神经网络模型计算干净语音估计和包括理想比率掩码的至少一个附加目标;以及针对每个频率区间,使用包括所计算的理想比率掩码的所计算的至少一个附加目标和所计算的干净语音估计来计算最终干净语音估计。

根据某些实施例,公开了一种存储指令的计算机可读存储设备,该指令在由计算机执行时引起计算机执行用于经改进的实时音频处理的方法。一种计算机可读存储设备的方法包括:接收具有多个频率区间的、包括多个帧的音频数据;针对每个频率区间,基于多个帧计算近似语音信号估计;针对每个近似语音信号估计,使用经训练的神经网络模型计算干净语音估计和包括理想比率掩码的至少一个附加目标;以及针对每个频率区间,使用包括所计算的理想比率掩码的所计算的至少一个附加目标和所计算的干净语音估计来计算最终干净语音估计。

所公开的实施例的其他目的和优点将在下面的描述中部分地阐述,并且部分地将从该描述中变得很清楚,或者可以通过实践所公开的实施例而获知。所公开的实施例的目的和优点将通过所附权利要求中特别指出的元件和组合来实现和获取。

应当理解,前面的一般描述和下面的详细描述都只是示例性和说明性的,并且不限制所要求保护的公开实施例。

附图说明

在下面的详细描述过程中,将参考附图。附图示出了本公开的不同方面,并且在适当的情况下,示出了不同附图中的相似结构、组件、材料和/或元件的附图标记被相似地标记。应当理解,除了具体示出的那些以外的结构、组件和/或元件的各种组合是可以预期的并且在本公开的范围内。

此外,本文中描述和示出了本公开的很多实施例。本公开既不限于任何单个方面或其实施例,也不限于这些方面和/或实施例的任何组合和/或排列。而且,本公开和/或其实施例的每个方面可以单独使用,或者与本公开和/或其实施例的一个或多个其他方面结合使用。为了简洁起见,本文中不单独讨论和/或图示某些排列和组合。

图1描绘了根据本公开的实施例的深度学习框架的框图;

图2描绘了根据本公开的实施例的lstm-mt模型的结构,其是基于lstm的多目标深度学习块;

图3a-3e描绘了根据本公开的实施例的使用不同增强方法的声谱图;

图4描绘了根据本公开的实施例的卷积递归神经网络的模型架构;

图5a-5f描绘了根据本公开的实施例的有噪声的和干净声谱图、以及使用不同模型的去噪声谱图。

图6描绘了根据本公开的实施例的用于训练深度神经网络以用于经改进的实时音频处理的方法600;

图7描绘了根据本公开的实施例的可以根据本文中公开的系统、方法和计算机可读介质来使用的示例性计算设备的高级图示;以及

图8描绘了根据本公开的实施例的可以根据本文中公开的系统、方法和计算机可读介质来使用的示例性计算系统的高级图示。

再次,本文中描述和示出了很多实施例。本公开既不限于任何单个方面或其实施例,也不限于这样的方面和/或实施例的任何组合和/或排列。本公开和/或其实施例的每个方面可以单独使用,或者与本公开和/或其实施例的一个或多个其他方面结合使用。为了简洁起见,本文中没有单独讨论很多那些组合和排列。

具体实施方式

本领域技术人员将认识到,可以根据说明书来实践本公开的各种实现和实施例。所有这些实现和实施例旨在被包括在本公开的范围内。

如本文中使用的,术语“包括(comprises)”、“包括(comprising)”、“具有(have)”、“具有(having)”、“包括(include)”、“包括(including)”或其任何其他变型旨在覆盖非排他性的包括,使得包括一系列元素的过程、方法、物品或装置不仅仅包括这些元素,而且还可以包括未明确列出或这样的过程、方法、物品或装置固有的其他元素。术语“示例性”在“示例”而不是“理想”的意义上使用。另外,术语“或”旨在表示包括性“或”而不是排他性的“或”。也就是说,除非另有说明或从上下文中清楚得知,否则短语“x使用a或b”旨在表示任何自然的包括性排列。例如,短语“x使用a或b”在以下任何情况下均满足:x使用a;x使用b;或者x同时使用a和b。此外,除非另外指定或从上下文中清楚得知指向单数形式,否则本申请和所附权利要求书中使用的冠词“一个(a)”和“一个(an)”通常应当解释为表示“一个或多个”。

为简洁起见,与系统和服务器有关的用于执行方法的常规技术和系统和服务器的其他功能方面(以及系统的各个操作组件)可能在本文中没有详细描述。此外,本文中包含的各个附图中所示的连接线旨在表示各个元件之间的示例性功能关系和/或物理耦合。应当注意,在主题的实施例中可以存在很多备选和/或附加的功能关系或物理连接。

现在将详细参考本公开的示例性实施例,其示例在附图中示出。在所有附图中,将尽可能使用相同的附图标记表示相同或相似的部件。

除其他事项以外,本公开总体上涉及一种方法,该方法有效地将采用统计信号处理算法的语音增强技术与用于音频处理任务(诸如语音增强和/或语音识别)的深度学习技术相结合。音频信号可能会被背景噪声和/或干扰损坏。采用统计信号处理算法的语音增强技术可以能够去除这些背景噪声和/或干扰,这可以提高人和/或自动语音识别(“asr”)引擎的可理解度。

采用统计信号处理算法的语音增强技术可以在转换域(诸如频域)中工作,转换域可以是通过将时域信号分解为重叠帧,对重叠帧进行加权,并且利用短时傅立叶变换(“stft”)对重叠帧进行变换而产生的表示。这些信号处理算法可以基于语音的所估计的存在和/或噪声的所估计的存在将时变的实值抑制增益应用到每个频率区间。时变的实值抑制增益的范围可以在0到1之间,其中0表示只有噪声,而1表示只有语音。

为了估计抑制增益,可以假定噪声和语音信号幅度具有高斯分布,并且噪声变化比语音信号慢。可以建立具有针对每个频率区间的噪声方差的噪声模型。噪声模型可以通过使用话音活动检测器(“vad”)来建立。抑制规则(suppressionrule)可以是先验和后验信噪比(“snr”)的函数。这样的抑制规则可以包括在均方误差方面最优的wiener抑制规则、声谱幅度估计器、最大似然幅度估计器、短期最小均方误差(“mmse”)估计器、以及对数谱最小均值平方误差(“对数mmse”)估计器。此外,对于mmse估计器,可以计算作为当前和先前帧的最大似然估计的几何平均值的先验snr,这可以称为判决导引方法(“dda”)。在估计幅度之后,可以使用重叠和相加将信号转换回时域。这些技术可以适配噪声水平,并且在准平稳噪声下表现良好,但是脉冲非语音信号可能无法被抑制。

当使用基于大规模深度神经网络的数据驱动方法建立系统时,用于训练系统的干净数据与在部署系统时遇到的有噪声的数据之间可能会不匹配。因此,语音增强算法可以用作预处理模块,该模块有助于在音频数据被馈送到这些系统中之前减少语音信号中的噪声。

通过对底层(underlying)噪声的性质进行假定,基于统计的方法(包括声谱减法、最小均方误差对数谱方法等)可以获取针对噪声抑制的解析解。但是,由于这些不切实际的假定,基于统计的方法可能无法建立近似真实世界中的复杂场景的估计器。结果,可能在恢复的信号中引入附加的噪声伪像。因此,与仅基于统计的方法相比,使用基于回归的深度神经网络的数据驱动方法可以显著提高性能。

监督式学习框架可以解决上面讨论的问题,其中可以训练深度神经网络(“dnn”)以从输入映射到输出特征。可以采用回归dnn,使用基于映射的方法直接根据有噪声的声谱预测干净声谱。具有两个输出的dnn结构可以同时估计目标语音和干扰。此外,dnn可以估计理想掩码,该理想掩码包括针对每个时频(tf)区间(bin)的理想二进制掩码(“ibm”)(如果snr高于预定阈值,则可以分配为1,否则为0)和针对每个tf区间的理想比率掩码(“irm”)(其可以定义为目标信号与混合信号的功率之间的比率)。irm可以表示噪声抑制器中的抑制规则,并且估计irm可能会比估计ibm带来更好的语音增强性能。

尽管上述技术可以基于全连接的dnn,其中可以不明确地建模邻近帧之间的关系,但是递归神经网络(rnn)可以使用先前帧与当前帧之间的递归结构来捕获长期上下文信息,这可以做出更好的预测。此外,长短期记忆递归神经网络(“lstm-rnn”)可以用于语音增强,这可以在低snr时提供改进的降噪表现。

深度神经网络(诸如使用多层感知器(“mlp”)的深度神经网络)可以作为通用非线性函数近似器应用于从有噪声的话语(utterance)到干净版本的近似映射。然后可以使用数值方法优化基于多元回归的目标来拟合模型参数。为了捕获语音信号的时间特性,递归神经网络可以去除对mlp中上下文窗口的明确选择的需求。

如下面更详细的讨论,在基于用于语音增强的卷积神经网络和递归神经网络的端到端模型中,网络可以是数据驱动的,并且网络可能不会对底层噪声做出任何假定。卷积递归神经网络可以包括三个组件:(i)卷积组件,其可以利用空间和时间域中的声谱图中的局部图案(pattern);其次(ii)双向递归组件,其可以对连续帧之间的动态相关性进行建模;最后(iii)预测干净声谱图的全连接层。

由于卷积核的稀疏性,与mlp和rnn相比,卷积递归神经网络可能更具数据效率,并且在计算上更易于处理。此外,双向递归组件可以允许卷积递归神经网络自适应地对连续帧之间的动态相关性进行建模,这可以实现对见过的噪声和未见过的噪声的更好泛化。

在下面描述的本公开的实施例中,混合方法可以将噪声抑制的优点(诸如减轻准平稳噪声)与神经网络(诸如lstm或卷积递归神经网络)的性能(用于抑制快速变化的噪声和干扰信号)组合。例如,首先,可以通过将统计信号处理算法与基于深度学习的语音增强相组合来增强语音,从而减少平稳噪声,其中记为近似语音信号估计(“asse”)。可以使用判决导引方法来将抑制规则估计为来自先前帧的抑制规则与使用估计技术针对当前帧的估计的几何平均值,并且干净语音估计器可以保留语音资格(qualify),但也可能留下噪音和干扰。然后,基于lstm的直接映射回归模型可以用来根据经增强的语音估计干净语音和抑制规则。输出可以是所估计的干净语音和/或将抑制规则应用于有噪声的语音中的一种或两种。备选地和/或另外地,可以使用卷积递归神经网络根据经增强的语音估计干净语音和抑制规则。

图1描绘了根据本公开的实施例的深度学习框架的框图。在深度学习框架的训练阶段,可以使用训练数据集的对数功率谱(“lps”)作为输入特征并且使用干净lps和irm作为参考来训练lstm多样式(“lstm-mt”)模型。如图1所示,lstm-lps和lstm-irm可以分别标记在lstm-mt的两个输出处的所估计的干净lps和irm。

在增强阶段,针对第l音频帧的增强过程可以分为三个连续步骤。在第一步骤(其可以记为近似语音信号估计(“asse”)(如下所述))中,可以通过计算和应用抑制规则来对有噪声的lps进行预处理,这可以产生干净语音近似估计y(l)。在第二步骤中,经训练的lstm-mt神经网络可以使用y(l)产生干净语音的估计和irm的估计m(l)。在第三步骤中,可以使用所估计的irmm(l)和近似的干净语音估计y(l)来估计输出语音信号z(l)。

在噪声抑制中(诸如使用统计信号处理算法),先验和后验snr可以发挥关键作用,其分别记为ξ(k,l)和γ(k,l),并且可以定义如下:

其中λ(k,l)可以标记针对时间帧l和频率区间k的噪声方差,x(k,l)可以是有噪声的信号的短时傅立叶变换(“stft”)。

由于干净语音幅度可能未知,因此可以使用以下判决导引方法估计干净语音幅度:

在此,可以利用连续的语音帧高度相关的这一事实,这可以允许使用根据先前帧的干净语音幅度估计。在大多是噪声的地方,输出可能是0,而在大多是语音的地方,输出可能要高得多。

因此,抑制规则可以是先验和后验snr的函数,如下:

g(k,l)=g(γ(k,l),ξ(k,l))(3)

然后,可以将所估计的抑制规则应用于有噪声的信号以接收干净语音估计,如下:

在每个帧的处理之后,可以更新噪声模型:

其中t可以是帧步长,τn可以是自适应时间常数,p(k,l)可以是语音存在概率。最后一个可以由vad估计和/或由抑制规则g(k,l)近似。

在处理输入数据以进行噪声抑制(诸如使用统计信号处理算法)以估计先验和后验snr(分别记为上式(2)和(1)中的ξ(k,l)和γ(k,l))之后,可以估计抑制规则g(k,l)(公式(3)。然后,可以将抑制规则与可以由lstm-mt估计的irm进行组合,并且可以如下计算近似语音信号估计(“asse”)作为针对lstm-lps的预处理:

y(k,l)=log[δm(k,l)+(1-δ)g(k,l)]+x(k,l)(6)

为了与lps一起工作,可以使用抑制规则的对数,并且公式(4)的乘法变为求和。公式如图1所示,在推理期间,可以先运行lstm-irm模型以单独估计irm。然后,如公式(6)所示,可以组合所估计的irm。因此,神经网络模型可以在同一数据帧上运行两次,即,一次用于估计irm,而另一次用于lps。

图2描绘了根据本公开的实施例的lstm-mt模型的结构,其是基于lstm的多目标深度学习块。可以训练基于lstm的多目标深度学习块以学习从有噪声的lps特征到干净lps的复杂变换以及irm。

lstm可以充分利用沿若干个邻近音频帧的段和所有频率区间的声音上下文信息,以在不利环境中获取lps和irm估计。所估计的irm可以被限制在0到1之间的范围内,其中0可以表示仅存在噪声,而1可以表示仅存在语音。所估计的irm可以直接用于表示语音存在概率。作为学习目标的irm可以被定义为在对应t-f区间中的干净语音和有噪声的语音的功率的比例,如下:

如图2所示,神经网络可能需要具有分别已知的干净语音和噪声信号的合成数据集,以便进行训练。为了训练lstm-mt模型,可以使用监督式微调来使lstm-lps输出与参考lpss(k,l)以及lstm-irm输出m(k,l)与参考irmmref(k,l)之间的均方误差(“mse”)最小化,其可以定义如下:

在小批量模式下,可以使用基于随机梯度下降的反向传播方法使mse最小化。

lstm-irm输出m(k,l)可以经由lps域中的简单加权平均运算而用于如下的后处理:

z(k,l)=ηy(k,l)+(1-η){x(k,l)+log[m(k,l)]}(9)

输出z(k,l)可以被直接馈送到波形重构模块。lps域的输出可能比线性声谱域的输出更有效。下面的算法中总结了所组合的噪声抑制和基于lstm的方法。

尽管图1和2描绘了神经网络框架,但是本领域技术人员将意识到,可以关于模型执行神经网络,并且可以包括以下阶段:模型创建(神经网络训练)、模型验证(神经网络测试)和模型利用(神经网络评估),尽管这些阶段可能不会互相排斥。根据本公开的实施例,可以通过训练、推理和评估阶段来实现神经网络。可以利用有噪声的语音声谱图窗口。对于基线深度神经网络,如图2所示,模型可以具有1792个神经元的输入层、两个中间(隐藏)层(lstm层1和lstm层2)(每个层包括1024个神经元)、以及具有256个神经元的两个输出层。

至少一个服务器可以执行本文中描述的音频处理系统的机器学习组件。如本领域技术人员将理解的,可以关于模型进行机器学习,并且机器学习可以包括至少三个阶段:模型创建、模型验证、和模型利用,尽管这些阶段可能不是互相排斥的。如以下更详细讨论的,模型创建、验证和利用可以是机器学习的持续过程。

对于机器学习,模型创建阶段可以涉及从训练数据集的有噪声的语音中提取特征。机器学习组件可以监测进行中的音频数据以从有噪声的语音中提取特征。如本领域技术人员将理解的,这些所提取的特征和/或其他数据可以从基于模式的对随时间收集的大量数据的统计分析和机器学习技术中得出。基于对该监测的观察,机器学习组件可以创建用于从音频数据中提取特征的模型(即,一组规则或试探法)。如上所述,可以训练深度神经网络以使平方误差最小化。

在机器学习的第二阶段,可以验证在模型创建阶段创建的模型的准确性。在该阶段期间,机器学习组件可以监测来自测试数据集的有噪声的语音,从测试数据集中提取特征,并且将这些提取的特征与由模型做出的预测标签进行比较。通过持续跟踪和比较该信息并且在一段时间内,机器学习组件可以确定模型是否准确地预测音频数据的哪些部分可能是噪声和/或语音。这种验证通常以准确性来表达:即,模型预测标签的时间的百分比是多少。可以将关于由模型进行的预测的成功或失败的信息反馈到模型创建阶段以改进模型,并且从而改进模型的准确性。

为了进行性能比较,获取各种音频处理技术的性能指标。如下所示,表1提供了采用不同的方法和测试集的百分比的字错误率(“wer”)、百分比的句错误率(“ser”)、和语音质量的感知评估(“pesq”)(范围为1到5,其中1是差,5是优异)的比较。

表1

机器学习的第三阶段可以基于经过验证达到预定阈值准确度的模型。例如,被确定为具有至少50%的准确率的模型可以适用于利用阶段。根据本公开的实施例,在该第三利用阶段,机器学习组件可以从音频数据中提取特征,其中该模型建议存在噪声和/或语音。在遇到音频数据中的语音和/或其他数据时,该模型建议语音可能存在并且可以存储为数据段。当然,基于对各种所存储数据段的确认或拒绝的信息可以作为用于完善模型的数据返回到前两个阶段(验证和创建),以提高模型的准确性。

如本文中使用的,用于评估语音增强算法的数据集被合成生成。干净的语音语料库包括134个录音,每个录音有以大致相同的比例的由男性、女性和儿童声音发音的10个单句话语。这些录音的平均持续时间约为1分30秒。噪声语料库包括377个记录,每个记录持续5分钟,表示25种类型的噪声(机场、咖啡厅、厨房、酒吧等)。使用了在t60=300ms并且扬声器与麦克风之间的距离在1-3米之间变化的情况下从房间获取的48个房间脉冲响应(“rir”)。为了生成有噪声的文件,随机选择干净语音文件,并且根据人类话音响度模型设置干净的语音文件的级别(高斯分布μs=65dbspl@1m,σs=8db)。然后随机选择rir,并且将语音信号与rir卷积以生成回响的语音信号。最后,随机选择噪声文件,根据房间噪声模型设置噪声文件的级别(高斯分布μn=50dbspl,σn=10db),并且然后将噪声文件添加到回响的语音信号中。

所得到的文件snr可以限制在[0,+30]db的范围。所有信号均以16khz采样率采样并且以24位准确性存储。假定麦克风的削波电平为120db。使用这种方法,生成了7,500个用于训练的有噪声的文件、150个用于验证的有噪声的文件、和150个用于测试的有噪声的文件。训练数据集的总长度为100小时。

如表1所示,为了评估输出信号质量(如人类所感知的),使用pesq算法。pesq被标准化为iut-t建议p.862。对于语音增强算法的测试,使用基于dnn的语音识别器。如上所述,使用字错误率(“wer”)和句错误率(“ser”)来评估语音识别结果。

对于lstm-mt网络的结构和训练,帧长和移位分别为512和256个样本,其产生针对每个帧的256个频率区间。可以将对数功率谱计算为特征,并且保留相位以进行波形重构。可以通过展平声谱图的对称七个帧窗口来准备对lstm-mt网络的输入特征。七帧声谱图窗口包括当前帧之前的三个帧和当前帧之后的三个帧。

如上所述,lstm-mt模型可以具有包括1792个神经元的输入层(用于lps输入特征的256*7维向量)、两个中间(隐藏)层(lstm层1和lstm层2,如图2所示)(每个中间(隐藏)层包括1024个神经元)、以及两个输出层(每个输出层包括256个神经元(合512个))。512个神经元分别用于输出tflps和irm,两个256维特征向量用于lps和irm目标。

整个深度神经框架可以使用计算网络工具包(“cntk”)实现,并且模型参数可以随机初始化。对于前十个时期,学习速率可以被初始化为0.01,并且然后在每个时期之后可以降低0.9。时期的数目可以固定为45。每个随时间反向传播(“bptt”)段可以包括16个帧和16个话语,其可以同时进行处理。

对于噪声抑制器,在公式(2)中可以使用α=0.9,在公式(5)中可以使用时间常数τn=1sec,在公式(6)中可以使用加权平均δ=0.5,可以在公式(9)中使用η=0.5。对于公式(3)中的抑制规则估计,可以使用对数mmse抑制规则。

如上所述,实验结果在表1中给出。图3a-3e描绘了根据本公开的实施例的使用不同增强方法的声谱图。

表1的第1行中的“没有处理”包含对没有进行任何处理的数据集的评估,这可以提供基线数字以用于与不同增强方法进行比较。基线数字包括15.86%的wer和2.65的pesq。如表1的第2行所示,应用噪声抑制器,wer可以降低到14.24%,pesq可以增加到2.69。

表1的第2行和第4行列出了针对lps的直接估计的平均wer、ser和pesq。在第一情况下(表1的第2行),对lstm-mt网络的输入可以是有噪声的信号。在第二情况下(表1的第4行),对lstm-mt网络的输入可以是在使用经典噪声抑制器进行处理之后的输入。在第一情况下,wer可以降低到10.34%,而pesq可以增加到3.37。使用噪声抑制与lstm一起之后的结果的变差可以忽略不计。

表1的第5行示出了将通过lstm-irm从有噪声的语音中估计的irm与噪声抑制方法结合起来时基于近似语音信号估计(“asse”)的结果。wer可以降低到12.63%,pesq可以增加到2.71。

表1的第6行中示出了使用基于asse的经增强的语音作为对lps的直接估计的预处理的结果。lstm-mt神经网络的lps输出可以用于波形合成,并且wer可以降低到9.22%,pesq可以增加到3.41。

最后,表1的第7行描绘了将噪声抑制与lstm-mt相组合的完整算法的结果,如上所述。lstm-mt神经网络的irm输出可以用于波形合成以估计z(l)(如公式(9)中所述),并且wer可以降低到8.29%,这是相对wer的47.73%的改进。此外,实质上使用该算法,pesq增加到3.30。

如上所述,图3a-3e描绘了根据本公开的实施例的使用不同增强方法的经处理话语的声谱图。特别地,图3a和3b分别描绘了噪声和干净语音信号的声谱图。图3c和3d描绘了由以irm作为抑制规则的lstm-mt以及噪声抑制器方法处理的语音声谱图。如图3c所示,lstm-mt方法可能会破坏目标语音声谱,而噪声抑制器(图3d)的攻击力可能较小并且可能使得噪声和干扰未被抑制。图3e描绘了由具有预处理的lstm-mtlps估计方法处理的语音的声谱图。如图3e所示,具有预处理的lstm-mtlps估计方法可以获取目标语音并且可以抑制背景噪声。因此,本公开的实施例提供了具有lstm深度学习网络的噪声抑制器的优点。

转向使用卷积递归神经网络代替lstm深度学习网络时,可以利用卷积递归神经网络根据经增强的语音估计干净语音和抑制规则。如上所述,卷积递归神经网络可以包括三个组件:(i)卷积组件,其可以在空间和时间域中利用声谱图中的局部图案;其次(ii)双向递归组件,其可以对连续帧之间的动态相关性进行建模;最后(iii)预测干净声谱图的全连接层。

图4描绘了根据本公开的实施例的卷积递归神经网络的模型架构。在卷积递归神经网络的卷积组件中,有噪声的声谱图可以与核卷积在一起以形成特征图,然后这些特征图被联接以形成2d特征图。在双向递归组件中,可以通过双向rnn沿时间维度转换2d特征图。然后,在最后一个组件中,可以使用全连接的网络逐帧预测声谱图。因此,可以通过定义预测声谱图与干净声谱图之间的损失函数来端到端地训练卷积递归神经网络。

卷积递归神经网络可以使用归纳偏置(inductivebias)来解决音频增强问题。音频增强问题可以是多元回归问题,其中非线性回归函数可以由网络参数化,如图4所示。备选地,整个卷积递归神经网络可以被解释为用于频域中的降噪的复杂滤波器。

卷积递归神经网络解决的问题可以表述为:有噪声的声谱图可以是其对应的干净版本可以是其中d可以是每个帧的维数(声谱图中的频率区间的数目),t可以是声谱图的长度。给定训练数据集包括n对有噪声的声谱图和干净声谱图中,语音增强问题可以公式化为找到映射该映射将有噪声的话语映射到干净声谱,其中gθ可以用θ进行参数化。然后,可以解决以下优化问题以找到最佳模型参数θ,如下:

在该设置下,关键是找到用于去噪函数gθ的参数族,使得其既丰富又有效。

去噪函数可以是多层感知器(“mlp”)。但是,尽管是通用函数近似器,但是mlp的全连接的网络结构可能无法利用声谱图中存在的丰富图案。例如,如图4所示,声谱图中的信号可以沿时间维度是连续的,并且它们在邻近频率区间中也可以具有相似的值。因此,卷积神经网络可以被应用来从输入声谱图中有效地提取局部图案。

可以是大小为b×w的卷积核,特征图hz可以是声谱图x与核z的卷积,之后是逐元素非线性映射σ:hz(x)=σ(x*z)。σ(a)=max{a,0}可以被选择为整流线性函数(“relu”),因为其在减轻梯度消失问题方面可以很有效。每个这样的卷积核z可以产生2d特征图,并且k个单独的卷积核可以被应用于输入声谱图,这可以导致2d特征图的汇集

在没有填补并使用单位步幅的情况下,每个特征图hz(x)的大小可以为(d-b+1)×(t-w+1)。但是,为了恢复原始语音信号,模型的最终预测可以在时间维度上具有与输入声谱图的长度完全相同的长度。因此,w可以选择为奇数整数,并且在可以向x应用卷积之前在x的两侧应用大小为的零填补,这可以确保特征图hz(x)具有t个时间步长,以与x的时间步长相匹配。

相反,由于声谱图在邻近频率区间中的局部相似性,当与核z卷积时,可以沿频率维度使用大小为b/2的步幅。如以下详细讨论的,这种设计可以减少卷积递归神经网络的递归组件中所需要的参数的数目和计算,而不会损失任何预测准确性。

因此,卷积核的应用可能非常适合于频域中的语音增强,因为每个核都可以被理解为检测存在于有噪声的声谱图中的特定种类的局部图案的非线性滤波器,并且核的宽度具有作为上下文窗口的长度的自然解释。此外,在计算侧,由于卷积层也可以被理解为具有共享和稀疏连接权重的全连接层的特例,因此卷积的引入可以减少具有相同表达能力的mlp所需要的计算。

卷积递归神经网络的双向递归组件可以用于自动建模有噪声的声谱图中的邻近帧之间的动态相关性。双向递归神经网络(“brnn”)可以包括双向的递归连接。卷积组件的输出可以是k个特征图的汇集在将特征图馈送到brnn中之前,可以如下将k个特征图中的每个转换为2d特征图:

换言之,可以沿特征维度垂直地联接以形成包括来自先前的卷积特征图的所有信息的堆叠的2d特征图h(x)。

在卷积递归神经网络中,如上所述,深度双向长期短期记忆(lstm)由于其可以建模长期交互的能力而可以用作递归组件。在每个时间步长t,给定输入ht:=ht(x),每个单向lstm单元可以使用其内部门计算隐藏表示如下:

其中s(.)是sigmoid函数,⊙表示逐元素乘积,it、ot和ft分别为输入门、输出门和遗忘门。双向lstm的隐藏表示可以是的联接:为了构造深度双向lstm,可以将附加lstm层在顶部彼此堆叠。

对于卷积递归神经网络的全连接组件,可以是双向lstm层的输出。为了获取所估计的干净声谱图,可以应用带有截断的线性回归来确保预测位于非负象限中,并且因此对于每个t,如下:

如上所述,最后一步可以是定义预测声谱图与干净声谱图y之间的均方误差,并且同时优化所有模型参数。具体地,可以使用具有计划(scheduled)学习速率的adadelta以确保稳态解。

为了证明卷积递归神经网络(“crnn”)在语音增强方面的有效性,创建了合成数据集,该合成数据集包括分别用于训练数据集、验证数据集和测试数据集的7,500、1,500和1,500个录音(干净/有噪声的语音)。通过将随机选择的干净语音文件与可用的48个房间脉冲响应之一进行卷积并且添加随机选择的噪声文件来合成每个录音。干净语音语料库包括150个文件,其包含带有男性、女性和儿童声音的十种话语。噪声数据集由表示25种不同类型的噪声的377个记录组成。针对在1-3米之间的距离测量房间脉冲响应。32个文件的辅噪声数据集(其中的噪声未出现在训练数据集中)被表示为未见过的噪声,并且用于生成1,500个文件的另一测试数据集。随机生成的语音和噪声级别提供0到30db之间的信噪比。所有文件均以16khz采样率采样并且以24位分辨率存储。

作为预处理步骤,我们首先使用短时傅立叶变换(“stft”)从每个话语中提取声谱图,并且声谱图具有256个频率区间(d=256)和约500帧(t≈500帧)。为了充分地测量卷积递归神经网络在语音增强方面的增强质量,使用了5个指标来评估不同模型:信噪比(“snr”,db)、对数谱失真(lsd,db)、时域上的均值平方误差(“mse”)、字错误率(“wer”,%)和pesq度量。为了测量wer,使用了基于dnn的语音识别器。在实验过程中,系统保持固定(未微调)。将卷积递归神经网络与各种语音增强系统进行了比较,各种语音增强系统包括microsoft(“ms”)内部语音增强系统、dnn-symm、dnn-casual和rnn-ng。

ms(在生产中使用的microsoft内部语音增强系统)使用基于统计的增强规则的组合。dnn-symm包括3个隐藏层,所有这些隐藏层均具有2048个隐藏单元,并且使用大小为11的对称上下文窗口。dnn-casual与dnn-symm类似,包括3个大小为2048的隐藏层,但不是对称的上下文窗口,并且使用大小为7的随意(casual)上下文窗口。rnn-ng是递归神经网络,具有3个大小为500的隐藏层,并且每个时间步长的输入覆盖长度为3的上下文窗口中的帧。

表2描绘了以5种不同的指标在具有见过的噪声和未见过的噪声的合成数据集上进行评估的实验结果。有噪声的语音可以对应于未经增强而获取的得分,而干净语音可以对应于使用地面事实(groundtruth)干净语音而获取的得分。对于每个指标,达到最佳性能的模型以粗体突出显示。如下表所示,在表2中,利用以下指标示出了比较:信噪比(“snr”)(以db为单位)、对数谱失真(“lsd”)(以db为单位)、均方误差(“mse”)、百分比的字错误率(“wer”)、以及语音质量的感知评估(“pesq”)(范围为1到5,其中1是较差,5是优异)。

表2

卷积递归神经网络的架构可以如下:卷积组件可以包括256个大小为32×11的核,沿频率和时间维度的步幅分别为16×1。在卷积组件之后可以使用两层双向lstm,每层lstm可以具有1024个隐藏单元。

为了训练卷积递归神经网络,可以将时期数固定为200个,每60个时期具有计划的学习速率{1.0,0.1,0.01}。对于每种方法,如上面的表2和下面的图5b-5e所示,使用验证数据集进行早期停止并且保存在验证数据集上的最佳模型以用于对测试数据集进行评估。

卷积递归神经网络可以不被过拟合,因为权重衰减和丢失(dropout)都可能损害最终性能。较深的卷积递归神经网络可以与更多层的双向lstm一起使用。此外,减少卷积递归神经网络在频率维度上的卷积步幅可能不会显著提高性能,并且可能会带来其他计算。

如表2所示,在带有见过的噪声的测试数据集上,卷积递归神经网络可能始终优于包括ms、dnn-symm、dnn-casual和rnn-ng在内的各种语音增强系统。具体地,卷积递归神经网络能够将pesq测度提高0.6个点,而不会降低识别准确性,作为一个潜在的asr系统,作为黑匣子,并且在实验过程中没有对其进行微调,这是出乎意料的。作为比较,尽管所有各种语音增强系统都可以提高snr比,但是各种语音增强系统都可以降低识别准确性。此外,卷积递归神经网络也可以泛化到未见过的噪声,并且卷积递归神经网络可以在感知质量上实现更大的提升(0.64),同时可以提高识别准确性。

将来自不同模型的去噪声谱图可视化以提供对实验结果的更好理解。图5a-5f描绘了根据本公开的实施例的有噪声的和干净的声谱图以及使用不同模型的去噪声谱图。具体地,图5a和5f分别描绘了有噪声的语音声谱图和干净的语音声谱图。

如图5b所示,ms的去噪声谱图可以是卷积递归神经网络和其他各种语音增强系统之中最保守的算法。通过不去除很多噪声,ms算法也可以将大多数真实信号保留在语音中。但是,尽管基于dnn的方法可以去除背景噪声,但是基于dnn的方法也可以从声谱图中消除真实的语音信号。因此,基于dnn的方法可能会降低识别准确性,如表2所示。与基于dnn的方法相比,基于rnn的方法可能有所改进,但是基于rnn的方法也可能无法保持在低频率区间中的真实信号。如图5e所示,卷积递归神经网络可以提供改进的背景噪声去除,并且可以保留干净的语音信号。与分别示出了基于dnn的方法和基于rnn的方法的去噪声谱图的图5c和5d相比,卷积递归神经网络可以证明改进了对高/低频率区间的保留,并且与ms算法相比,改进了背景噪声的去除,如图5b所示。此外,卷积递归神经网络可以产生最接近于如图5f所示的地面真实声谱图的去噪声谱图。

根据本公开的实施例,卷积递归神经网络组合了卷积神经网络和递归神经网络以用于语音增强。卷积递归神经网络的归纳偏置可以非常适合于解决语音增强,因为卷积核可以有效地检测声谱图中的局部图案,并且双向递归连接可以自动对邻近帧之间的动态相关性进行建模。由于卷积的稀疏性,与mlp和rnn相比,卷积递归神经网络可能需要更少的计算。如上所述,实验结果可能表明,卷积递归神经网络在五个不同指标上的表现可以优于其他各种语音增强系统,包括ms、dnn-symm、dnn-casual和rnn-ng,并且卷积递归神经网络可以能够泛化到未见过的噪声,这可以确认卷积递归神经网络在语音增强中的有效性。

尽管本公开具体地讨论了音频处理,但是本公开的各方面不仅可以适用于诸如语音增强等音频处理,而且还可以适用于话音活动保护、回归处理和分类问题。例如,本公开的各方面还可以改进分类任务(诸如源分离和麦克风波束形成)以及估计任务(诸如声学回声消除)。

如上文和下文所述,本公开的实施例允许降低计算复杂度和存储器需求,这也可以降低功耗。本公开的实施例可以在诸如智能电话、平板电脑等移动设备和/或甚至可穿戴物品、智能扬声器、计算机、膝上型计算机、汽车娱乐系统等上实现。

图6描绘了根据本公开的实施例的用于改进的实时音频处理的方法600。方法600可以在步骤602开始,其中可以接收具有多个频率区间的、包括多个帧的音频数据。如上所述,可以接收诸如实时音频数据等音频数据,并且音频数据可以包括以时域或转换域之一表示的一个或多个音频帧。音频数据可以在时域中,并且可以随后被转换为频域。例如,时域信号可以被转换成若干个频率依赖域(frequencydependentdomain)。此外,时域信号可以被转换成转换域中的一个或多个,诸如频域、已修改的复杂重叠变换(“mclt”)域、梅尔滤波器组域等中的一个或多个。一个或多个转换域还可以被转换为一个或多个转换域,诸如调制域、倒谱域、梅尔频率倒谱系数(“mfcc”)域、对数功率频域中的一个或多个。此外,在处理音频数据之后,如果音频数据以转换域表示,则音频数据可以被转换为时域。

然后,在步骤604,针对每个频率区间,可以计算基于多个帧的先验信噪比和后验信噪比。在步骤606,针对每个频率区间,可以基于所计算的先验信噪比和所计算的后验信噪比计算抑制增益。在步骤608中,针对每个频率区间,可以基于包括所计算的抑制增益和理想比率掩码的多个帧来计算近似语音信号估计。

在步骤610,可以构造包括多个神经元的神经网络模型,该神经网络模型被配置为输出音频数据的理想比率掩码和干净语音估计,多个神经元被布置在包括至少一个隐藏层的多个层中,并且可以通过多个连接而连接。神经网络模型的至少一个隐藏层可以包括至少一个长短期记忆层。当然,神经网络模型的构造可以在使用神经网络模型之前的任何时间,并且神经网络模型的构造可以不限于在对音频数据的至少以上计算的之前和/或之后发生。

在步骤612,可以接收包括音频数据的训练数据集。训练数据集可以包括用于训练的具有单独已知的干净语音和噪声信号的合成数据集。然后,在步骤614,可以使用训练数据集训练神经网络模型。使用训练数据集训练神经网络模型可以包括:使用训练数据集的对数功率谱作为输入特征并且使用干净对数功率谱和参考理想比率掩码来训练神经网络模型。使用训练数据集训练神经网络模型可以包括使对数功率谱和干净对数功率谱之间的均方误差与所计算的理想比率掩码和参考理想比率掩码之间的均方误差最小化。一旦训练了神经网络模型,则在步骤616,可以输出被配置为输出音频数据的理想比率掩码和干净语音估计的经训练的神经网络模型。

经训练的神经网络模型可以包括基于至少一个长期短期记忆层的递归神经网络。备选地和/或另外地,经训练的神经网络模型可以包括卷积递归神经网络模型。卷积递归神经网络模型可以包括卷积组件、至少一个双向递归组件和全连接层。卷积组件可以在空间域和时间域两者中利用声谱图中的局部图案,至少一个双向递归组件可以对连续帧之间的动态相关性进行建模,并且全连接层可以预测干净声谱图。

卷积组件可以将有噪声的声谱图与核进行卷积以形成特征图,并且卷积组件可以将所形成的特征图进行联接以形成2d特征图。双向递归组件可以通过双向递归神经网络沿时间维度来变换2d特征图。另外地和/或备选地,双向递归组件可以通过使用在两个方向上包括递归连接的双向递归神经网络来自动建模有噪声的声谱图中邻近帧之间的动态相关性。

一旦输出经训练的神经网络模型,则在步骤618,可以接收包括具有未见过的噪声的音频数据的测试数据集。然后,在步骤620,可以评估使用所接收的测试数据集的经训练的深度神经网络。备选地,步骤618和620可以被省略,和/或可以在不同的时间执行。一旦被评估为通过预定阈值,就可以利用经训练的深度神经网络。另外,在本公开的某些实施例中,可以重复方法600的步骤以产生多个经训练的深度神经网络。然后可以将多个经训练的深度神经网络彼此比较和/或与其他深度神经网络进行比较。

在步骤622,对于每个近似语音信号估计,可以使用经训练的神经网络模型来计算干净语音估计和理想比率掩码。可以基于对应时频区间中干净语音与有噪声的语音的功率的比例来计算理想比率掩码。最终,在步骤624,对于每个频率区间,可以使用所计算的理想比率掩码和所计算的干净语音估计来计算最终干净语音估计。

图7描绘了根据本公开的实施例的可以根据本文中公开的系统、方法、模块和计算机可读介质来使用的示例性计算设备700的高级图示。例如,根据本公开的实施例,计算设备700可以用在使用深度神经网络来处理诸如音频数据等数据的系统中。计算设备700可以包括执行存储在存储器704中的指令的至少一个处理器702。该指令可以是例如用于实现被描述为由以上讨论的一个或多个组件执行的功能的指令或用于实现上述一种或多种方法的指令。处理器702可以通过系统总线706来访问存储器704。除了存储可执行指令,存储器704还可以存储数据、音频、一个或多个深度神经网络等。

计算设备700还可以包括处理器702可以通过系统总线706访问的数据存储库,也称为数据库708。数据存储库708可以包括可执行指令、数据、示例、特征等。计算设备700还可以包括允许外部设备与计算设备700通信的输入接口710。例如,输入接口710可以用于从外部计算机设备、用户等接收指令。计算设备700还可以包括将计算设备700与一个或多个外部设备接口的输出接口712。例如,计算设备700可以通过输出接口712显示文本、图像等。

预期经由输入接口710和输出接口712与计算设备700通信的外部设备可以被包括在提供用户可以与之交互的基本上任何类型的用户接口的环境中。用户接口类型的示例包括图形用户接口、自然用户接口等。例如,图形用户接口可以接受来自采用诸如键盘、鼠标、遥控器等输入设备的用户的输入,并且可以在诸如显示器等输出设备上提供输出。此外,自然用户接口可以使得用户能够以不受诸如键盘、鼠标、遥控器等输入设备所施加的约束的方式与计算设备1000交互。相反,自然的用户接口可以依赖于语音识别、触摸和手写笔识别、屏幕上及其屏幕附近的手势识别、空中手势、头部和眼睛跟踪、语音和语音、视觉、触摸、手势、机器智能等。

另外,尽管被示出为单个系统,但是应当理解,计算设备700可以是分布式系统。因此,例如,几个设备可以通过网络连接进行通信,并且可以共同执行被描述为由计算设备700执行的任务。

转到图8,图8描绘了根据本公开的实施例的可以根据本文中公开的系统、方法、模块和计算机可读介质来使用的示例性计算系统800的高级图示。例如,计算系统800可以是或可以包括计算设备700。另外地和/或备选地,计算设备700可以是或可以包括计算系统800。

计算系统800可以包括多个服务器计算设备,诸如服务器计算设备802和服务器计算设备804(统称为服务器计算设备802-804)。服务器计算设备802可以包括至少一个处理器和存储器;至少一个处理器执行存储在存储器中的指令。该指令可以是例如用于实现被描述为由上述一个或多个组件执行的功能的指令或用于实现上述一种或多种方法的指令。与服务器计算设备802相似,除了服务器计算设备802,服务器计算设备802-804的至少一个子集可以分别包括至少一个处理器和存储器。此外,服务器计算设备802-804的至少一个子集可以包括相应数据存储库。

一个或多个服务器计算设备802-804的处理器可以是或可以包括该处理器,诸如处理器702。此外,一个或多个服务器计算设备802-804的一个或多个存储器可以是或包括存储器,诸如存储器704。此外,一个或多个服务器计算设备802-804的一个或多个数据存储库可以是或可以包括数据存储库,诸如数据存储库708。

计算系统800还可以包括在服务器计算设备802-804之间传输数据的各种网络节点806。此外,网络节点806可以通过网络808将数据从服务器计算设备802-804传输到外部节点(例如,在计算系统800外部)。网络节点802还可以通过网络808将数据从外部节点传输到服务器计算设备802-804。网络808例如可以是因特网、蜂窝网络等。网络节点806可以包括交换机、路由器、负载均衡器等。

计算系统800的结构控制器810可以管理服务器计算设备802-804的硬件资源(例如,服务器计算设备802-804的处理器、存储器、数据存储等)。架构控制器810还可以管理网络节点806。此外,架构控制器810可以管理在服务器计算设备802-804上实例化的被管理运行时环境的创建、供应、取消供应和监督。

如本文中使用的,术语“组件”和“系统”旨在涵盖配置有计算机可执行指令的计算机可读数据存储,该计算机可执行指令在由处理器执行时使某些功能被执行。该计算机可执行指令可以包括例程、函数等。还应当理解,组件或系统可以位于单个设备上或分布在多个设备上。

本文中描述的各种功能可以以硬件、软件或其任何组合来实现。如果以软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上和/或通过计算机可读介质传输。计算机可读介质可以包括计算机可读存储介质。计算机可读存储介质可以是计算机可以访问的任何可用存储介质。作为示例而非限制,这样的计算机可读存储介质可以包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储或其他磁性存储设备、或者可以用于以指令或数据结构的形式存储期望的程序代码并且可以由计算机访问的任何其他介质。本文中使用的磁盘和光盘可以包括压缩盘(“cd”)、激光光盘、光盘、数字多功能光盘(“dvd”)、软盘和蓝光光盘(“bd”),其中磁盘通常磁性地复制数据,而光盘通常使用激光光学地复制数据。此外,传播信号未被包括在计算机可读存储介质的范围内。计算机可读介质还可以包括通信介质,包括有助于将计算机程序从一个地方转移到另一地方的任何介质。连接例如可以是通信介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(“dsl”)或无线技术(诸如红外、无线电和微波)从网站、服务器或其他远程源传输软件,则同轴电缆、光纤电缆、双绞线、dsl或无线技术(诸如红外、无线电和微波)被包括在通信介质的定义中。上述各项的组合也可以被包括在计算机可读介质的范围内。

备选地和/或另外地,本文中描述的功能可以至少部分由一个或多个硬件逻辑组件执行。例如而非限制,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(“fpga”)、专用集成电路(“asic”)、专用标准产品(“assp”)、片上系统(“soc”)、复杂可编程逻辑设备(“cpld”)等。

以上描述的内容包括一个或多个实施例的示例。当然,不可能为了描述上述方面而描述上述设备或方法的每个可能的修改和变更,但是本领域的普通技术人员可以认识到,各个方面的很多进一步的修改和置换是可能的。因此,所描述的各方面旨在涵盖落入所附权利要求的范围内的所有这样的改变、修改和变化。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips