基于深度学习的语音增强的制作方法
未命名
08-03
阅读:118
评论:0
基于深度学习的语音增强
1.相关申请的交叉引用
2.本技术要求于2020年11月18日提交的美国临时申请号63/115,213、于2021年7月14日提交的美国临时申请号63/221,629以及于2020年10月29日提交的国际专利申请号pct/cn2020/124635的优先权,所有这些申请均通过引用以其全文并入本文。
技术领域
3.本技术涉及语音降噪。更具体地,以下描述的(多个)示例实施例涉及应用深度学习模型来从大的语音上下文中产生基于帧的推断。
背景技术:
4.在本节中描述的方法是可以采用的方法,但不一定是先前已经设想到或采用过的方法。因此,除非另有指示,否则不应该认为本节中描述的任何方法仅凭其纳入本节就可被视为现有技术。
5.考虑到可能存在不同形式的语音和不同类型的噪声,通常很难从语音和噪声的混合信号中准确地去除噪声。实时抑制噪声可能尤其具有挑战性。
技术实现要素:
6.公开了一种用于抑制噪声并增强语音的系统和相关方法。所述方法包括:由处理器接收输入音频数据,所述输入音频数据覆盖沿时间维度的多个帧处的沿频率维度的多个频带;由所述处理器训练神经网络模型,所述神经网络模型包括:特征提取块,所述特征提取块在从所述输入音频数据中提取特征时实施特定数量的帧的前瞻;编码器,所述编码器包括产生第一特征图的第一系列块,所述第一特征图对应于所述输入音频数据中沿所述频率维度越来越大的感受野;解码器,所述解码器包括第二系列块,所述第二系列块接收由所述编码器生成的输出特征图作为输入特征图并产生第二特征图;以及分类块,所述分类块接收所述第二特征图并生成语音值,所述语音值指示针对所述多个帧中的每一帧处的所述多个频带中的每个频带存在的语音量;接收包括一个或多个帧的新音频数据;对所述新音频数据执行所述神经网络模型,以为所述一个或多个帧中的每一帧处的所述多个频带中的每个频带生成新语音值;基于所述新语音值生成抑制所述新音频数据中的噪声的新输出数据;传输所述新输出数据。
附图说明
7.在附图中以举例而非限制的方式来图示本发明的(多个)示例实施例,并且其中相似的附图标记指代相似的元素,并且在附图中:
8.图1图示了其中可以实践各种实施例的示例联网计算机系统。
9.图2图示了根据所公开的实施例的音频管理服务器计算机的示例部件。
10.图3图示了用于降噪的示例神经网络模型。
11.图4a图示了示例特征提取块。
12.图4b图示了另一个示例特征提取块。
13.图5图示了作为图3中图示的神经模型的部件的示例神经网络模型。
14.图6图示了作为图5中图示的神经网络模型的部件的示例神经网络模型。
15.图7图示了作为图3中图示的神经模型的部件的示例神经网络模型。
16.图8图示了根据本文所描述的一些实施例的用音频管理服务器计算机执行的示例过程。
17.图9是图示了其上可以实施本发明的实施例的计算机系统的框图。
具体实施方式
18.在以下说明中,出于解释的目的,阐述了许多具体细节以便提供对本发明的(多个)示例实施例的透彻理解。然而,明显的是,可以在没有这些具体细节的情况下实践所述(多个)示例实施例。在其他实例中,已知结构和设备以框图形式示出以便避免对所述(多个)示例实施例的不必要模糊。
19.实施例根据以下概要在以下各小节中进行描述:
20.1.总体概述
21.2.示例计算环境
22.3.示例计算机部件
23.4.功能描述
24.4.1.神经网络模型
25.4.1.1.特征提取块
26.4.1.2.u-net块
27.4.1.2.1.密集块
28.4.1.2.1.1.带门控的深度可分离卷积
29.4.1.2.2.残差块和递归层
30.4.2.模型训练
31.4.3.模型执行
32.5.示例过程
33.6.硬件实施方式
34.**
35.1.总体概述
36.公开了一种用于抑制噪声并增强语音的系统和相关方法。在一些实施例中,所述系统训练神经网络模型,所述神经网络模型获取与原始带噪声波形相对应的带能量并产生语音值,所述语音值指示每一帧处的每个频带中存在的语音量。这些语音值可以用于通过降低那些不太可能存在语音的频带中的频率幅度来抑制噪声。神经网络模型具有低延迟,并且可以用于实时噪声抑制。所述神经模型包括实施某种前瞻的特征提取块。所述特征提取块之后是编码器,所述编码器沿频域进行稳定的下采样,从而形成收缩路径。沿收缩路径进行的卷积是用沿时间维度越来越大的膨胀因子执行的。所述编码器之后是对应的解码器,所述解码器沿频域进行稳定的上采样,从而形成扩大路径。解码器从对应级别处的编码
器接收经缩放的输出特征图,使得在确定每一帧处的每个频带中存在多少语音时,从沿频率维度的不同感受野提取的特征都可以被考虑到。
37.在一些实施例中,在运行时,所述系统获取带噪声波形,将其转换到覆盖每一帧处的多个感知激励频带的频域中。然后,所述系统执行所述模型以获得每一帧处的每个频带的语音值。随后,所述系统将语音值应用于频域中的原始数据,并将其变换回增强的噪声抑制波形。
38.所述系统具有各种技术优势。所述系统被设计为是准确的,同时对实时噪声抑制具有低延迟。在精益卷积神经网络(cnn)模型中,低延迟是经由相对少量的相对小的卷积核(如八个大小为1乘1或3乘3的二维核)来实现的。将初始频域数据合并到感知激励频带中进一步减少了计算量。在可能的情况下,还应用倾向于减少执行时间的深度可分离卷积。
39.通过对输入数据中沿频率维度的不同感受野进行特征提取来实现准确性,所述感受野被组合使用以实现密集分类。并入少量帧(如一个或两个帧)的前瞻的特定特征提取块进一步促进了特征的丰富性。在可能的情况下,还应用卷积层的输出特征图被传播到所有后续卷积层的密集块。另外,神经模型可以被训练成不仅预测每一帧处的每个频带的语音量,而且还预测这种量的分布。分布的附加参数可以用于对预测进行微调。
40.2.示例计算环境
41.图1图示了其中可以实践各种实施例的示例联网计算机系统。图1以简化的示意性格式示出,用于说明清楚的示例,并且其他实施例可以包括更多、更少或不同的元件。
42.在一些实施例中,联网计算机系统包括音频管理服务器计算机102(“服务器”)、一个或多个传感器104或输入设备以及一个或多个输出设备110,它们通过直接物理连接或经由一个或多个网络118通信地耦接。
43.在一些实施例中,服务器102广义地表示一个或多个计算机、虚拟计算实例和/或应用程序的实例,所述应用程序被编程或配置有数据结构和/或数据库记录,所述数据结构和/或数据库记录被布置成托管或执行与通过降噪实现的低延迟语音增强相关的功能。服务器102可以包括服务器群、云计算平台、并行计算机或针对上述功能在数据处理、数据存储和网络通信方面具有足够计算能力的任何其他计算设施。
44.在一些实施例中,一个或多个传感器104中的每一个可以包括麦克风或将声音转换成电信号的另一种数字记录设备。每个传感器被配置成将检测到的音频数据传输到服务器102。每个传感器可以包括处理器,或者可以集成到典型的客户端设备中,如台式计算机、膝上型计算机、平板计算机、智能手机或可穿戴设备。
45.在一些实施例中,一个或多个输出设备110中的每一个可以包括扬声器或将电信号转换回声音的另一种数字播放设备。每个输出设备被编程为播放从服务器102接收的音频数据。类似于传感器,输出设备可以包括处理器,或者可以集成到典型的客户端设备中,如台式计算机、膝上型计算机、平板计算机、智能手机或可穿戴设备。
46.一个或多个网络118可以由提供图1的各种元件之间的数据交换的任何介质或机制来实施。网络118的示例包括但不限于一个或多个蜂窝网络(通过蜂窝天线与到计算设备的数据连接通信地耦接)、近场通信(nfc)网络、局域网(lan)、广域网(wan)、因特网、地面或卫星链路等。
47.在一些实施例中,服务器102被编程为从一个或多个传感器104接收与给定环境中
的声音相对应的输入音频数据。服务器102被编程为接下来处理通常与语音和噪声的混合相对应的输入音频数据,以估计输入数据的每一帧中存在多少语音。服务器102还被编程为基于估计值来更新输入音频数据,以产生预期包含比输入音频数据更少的噪声的经清理的输出音频数据。此外,服务器102被编程为向一个或多个输出设备发送输出音频数据。
48.3.示例计算机部件
49.图2图示了根据所公开的实施例的音频管理服务器计算机的示例部件。所述图仅用于说明目的,并且服务器102可以包括更少或更多的功能部件或存储部件。每个功能部件可以被实施为软件部件、通用或专用硬件部件、固件部件或其任何组合。每个功能部件还可以与一个或多个存储部件(未示出)耦接。存储部件可以使用关系数据库、对象数据库、平面文件系统或json存储中的任何一者来实施。存储部件可以本地或者使用编程调用、远程过程调用(rpc)设施或消息总线通过网络连接到功能部件。部件可以是或可以不是独立的。取决于实施方式特定的或其他考虑,这些部件可以是在功能上或物理上集中式的或分布式的。
50.在一些实施例中,服务器102包括频谱变换和标记块204、模型块208、逆条带化块212、输入频谱乘法块218和逆频谱变换块222。
51.在一些实施例中,服务器102接收带噪声波形。在块204中,服务器102通过频谱变换将波形分割成帧序列,如具有20ms帧(产生300帧)的具有或不具有重叠的六秒长的序列。频谱变换可以是各种变换中的任何一种,如短时傅里叶变换或复合正交镜像滤波器组(cqmf)变换,后者倾向于产生最小的混叠伪像。为了确保相对高的频率分辨率,可以选择每20ms帧的变换核/滤波器的数量,使得频率仓宽度为大约25hz。
52.在一些实施例中,服务器102然后将帧序列转换成例如56个感知激励型频带的带能量向量。每个感知激励型频带通常位于如120hz至2,000hz的频域中,所述频域与人耳处理语音的方式相匹配,使得在这些感知激励型频带中捕获数据意味着不会损失人耳的语音质量。更具体地,频谱变换的输出频率仓的平方幅度被分组为感知激励型频带,其中,每个频带的频率仓数在较高的频率下增加。分组策略在一些频谱能量跨相邻频带泄漏的情况下可以是“软”的,或者在跨频带没有泄漏的情况下可以是“硬”的。
53.在一些实施例中,当带噪声帧的仓能量由大小为p乘1的列向量x表示时(其中,p表示仓的数量),可以通过计算y=w*x来执行到带能量向量的转换,其中,y是表示该带噪声帧的带能量的大小为q乘1的列向量,w是大小为q乘p的条带化矩阵,并且q表示感知激励型频带的数量。
54.在一些实施例中,在块208中,服务器102预测每一帧处的每个频带的掩码值,所述掩码值指示存在的语音量。在块212中,服务器102将频带掩码值转换回频谱仓掩码。
55.在一些实施例中,当y的频带掩码由大小为q乘1的列向量m_band表示时,可以通过计算m_bin=w_transpose*m_band来执行到仓掩码的转换,其中,m_bin是大小为p乘1的列向量,并且大小为p乘q的w_transpose是w的转置。在块218中,服务器102将频谱幅度掩码与频谱幅度相乘,以实现噪声的掩蔽或降低,并且获得估计的纯净频谱。最后,在块222中,服务器使用本领域技术人员已知的任何方法(如逆变换(如逆cqmf))将估计的纯净频谱转换回波形作为增强的波形(相对于噪声波形),所述波形可以经由输出设备传送。
56.4.功能描述
57.4.1.神经网络模型
58.图3图示了表示块208的实施例的用于降噪的示例神经网络模型300。在一些实施例中,模型300包括用于特征提取的块308和基于u-net结构的块340,如arxiv:1505.04597v1[cs.cv]2015年5月18日中描述的u-net结构,但有一些变化,如本文所述。u-net结构已被证明能够精确定位特征识别和分类。
[0059]
4.1.1.特征提取块
[0060]
在一些实施例中,在图3的块308中,服务器102从原始带能量中提取针对噪声抑制任务优化的高级特征。图4a图示了表示块308的实施例的示例特征提取块。图4b图示了另一个示例特征提取块。例如,如图4a中的结构400a所图示的,服务器102可以用本领域技术人员已知的可学习批归一化层408来归一化t帧序列中的带能量(例如,其中的56个)的均值和方差。可替代地,也可以使用本领域技术人员已知的技术从训练集中预先计算全局归一化。
[0061]
在一些实施例中,服务器102可以在提取上述高级特征时考虑未来信息。例如,如图4a中的400a所图示的,这种前瞻可以用具有一个或多个核的二维(2d)单通道卷积层(conv2d)层406来实施。conv2d层406中与每次要评估的频带的数量相对应的核的高度可以被设置为小值,如三。沿时间轴的核大小取决于期望或允许多少前瞻。例如,在没有前瞻的情况下,核可以覆盖当前帧和过去的l个帧,如两个帧,并且当l个未来帧被允许时,核大小可以是以当前帧为中心的2l+1,以每次与输入数据中的2l+1个帧相匹配,如422,其中,l是406中的二。如图4b中的400b所图示的,前瞻也可以用一系列conv2d层410、412或更多层来实施。然后,每个核都沿时间轴具有小的核大小。例如,对于410、412和每一个其他类似的层,l可以被设置为一。作为结果,层410可以与具有2l+1前瞻的原始输入数据相匹配,如422,其中,l是通向三个核428的一,并且层412可以与层412的输出相匹配。服务器可以使用图4b所图示的一系列conv2d层来逐渐增加输入数据内的感受野。
[0062]
在一些实施例中,可以基于输入音频流的性质、期望的高级特征的音量、计算资源需求的范围或其他因素来确定每个conv2d层中的核的数量。例如,所述数量可以是8、16或32。另外,块308中的conv2d层中的每一层之后可以是非线性激活函数,如参数整流线性单元(prelu),然后所述非线性激活函数之后可以是单独的批归一化层,用于对块308的输出进行微调。
[0063]
在一些实施例中,可以使用与人工神经网络无关的其他信号处理技术来实施块308,如在以下文献中描述的信号处理技术:c.kim和r.m.stern,“power-normalized cepstral coefficients(pncc)for robust speech recognition[用于鲁棒语音识别的功率归一化倒谱系数(pncc)]”,ieee/acm transactions on audio,speech,and language processing[ieee/acm音频、语音和语言处理汇刊],第24卷,第7期,第1315-1329页,2016年7月,doi:10.1109/taslp.2016.2545928。
[0064]
4.1.2.u-net块
[0065]
在一些实施例中,在图3的块340中,服务器102对特征数据进行编码(以找到更多、更好的特征),随后进行解码以重建增强的音频数据,最后执行分类以确定存在多少语音。因此,块340包括由块350连接的左边的编码器侧和右边的解码器侧。编码器包括一个或多个特征计算块,如310、312和314,每个特征计算块之后是频率下采样器,如316、318和320,以形成收缩路径。密集块(db)是这种特征计算块的一种实施方式,如以下进一步讨论的。图
中指示的每个三元组如(8,t,64)包括特征计算块的输入或输出数据的大小,其中,第一分量表示通道或特征图的数量,第二分量表示沿时间维度的帧的固定数量,并且第三分量表示沿频率维度的大小。如以下进一步讨论的,这些特征计算块在越来越大的频率上下文中捕获越来越高的特征。块350包括用于执行覆盖所有最初可用的感知激励型频带的建模的特征计算块。解码器还包括一个或多个特征计算块,如320、322和324,每个特征计算块之后是频率上采样器,如326、328和330,以形成扩大路径。扩大路径中依赖于收缩路径期间生成的特征图的这些特征计算块组合以将不同级别(即在每一帧处的每频带级别上)的区别特征投影到高分辨率空间上,以获得密集分类,即掩码值。由于所述组合,扩大路径中每个特征计算块的输入通道(或特征图)的数量可以是收缩路径中每个特征计算块的输入通道(或特征图)的两倍。然而,每个计算块中核数量的选择可以决定输出通道的数量,所述输出通道的数量成为扩大路径中下一个特征计算块的输入通道的数量。
[0066]
服务器102通过分类块(如块360)产生某一帧处的每个频带的最终掩码值,所述分类块包括1
×
1的2d核,其后是s型(sigmoid)非线性激活函数。
[0067]
在一些实施例中,在每个频率下采样器中,服务器102通过沿频率轴的核大小和步幅大小为2的conv2d层经由规则卷积或深度卷积来合并每两个相邻带能量。可替代地,conv2d层可以由最大池化层代替。在任一情况下,输出特征图的宽度在每个频率下采样器之后减半,从而稳定地增大输入数据内的感受野。为了实现输出特征图宽度的这种连续的、指数式减小,服务器102将块308的输出填充到2的幂的宽度,所述宽度然后成为块340的输入数据。例如,可以通过在块308的输出特征图的两个大小上添加零来完成填充。
[0068]
在一些实施例中,在每个频率上采样器中,服务器102采用与编码器中相同级别的conv2d层相对应的转置conv2d层来恢复原始数量的带能量。块340的深度或特征计算块和频率下采样器的组合数量(以及等效地特征计算块和频率上采样器的组合数量)可以取决于期望的最大感受野、计算资源的量或其他因素。
[0069]
在一些实施例中,服务器102使用跳跃连接(如342、344和346)将编码器中的特征计算块的输出与解码器中的特征计算块的相同级别的输入串联(concatenate),作为解码器接收最终用于密集分类的不同级别的输入数据的区别特征的方式,如上所述。例如,由块310产生的特征图与从频率上采样器330经由跳跃连接346馈送到块324中的特征图一起用作输入数据。作为结果,解码器中的每个特征计算块的输入数据中的通道数量将是编码器中的每个密集块的输入数据中的通道数量的两倍。
[0070]
在一些实施例中,代替直接串联,服务器102学习每个跳跃连接的定标器乘数,如α1、α2和α3,如图3所示。每个αi包含n个(例如,8个)可学习参数,这些参数可以在训练开始时初始化为1。使用每个可学习参数乘以由编码器中的对应特征计算块产生的特征图,以产生经缩放的特征图,然后将所述经缩放的特征图与要馈送到解码器中的对应特征计算块的特征图串联。
[0071]
在一些实施例中,服务器102可以用添加来代替串联。例如,由块310产生的八个特征图可以分别被添加到要馈送到密集块324的8个特征图中,其中,这八个添加中的每一个都是基于部件执行的。这种添加而不是串联减少了用作解码器中的每个特征计算块的输入数据的特征图的数量,并且总体上以一定的性能下降为代价减少了计算。
[0072]
4.1.2.1.密集块
[0073]
图5图示了示例神经网络模型,所述示例神经网络模型对应于图3中的块310和块340中的每个其他类似的块的实施例。神经网络模型基于densenet结构,如arxiv:1608.06993v5[cs.cv]2018年1月28日中描述的densenet结构,但有一些变化,如本文所述。densenet结构已被证明可以缓解梯度消失问题,加强特征传播,鼓励特征重用,并减少参数的数量。
[0074]
在一些实施例中,服务器102使用块500作为特征计算块,以进一步加强特征传播和密集分类。块500输出与特征图输入数据的数量相同的n个(例如,8个)特征图通道。每个通道还各自具有与输入数据中的特征图相同的时间-频率形状。块500包括一系列卷积层,如520和530。每个卷积层的输入数据包含先前卷积层的所有输出数据的串联,从而形成密集连接。例如,层530的输入数据包括数据512(其可以是初始输入数据或来自先前卷积层的输出数据)和数据522(其是来自层520的输入数据)。
[0075]
在一些实施例中,每个卷积层包括具有一个或多个1
×
1的2d核的瓶颈层,如层504,用于将由于密集连接而包括k个特征图的输入数据合并成更少数量的特征图。例如,每个1
×
1的2d核可以被分别应用于每组k/2n个特征图,以有效地将k/2n个特征图相加为一个特征图,并最终获得2n个特征图。可替代地,可以将总共2n个1
×
1的2d核应用于所有特征图,以生成2d特征图。每个1
×
1的2d核之后可以是非线性激活函数(如prelu)和/或批归一化层。
[0076]
在一些实施例中,每个卷积层在瓶颈层之后包括具有n个核的小conv2d层,如具有3
×
3convd2d层的块506,以产生n个特征图。块500的连续卷积层中的这些小conv2d层采用沿时间轴呈指数增长的膨胀来模拟越来越大的上下文信息。例如,在块506中使用的膨胀因子是1,意味着在每个核中没有膨胀,而在块508中使用的膨胀因子是2,意味着核在时间轴上膨胀了两倍,并且感受野的大小也在每个维度上增加了两倍。
[0077]
在一些实施例中,在块500的卷积层之间,服务器102将带能量以线性方式投影到频率映射层中的学习空间,以获得更统一的输出,如arxiv:1904.11148v1[cs.sd]2019年4月25日中描述的。由于取决于音频数据所在的频带相同的核可能对相同的音频数据产生不同的效果,因此跨不同频带的这种效果的某种统一将是有帮助的。例如,频率映射层580位于块500的深度中间。
[0078]
在一些实施例中,在块500的末尾,类似于具有一个或多个1
×
1的2d核的瓶颈层的层590可以用于产生具有n个特征图的输出张量。
[0079]
4.1.1.1.1.带门控的深度可分离卷积
[0080]
图6图示了示例神经网络模型,所述示例神经网络模型对应于图5中图示的块506和每个其他类似的块的实施例。在一些实施例中,块600包括具有非线性激活函数的深度可分离卷积,如门控线性单元(glu)。如图6所图示的,glu中的第一路径包括深度较小的conv2d层,如3
×
3conv2d层602,随后是批归一化层604。glu中的第二路径类似地包括3
×
3conv2d层606,随后是批归一化层608,然后是可学习门控函数,如s型非线性激活函数。正如在图5所图示的密集块中,块500的连续卷积层中的小conv2d层可以采用沿时间轴呈指数增长的膨胀来模拟越来越大的上下文信息。例如,卷积层中与块506相对应的块602和606可以与膨胀因子1相关联,并且下一个卷积层中可以与块508的实施例相对应的类似块可以与膨胀因子2相关联。门控函数为感兴趣的任务识别输入数据的重要区域。这两个路径由哈达
玛乘积(hadamard product)运算符618连接。作为深度可分离卷积的一部分,1
×
1conv2d层612学习由这两个路径的组合生成的输出特征图之间的相互连接。层612之后可以是批归一化层614和非线性激活函数616(如prelu)。
[0081]
4.1.2.2残差块和递归层
[0082]
图7图示了示例神经网络模型,所述示例神经网络模型对应于图3中图示的块310和每个其他类似的块的实施例。在一些实施例中,图5所图示的块500(也对应于块310的实施例)可以由残差700块代替以减少连接数量。块700包括多个卷积层,如层720和730。
[0083]
在一些实施例中,每个卷积层包括类似于图5所图示的块504的瓶颈层,如层704。瓶颈层之后还可以是非线性激活(如prelu)和/或批归一化层。
[0084]
在一些实施例中,卷积层还包括类似于图5所图示的块506的小conv2d层,如3
×
3conv2d层706。小conv2d块可以用膨胀来执行,其中,膨胀因子在连续卷积层上呈指数增加。如图6所图示的,小conv2d层可以由带门控的深度可分离卷积代替。
[0085]
在一些实施例中,卷积层包括另一个1
×
1conv2d层,如层708,其在大小方面、特别是通道或特征图的数量方面将块706的输出匹配回块704的输入。然后通过哈达玛乘积运算符710将输出添加到输入数据,以在使用反向传播来训练网络时减少梯度消失问题,因为梯度将具有从输出到输入侧的直接路径而中间没有任何乘法。conv1x1层之后也可以是非线性激活(如prelu)和/或批归一化层。
[0086]
在一些实施例中,图5所图示的块500(也对应于块310的实施例)可以由包括至少一个递归神经网络(rnn)的递归层代替。使用rnn来模拟长时间序列可能是一种高效的方法。“高效”意味着rnn可以通过保存内部隐藏状态向量作为其看到的所有历史的总结并基于该向量为每个新帧生成输出来模拟非常长的时间序列。与在cnn层中使用膨胀相比,用于存储rnn的过去信息的缓冲器大小要小得多(仅1个向量,而对于cnn有2d+1个向量,其中,d是膨胀因子)。
[0087]
4.2.模型训练
[0088]
在一些实施例中,神经网络模型208的训练可以作为端到端过程来执行。可替代地,特征提取块308和u-net块340可以分别训练,其中,将特征提取块308应用于实际数据的输出可以用作u-net块的训练数据。
[0089]
使用不同的训练数据来训练图2所图示的神经网络模型208。在一些实施例中,通过在训练数据中包括速度、情绪和其他属性方面的广泛说话风格的自然话语,多样性并入说话者的多样性。每种训练话语可以是来自一个说话者的语音或多个说话者之间的对话。
[0090]
在一些实施例中,多样性来自于对集中式噪声数据(包括混响数据)的包括。如audioset等数据库可以用作种子噪声数据库。服务器102可以用指示剪辑中可能存在语音的类别标签来过滤掉种子噪声数据库中的每个剪辑。例如,可以过滤掉给定本体中的“人声”分类。可以通过应用本领域技术人员已知的任何语音分离技术来进一步过滤种子噪声数据库,以去除可能存在语音的附加剪辑。例如,去除语音预测包含均方根能量高于阈值(例如,1e-3)的至少一个帧(例如,长度为100ms)的任何剪辑。
[0091]
在一些实施例中,通过在混合噪声与语音时包括广泛的强度级别来增加多样性。在合成带噪声信号时,服务器102可以分别将纯净语音信号和噪声信号缩放到预定的最大声级,将每一个随机调低db范围(如0至30db)中的一个db,并将调整后的纯净语音信号和调
整后的噪声信号随机相加,以预定的最低信噪比为准。发现这种广泛的响度级有助于减少语音过度抑制(或噪声抑制不足)。
[0092]
在一些实施例中,多样性在于不同频带中数据的存在。服务器102可以创建在特定带宽的特定频带中具有至少一定百分比的信号,如在300hz至500hz的频带中具有至少20%。
[0093]
在一些实施例中,服务器102使用本领域技术人员已知的任何优化过程(如使用误差反向传播算法来更新权重的随机梯度下降优化算法)来训练神经网络模型208。神经网络模型208可以使每一帧处的每个频带的预测掩码与真实数据掩码之间的均方误差(mse)损失最小化。真实数据掩码可以计算为语音能量与语音和噪声能量之和的比率。
[0094]
在一些实施例中,由于语音过度抑制比语音抑制不足对语音质量的损害更大,因此服务器102使用对语音过度抑制分配更多惩罚的加权mse。由于由神经网络模型208产生的掩码值指示存在的语音量,当预测的掩码值小于真实数据掩码值时,预测的语音少于真实数据,并且因此被抑制的语音比必要的更多,从而导致神经网络模型对语音的过度抑制。例如,加权mse可以如下计算:
[0095][0096]
其中,和m(t,f)分别表示(t,f)时间-频带的预测掩码值和真实数据掩码值,并且ρ表示根据经验确定的常数(通常设置为大于0.5),以对语音过度抑制给予更大的权重。
[0097]
在一些实施例中,神经网络模型208被训练成预测每个频带内的不同频率仓上的语音分布(而不是单个掩码值)。具体地,服务器102可以训练所述模型来预测每一帧处的每个频带的高斯分布的均值和方差值,其中,均值表示神经网络模型208对掩码值的最佳预测。高斯分布的损失函数可以定义为:
[0098][0099]
其中,表示对(t,f)的标准偏差的预测。
[0100]
在一些实施例中,方差预测可以被解释为均值预测中的置信度,以减少语音过度抑制的发生。当均值预测值相对较低时,表明存在少量语音,而当方差预测值相对较高时,这可能表明语音可能过度抑制,然后可以按比例放大频带掩码。基于标准偏差产生经调整增益的示例缩放函数为:
[0101][0102]
缩放函数与标准偏差成比例地增加频带掩码(增益)。当标准偏差较大时,缩放掩码,使得其大于均值但仍小于或等于1,而当标准偏差为0时,掩码将等于均值。
[0103]
在一些实施例中,假设每个掩码的高斯分布,每个观察到的(目标)掩码值的概率为:
[0104]
[0105]
最小化该概率的负对数(等效于最大化概率本身)产生了上述高斯损失函数。
[0106]
4.3.模型执行
[0107]
在一些实施例中,当在神经网络模型208、特别是特征提取块308中实施前瞻时,服务器102可以接受单个帧或一组帧作为输入数据,并且至少为每一帧生成掩码值作为输出数据。对于沿时间维度核大小大于一的每个卷积层,服务器102保存内部缓冲器来存储其生成输出数据所需的历史。缓冲器可以保持为队列,其大小等于沿时间维度的卷积层的感受野。
[0108]
5.示例过程
[0109]
图8图示了根据本文所描述的一些实施例的用音频管理服务器计算机执行的示例过程。图8以简化的示意性格式示出,用于说明清楚的示例,并且其他实施例可以包括以各种方式连接的更多、更少或不同的元件。图8各自旨在公开可以用于实施一个或多个计算机程序或其他软件元素的算法、规划或概要,这些计算机程序或其他软件元素在被执行时使本文描述的功能改进和技术进步得以执行。此外,本文的流程图以与本领域普通技术人员通常就形成他们计划使用其积累的技术或知识进行编写或实施的软件程序的基础的算法、规划或规范而相互交流所使用的相同的详细程度进行描述。
[0110]
在一些实施例中,在步骤802中,服务器102被编程为接收输入音频数据,所述输入音频数据覆盖沿时间维度的多个帧处的沿频率维度的多个频带。在一些实施例中,多个频带是感知激励型频带,在越高的频率覆盖越多的频率仓。
[0111]
在一些实施例中,在步骤804中,服务器102被编程为训练神经网络模型。神经网络模型包括:特征提取块,所述特征提取块在从输入音频数据中提取特征时实施特定数量的帧的前瞻;编码器,所述编码器包括产生特征图的第一系列块,所述特征图对应于输入音频数据中沿频率维度越来越大的感受野;解码器,所述解码器包括第二系列块,所述第二系列块接收由编码器生成的输出特征图作为输入特征图;以及分类块,所述分类块生成语音值,所述语音值指示针对多个帧中的每一帧处的多个频带中的每个频带存在的语音量。
[0112]
在一些实施例中,特征提取块具有沿时间维度具有特定大小的卷积核,而编码器和解码器不具有沿时间维度大小等于或大于所述特定大小的卷积核。在其他实施例中,特征提取块、第一系列块和第二系列块中的每一个产生共同数量的特征图。
[0113]
在一些实施例中,特征提取块包括批归一化层,所述批归一化层之后是具有二维卷积核的卷积层。
[0114]
在一些实施例中,编码器中的第一系列块中的每个块包括特征计算块和频率下采样器。所述特征计算块包括一系列卷积层。
[0115]
在一些实施例中,所述一系列卷积层中的卷积层的输出数据被馈送到所述一系列卷积层中的所有后续卷积层中。所述一系列卷积层实施沿时间维度越来越大的膨胀。在其他实施例中,所述一系列卷积层中的每一个包括具有门控机制的深度可分离卷积块。
[0116]
在一些实施例中,所述一系列卷积层中的每一个包括残差块,所述残差块具有一系列卷积块,包括具有第一个一乘一二维卷积核的第一个卷积块和具有最后一个一乘一二维卷积核的最后一个卷积块。
[0117]
在一些实施例中,第一系列块中的某一块中的特征计算块的输出数据通过可学习权重进行缩放以形成经缩放的输出数据,并且经缩放的输出数据经由跳跃连接传送到解码
器中的第二系列块的某一块。
[0118]
在一些实施例中,第一系列块中的某一块的频率下采样器包括沿频率维度的步幅大小大于一的卷积核。
[0119]
在一些实施例中,第二系列块中的每个块包括特征计算块和频率上采样器。所述第二系列块中的某一块中的特征计算块接收来自所述第一系列块中的某一块中的特征计算块的第一输出数据和来自所述第二系列块中的先前块的频率上采样器的第二输出数据。然后,所述第一输出数据和所述第二输出数据被串联或相加以形成所述第二系列块中的所述块中的特征计算块的特定输入数据。
[0120]
在一些实施例中,分类块包括一乘一二维卷积核和非线性激活函数。
[0121]
在一些实施例中,神经网络模型进一步包括作为编码器的输出数据和解码器的输入数据的特征计算块。
[0122]
在一些实施例中,服务器102被编程为用每一帧处的多个频带中的每个频带的预测语音值与真实数据语音值之间的损失函数来执行训练,其中,当预测语音值对应于语音过度抑制时,所述损失函数中的权重较大,而当预测语音值对应于语音抑制不足时,所述损失函数中的权重较小。在一些实施例中,分类块进一步生成某一帧处的多个频带中的某一频带上的语音量分布,其中,语音值是所述分布的均值。
[0123]
在一些实施例中,输入音频数据包括与不同速度或情绪的语音相对应的数据、包含不同级别的噪声的数据、或与不同频率仓相对应的数据。
[0124]
在一些实施例中,在步骤806中,服务器102被编程为接收包括一个或多个帧的新音频数据。
[0125]
在一些实施例中,在步骤808中,服务器102被编程为对新音频数据执行神经网络模型,以为一个或多个帧中的每一帧处的多个频带中的每个频带生成新语音值。
[0126]
在一些实施例中,在步骤810中,服务器102被编程为基于新语音值生成抑制新音频数据中的噪声的新输出数据。
[0127]
在一些实施例中,在步骤812中,服务器102被编程为传输新输出数据。
[0128]
在一些实施例中,服务器102被编程为接收输入波形。服务器102被编程为然后将输入波形变换为原始音频数据,所述原始音频数据覆盖沿时间维度的一个或多个帧处的沿频率维度的多个频率仓。服务器102被编程为然后通过将多个频率仓分组为多个频带来将原始音频数据转换为新音频数据。服务器102被编程为对新语音值执行逆条带化,以为一个或多个帧中的每一帧处的多个频率仓中的每个频率仓生成更新的语音值。另外,服务器102被编程为然后将更新的语音值应用于原始音频数据以生成新输出数据。最后,服务器102被编程为将新输出数据变换为增强的波形。
[0129]
6.硬件实施方式
[0130]
根据一个实施例,本文所描述的技术由至少一个计算设备实施。可以使用至少一个服务器计算机和/或利用网络(如分组数据网络)耦接的其他计算设备的组合来全部或部分地实施这些技术。计算设备可以是硬接线的,以用于执行这些技术,或者可以包括如被持久地编程为执行这些技术的至少一个专用集成电路(asic)或现场可编程门阵列(fpga)等数字电子设备,或者可以包括被编程为根据固件、存储器、其他存储装置或组合中的程序指令执行这些技术的至少一个通用硬件处理器。这种计算设备也可以将定制的硬接线逻辑、
asic或fpga与定制编程相结合来实现这些所描述技术。计算设备可以是服务器计算机、工作站、个人计算机、便携式计算机系统、手持设备、移动计算设备、可穿戴设备、身体安装或可植入设备、智能手机、智能电器、网络互联设备、如机器人或无人驾驶地面或空中交通工具等自主或半自主设备、并入硬接线和/或程序逻辑以实施所描述的技术的任何其他电子设备、数据中心中的一个或多个虚拟计算机器或实例、和/或服务器计算机和/或个人计算机的网络。
[0131]
图9是图示了可以用其实施实施例的示例计算机系统的框图。在图9的示例中,以与本公开所属领域的普通技术人员普遍使用的就计算机架构和计算机系统实施方式进行交流的相同详细程度将计算机系统900和用于在硬件、软件或硬件和软件的组合中实施所公开技术的指令示意性地表示为例如框和圆。
[0132]
计算机系统900包括输入/输出(i/o)子系统902,其可以包括用于通过电子信号路径在计算机系统900的部件之间传送信息和/或指令的总线和/或其他(多个)通信机制。i/o子系统902可以包括i/o控制器、存储器控制器和至少一个i/o端口。电子信号路径在附图中示意性地表示为例如线、单向箭头或双向箭头。
[0133]
至少一个硬件处理器904耦接到用于处理信息和指令的i/o子系统902。硬件处理器904可以包括例如通用微处理器或微控制器和/或如嵌入式系统或图形处理单元(gpu)或数字信号处理器或arm处理器等专用微处理器。处理器904可以包括集成算术逻辑单元(alu)或者可以耦接到分离的alu。
[0134]
计算机系统900包括存储器906的一个或多个单元,如主存储器,所述主存储器耦接到i/o子系统902从而以电子数字方式存储要由处理器904执行的数据和指令。存储器906可以包括易失性存储器(如各种形式的随机存取存储器(ram))或其他动态存储设备。存储器906还可以用于存储在执行要由处理器904执行的指令期间的临时变量或其他中间信息。在被存储于处理器904可访问的非暂态计算机可读存储介质中时,这种指令可以使计算机系统900变成被定制用于执行在指令中指定的操作的专用机器。
[0135]
计算机系统900进一步包括非易失性存储器(如只读存储器(rom)908)或耦接到i/o子系统902以存储处理器904的信息和指令的其他静态存储设备。rom 908可以包括如可擦除prom(eprom)或电可擦除prom(eeprom)等各种形式的可编程rom(prom)。持久存储单元910可以包括如闪速存储器或固态存储设备、磁盘或光盘(如cd-rom或dvd-rom)等各种形式的非易失性ram(nvram),并且可以耦接到i/o子系统902以用于存储信息和指令。存储设备910是可以用于存储指令和数据的非暂态计算机可读介质的示例,这些指令和数据在由处理器904执行时使用于执行本文的技术的计算机实施的方法得以执行。
[0136]
存储器906、rom 908或存储设备910中的指令可以包括被组织为模块、方法、对象、功能、例程或调用的一组或多组指令。指令可以被组织为一个或多个计算机程序、操作系统服务或包括移动应用的应用程序。指令可以包括操作系统和/或系统软件;支持多媒体、编程或其他功能的一个或多个库;用于实施tcp/ip、http或其他通信协议的数据协议指令或堆栈;用于解释和呈现使用html、xml、jpeg、mpeg或png编码的文件的文件处理指令;用于呈现或解释用于图形用户界面(gui)、命令行界面或文本用户界面的命令的用户界面指令;如办公套件、因特网访问应用、设计和制造应用、图形应用、音频应用、软件工程应用、教育应用、游戏或其他应用等应用软件。这些指令可以实施web服务器、web应用服务器或web客户
端。指令可以被组织为表示层、应用层和如使用结构化查询语言(sql)或nosql的关系数据库系统、对象存储、图形数据库、平面文件系统或其他数据存储等数据存储层。
[0137]
计算机系统900可以经由i/o子系统902耦接到至少一个输出设备912。在一个实施例中,输出设备912为数字计算机显示器。可以在各种实施例中使用的显示器的示例包括触摸屏显示器或发光二极管(led)显示器或液晶显示器(lcd)或电子纸显示器。计算机系统900可以包括其他(多个)类型的输出设备912,作为显示设备的替代或补充。其他输出设备912的示例包括打印机、票据打印机、绘图仪、投影仪、声卡或视频卡、扬声器、蜂鸣器或压电设备或其他可听设备、灯或led或lcd指示器、触觉设备、致动器或伺服器。
[0138]
至少一个输入设备914耦接到i/o子系统902,用于将信号、数据、命令选择或手势传送到处理器904。输入设备914的示例包括触摸屏、麦克风、静态和视频数码相机、字母数字键和其他键、小键盘、键盘、图形输入板、图像扫描仪、操纵杆、时钟、开关、按钮、刻度盘、滑动装置和/或如力传感器、运动传感器、热传感器、加速度计、陀螺仪和惯性测量单元(imu)传感器等各种类型的传感器和/或如无线(例如蜂窝或wi-fi)收发器、射频(rf)收发器或红外线(ir)收发器和全球定位系统(gps)收发器等各种类型的收发器。
[0139]
另一种类型的输入设备是控制设备916,其可以执行光标控制或其他自动控制功能,如在显示屏上的图形界面中导航,作为输入功能的替代或补充。控制设备916可以是触摸板、鼠标、轨迹球或光标方向键,以用于将方向信息和命令选择传送到处理器904并用于控制在显示器912上的光标移动。所述输入设备可以具有在两条轴线(第一轴线(例如,x轴)和第二轴线(例如,y轴))上的至少两个自由度,允许设备在某个平面中指定方位。另一种类型的输入设备是有线控制设备、无线控制设备或光学控制设备,如操纵杆、棒、控制台、方向盘、踏板、换挡机构或其他类型的控制设备。输入设备914可以包括多个不同输入设备的组合,如摄像机和深度传感器。
[0140]
在另一实施例中,计算机系统900可以包括物联网(iot)设备,其中,省略了输出设备912、输入设备914和控制设备916中的一个或多个。或者,在这样的实施例中,输入设备914可以包括一个或多个相机、运动检测器、温度计、麦克风、地震检测器、其他传感器或检测器、测量设备或编码器,并且输出设备912可以包括如单线led或lcd显示器、一个或多个指示器、显示面板、仪表、阀门、螺线管、致动器或伺服器等专用显示器。
[0141]
当计算机系统900是移动计算设备时,输入设备914可以包括耦接到gps模块的全球定位系统(gps)接收器,所述gps模块能够对多个gps卫星进行三角测量、确定并生成地理位置或位置数据,如计算机系统900的地球物理位置的纬度-经度值。输出设备912可以包括硬件、软件、固件和接口,用于单独或与其他应用特定数据组合而生成指向主机924或服务器930的位置报告分组、通知、脉冲或心跳信号、或指定计算机系统900的位置的其他重复数据传输。
[0142]
计算机系统900可以使用定制的硬接线逻辑、至少一个asic或fpga、固件和/或程序指令或逻辑来实施本文所描述的技术,所述定制的硬接线逻辑、至少一个asic或fpga、固件和/或程序指令或逻辑当被加载并使用或执行时与计算机系统相结合使计算机系统作为专用机器而运行。根据一个实施例,响应于处理器904执行包含在主存储器906中的至少一个指令的至少一个序列,计算机系统900执行本文中的技术。这种指令可以从另一个存储介质(如存储设备910)读取到主存储器906中。包含在主存储器906中的指令序列的执行使处
理器904执行本文所描述的过程步骤。在替代性实施例中,可以使用硬接线电路来代替软件指令或者与软件指令相结合。
[0143]
如本文所使用的术语“存储介质”是指存储使机器以特定方式操作的数据和/或指令的任何非暂态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,如存储设备910。易失性介质包括动态存储器,如存储器906。存储介质的常见形式包括例如硬盘、固态驱动器、闪存驱动器、磁数据存储介质、任何光数据存储介质或物理数据存储介质、存储芯片等。
[0144]
存储介质不同于传输介质但可以与传输介质结合使用。传输介质参与存储介质之间的信息传递。例如,传输介质包括同轴电缆、铜线和光纤,包括包含i/o子系统的总线902的导线。传输介质还可以采用声波或光波的形式,如在无线波和红外数据通信期间生成的声波或光波。
[0145]
各种形式的介质可以涉及将至少一个指令的至少一个序列载送到处理器904以供执行。例如,指令最初可以携带在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载至其动态存储器并且使用调制解调器通过如光纤或同轴电缆或电话线等通信链路来发送这些指令。计算机系统900本地的调制解调器或路由器可以接收通信链路上的数据并转换所述数据以供计算机系统900读取。例如,如射频天线或红外检测器等接收器可以接收在无线或光信号中携带的数据,并且适当的电路系统可以将数据提供给i/o子系统902,如将数据放在总线上。i/o子系统902将数据携带到存储器906,处理器904从所述存储器中取得并执行指令。存储器906接收的指令可以可选地在由处理器904执行之前或之后存储在存储设备910上。
[0146]
计算机系统900还包括耦接到总线902的通信接口918。通信接口918提供到(多个)网络链路920的双向数据通信耦接,所述(多个)网络链路直接或间接连接到如网络922或因特网上的公共云或私有云等至少一个通信网络。例如,通信接口918可以是以太网网络接口、综合业务数字网(isdn)卡、电缆调制解调器、卫星调制解调器、或调制解调器,以向对应类型的通信线(例如,以太网电缆或任何种类的金属电缆或光纤线或电话线)提供数据通信连接。网络922广泛地表示局域网(lan)、广域网(wan)、校园网、因特网或其任何组合。通信接口918可以包括提供到兼容lan的数据通信连接的lan卡,或根据蜂窝无线电话无线网络标准有线发送或接收蜂窝数据的蜂窝无线电话接口,或根据卫星无线网络标准有线发送或接收数字数据的卫星无线电接口。在任何这种实施方式中,通信接口918通过信号路径发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
[0147]
网络链路920通常使用例如卫星、蜂窝、wi-fi或蓝牙技术直接或通过至少一个网络向其他数据设备提供电数据通信、电磁数据通信或光数据通信。例如,网络链路920可以提供通过网络922到主机计算机924的连接。
[0148]
此外,网络链路920可以提供通过网络922的连接或经由因特网服务提供商(isp)926操作的因特网设备和/或计算机到其他计算设备的连接。isp 926通过世界范围的分组数据通信网络(表示为因特网928)提供数据通信服务。服务器计算机930可以耦接到因特网928。服务器930广泛地表示任何计算机、数据中心、具有或不具有管理程序的虚拟机或虚拟计算实例、或执行如docker或kubernetes等容器化程序系统的计算机。服务器930可以表示使用多于一个计算机或实例实施的且通过传输web服务请求、具有http有效负载中的参数
的统一资源定位符(url)字符串、api调用、应用服务调用、或其他服务调用来访问和使用的电子数字服务。计算机系统900和服务器930可以形成包括其他计算机、处理集群、服务器群或协作执行任务或执行应用或服务的其他计算机组织的分布式计算系统的元件。服务器930可以包括被组织为模块、方法、对象、功能、例程或调用的一组或多组指令。指令可以被组织为一个或多个计算机程序、操作系统服务或包括移动应用的应用程序。指令可以包括操作系统和/或系统软件;支持多媒体、编程或其他功能的一个或多个库;用于实施tcp/ip、http或其他通信协议的数据协议指令或堆栈;用于解释或呈现使用html、xml、jpeg、mpeg或png编码的文件的文件格式处理指令;用于呈现或解释用于图形用户界面(gui)、命令行界面或文本用户界面的命令的用户界面指令;如办公套件、因特网访问应用、设计和制造应用、图形应用、音频应用、软件工程应用、教育应用、游戏或其他应用等应用软件。服务器930可以包括托管表示层、应用层和如使用结构化查询语言(sql)或nosql的关系数据库系统、对象存储、图形数据库、平面文件系统或其他数据存储等数据存储层的web应用服务器。
[0149]
计算机系统900可以通过(多个)网络、网络链路920和通信接口918发送消息和接收数据和指令,包括程序代码。在因特网示例中,服务器930可以通过因特网928、isp 926、本地网络922和通信接口918传输应用程序的请求代码。所接收的代码可以在被接收到时由处理器904执行,和/或存储在存储设备910、或其他非易失性存储器中以供稍后执行。
[0150]
本节中描述的指令的执行可以实施呈被执行的、且由程序代码及其当前活动构成的计算机程序实例的形式的进程。根据操作系统(os),进程可以由同时执行指令的多个执行线程组成。在这种上下文中,计算机程序是指令的被动集合,而进程可以是这些指令的实际执行。数个进程可以与相同程序相关联;例如,打开同一程序的数个实例通常意味着执行多于一个进程。可以实施多任务以允许多个进程共享处理器904。虽然每个处理器904或处理器的核心每次执行单个任务,但是计算机系统900可以被编程为实施多任务处理以允许每个处理器在被执行的任务之间切换而不必等待每个任务完成。在实施例中,可以在任务执行输入/输出操作时、当任务指示它可以被切换或者在硬件中断时执行切换。通过快速执行上下文切换以出现多个进程同时并发执行,可以实施分时以允许交互式用户应用的快速响应。在实施例中,为了安全性和可靠性,操作系统可以防止独立进程之间的直接通信,提供严格中介和受控的进程间通信功能。
[0151]
7.扩展和替代方案
[0152]
在前述说明书中,已经参考许多具体细节描述了本公开的实施例,这些细节可以根据实施方式而变化。因此,应当从说明性而非限制性意义上看待本说明书和附图。指明本公开范围以及本公开范围内申请人的发明意图的唯一且排他性指示是从本技术中以这套权利要求发布的具体形式发布的权利要求,包括任何后续修改。
技术特征:
1.一种抑制噪声并增强语音的计算机实施的方法,所述方法包括:由处理器接收输入音频数据,所述输入音频数据覆盖沿时间维度的多个帧处的沿频率维度的多个频带;由所述处理器使用所述输入音频数据训练神经网络模型,所述神经网络模型包括:特征提取块,所述特征提取块在从所述输入音频数据中提取特征时实施特定数量的帧的前瞻;编码器,所述编码器包括产生第一特征图的第一系列块,所述第一特征图对应于所述输入音频数据中沿所述频率维度越来越大的感受野;解码器,所述解码器包括第二系列块,所述第二系列块接收由所述编码器生成的输出特征图作为输入特征图并产生第二特征图;以及分类块,所述分类块接收所述第二特征图并生成语音值,所述语音值指示针对所述多个帧中的每一帧处的所述多个频带中的每个频带存在的语音量;接收包括一个或多个帧的新音频数据;对所述新音频数据执行所述神经网络模型,以为所述一个或多个帧中的每一帧处的所述多个频带中的每个频带生成新语音值;基于所述新语音值生成抑制所述新音频数据中的噪声的新输出数据;传输所述新输出数据。2.如权利要求1所述的计算机实施的方法,进一步包括:接收输入波形;将所述输入波形变换为原始音频数据,所述原始音频数据覆盖沿所述时间维度的所述一个或多个帧处的沿所述频率维度的多个频率仓;通过将所述多个频率仓分组为所述多个频带,将所述原始音频数据转换为所述新音频数据;对所述新语音值执行逆条带化,以为所述一个或多个帧中的每一帧处的所述多个频率仓中的每个频率仓生成更新的语音值;将所述更新的语音值应用于所述原始音频数据以生成所述新输出数据;将所述新输出数据变换为增强的波形。3.如权利要求1和2之一所述的计算机实施的方法,所述多个频带是感知激励型频带,在越高的频率覆盖越多的频率仓。4.如权利要求1至3之一所述的计算机实施的方法,所述特征提取块具有卷积核,所述卷积核沿所述时间维度具有特定大小,所述特定大小大于所述编码器或所述解码器中任何卷积核沿所述时间维度的大小。5.如权利要求1至4之一所述的计算机实施的方法,所述特征提取块包括批归一化层,所述批归一化层之后是具有二维卷积核的卷积层。6.如权利要求1至5之一所述的计算机实施的方法,所述特征提取块、所述第一系列块和所述第二系列块中的每一个产生共同数量的特征图。7.如权利要求1至6之一所述的计算机实施的方法,所述第一系列块中的每个块包括特征计算块和频率下采样器,所述特征计算块包括一系列卷积层。
8.如权利要求7所述的计算机实施的方法,所述一系列卷积层中的卷积层的输出数据被馈送到所述一系列卷积层中的所有后续卷积层中,所述一系列卷积层实施沿所述时间维度越来越大的膨胀。9.如权利要求7或权利要求8所述的计算机实施的方法,所述一系列卷积层中的每一个包括具有门控机制的深度可分离卷积块。10.如权利要求7所述的计算机实施的方法,所述一系列卷积层中的每一个包括残差块,所述残差块具有一系列卷积块,包括具有第一个一乘一二维卷积核的第一个卷积块和具有最后一个一乘一二维卷积核的最后一个卷积块。11.如权利要求7至10中任一项所述的计算机实施的方法,所述第一系列块中的某一块中的特征计算块的输出数据通过可学习权重进行缩放以形成经缩放的输出数据,所述经缩放的输出数据经由跳跃连接传送到所述解码器中的所述第二系列块中的某一块。12.如权利要求7至11中任一项所述的计算机实施的方法,所述第一系列块中的某一块的频率下采样器包括沿所述频率维度的步幅大小大于一的卷积核。13.如权利要求7至12中任一项所述的计算机实施的方法,所述第二系列块中的每个块包括特征计算块和频率上采样器。14.如权利要求13所述的计算机实施的方法,所述第二系列块中的某一块中的特征计算块接收来自所述第一系列块中的某一块中的特征计算块的第一输出数据和来自所述第二系列块中的先前块的频率上采样器的第二输出数据,所述第一输出数据和所述第二输出数据被串联或相加以形成所述第二系列块中的所述块中的所述特征计算块的特定输入数据。15.如权利要求1至14之一所述的计算机实施的方法,所述分类块包括一乘一二维卷积核和非线性激活函数。16.如权利要求1至15之一所述的计算机实施的方法,所述训练是用每一帧处的所述多个频带中的每个频带的预测语音值与真实数据语音值之间的损失函数来执行的,其中,当所述预测语音值对应于语音过度抑制时,所述损失函数中的权重较大,而当所述预测语音值对应于语音抑制不足时,所述损失函数中的权重较小。17.如权利要求1至16之一所述的计算机实施的方法,所述分类块进一步生成某一帧处的所述多个频带中的某一频带上的语音量分布,其中,所述语音值是所述分布的均值。18.如权利要求1至17之一所述的计算机实施的方法,所述输入音频数据包括与不同速度或情绪的语音相对应的数据、包含不同级别的噪声的数据、或与不同频率仓相对应的数据。19.如权利要求1至18之一所述的计算机实施的方法,所述神经网络模型进一步包括作为所述编码器的输出数据和所述解码器的输入数据的特征计算块。20.一种计算机系统,包括:存储器;
一个或多个处理器,所述一个或多个处理器与所述存储器耦接并且被配置成执行以下操作:接收输入音频数据,所述输入音频数据覆盖沿时间维度的多个帧处的沿频率维度的多个频带;使用所述输入音频数据训练神经网络模型,所述神经网络模型包括:特征提取块,所述特征提取块在从所述输入音频数据中提取特征时实施特定数量的帧的前瞻;编码器,所述编码器包括产生第一特征图的第一系列块,所述第一特征图对应于所述输入音频数据中沿所述频率维度越来越大的感受野;解码器,所述解码器包括第二系列块,所述第二系列块接收由所述编码器生成的输出特征图作为输入特征图并产生第二特征图;以及分类块,所述分类块接收所述第二特征图并生成语音值,所述语音值指示针对所述多个帧中的每一帧处的所述多个频带中的每个频带存在的语音量;存储所述神经网络模型。21.一种抑制噪声并增强语音的计算机实施的方法,所述方法包括:由处理器接收包括一个或多个帧的新音频数据;由所述处理器对所述新音频数据执行神经网络模型,以为所述一个或多个帧中的每一帧处的多个频带中的每个频带生成新语音值;所述神经网络模型包括用于以下各项的计算机可执行指令:特征提取块,所述特征提取块在从输入音频数据中提取特征时实施特定数量的帧的前瞻;编码器,所述编码器包括产生第一特征图的第一系列块,所述第一特征图对应于所述输入音频数据中沿所述频率维度越来越大的感受野;计算块,所述计算块连接所述编码器和解码器;所述解码器,其包括第二系列块,所述第二系列块接收由所述编码器生成的输出特征图作为输入特征图并产生第二特征图;以及分类块,所述分类块接收所述第二特征图并生成语音值,所述语音值指示针对多个帧中的每一帧处的所述多个频带中的每个频带存在的语音量;以及用所述输入音频数据来训练所述神经网络模型,所述输入音频数据覆盖沿时间维度的所述多个帧处的沿频率维度的所述多个频带;基于所述新语音值生成抑制所述新音频数据中的噪声的新输出数据;传输所述新输出数据。
技术总结
公开了一种用于抑制噪声并增强语音的系统和相关方法。所述系统训练神经网络模型,所述神经网络模型获取与原始带噪声波形相对应的带能量并产生语音值,所述语音值指示每一帧处的每个频带中存在的语音量。所述神经模型包括实施某种前瞻的特征提取块。所述特征提取块之后是编码器,所述编码器沿频域进行稳定的下采样,从而形成收缩路径。所述编码器之后是对应的解码器,所述解码器沿频域进行稳定的上采样,从而形成扩大路径。所述解码器从对应级别的编码器接收经缩放的输出特征图。所述解码器之后是分类块,所述分类块生成语音值,所述语音值指示针对所述多个帧中的每一帧处的所述多个频带中的每个频带存在的语音量。多个频带中的每个频带存在的语音量。多个频带中的每个频带存在的语音量。
技术研发人员:刘晓宇 M
受保护的技术使用者:杜比实验室特许公司
技术研发日:2021.10.29
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:用于分类目标的方法和装置与流程 下一篇:金属热交换器管的制作方法
