1.本技术涉及人工智能技术领域,特别是涉及一种音频降噪方法、装置、计算机设备和存储介质,还涉及一种音频降噪模型的处理方法、装置、计算机设备和存储介质。
背景技术:2.众所周知,音频信号一般都混有不同程度的噪声,例如用户在进行音频通话时可能处于各种场景,嘈杂的背景噪声将会对音频通话产生干扰。为了获得更好的音频质量,通常都会对原始音频信号进行降噪处理,传统的音频降噪方法如:自适应滤波器、谱减法以及维纳滤波法等等。
3.随着深度学习在人工智能技术领域的普及,使用基于神经网络的深度学习模型对音频信号进行降噪处理,已经成为研究热点,其效果可优于传统的降噪算法。然而,目前已有的一些音频降噪模型,没有对输入的音频信号的频域信息进行最大化利用,导致音频降噪效果不佳。
技术实现要素:4.基于此,有必要针对上述技术问题,提供一种能够提升音频降噪效果的音频降噪方法、装置、计算机设备和存储介质,还提供了一种能够提升音频降噪效果的音频降噪模型的处理方法、装置、计算机设备和存储介质。
5.一种音频降噪方法,所述方法包括:
6.获取时域的原始音频信号;
7.通过训练好的频域处理子模型中的实部处理网络与虚部处理网络,分别对将所述原始音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得所述原始音频信号对应的实部注意力与虚部注意力;
8.基于所述实部序列与所述虚部序列、所述实部注意力与所述虚部注意力,获得所述原始音频信号对应的频域编码特征;
9.将所述频域编码特征变换为时域信号,并通过训练好的时域处理子模型对所述时域信号进行降噪处理,获得所述原始音频信号对应的降噪信号。
10.一种音频降噪装置,所述装置包括:
11.获取模块,用于获取时域的原始音频信号;
12.频域编码模块,用于通过训练好的频域处理子模型中的实部处理网络与虚部处理网络,分别对将所述原始音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得所述原始音频信号对应的实部注意力与虚部注意力;基于所述实部序列与所述虚部序列、所述实部注意力与所述虚部注意力,获得所述原始音频信号对应的频域编码特征;
13.时域降噪模块,用于将所述频域编码特征变换为时域信号,并通过训练好的时域处理子模型对所述时域信号进行降噪处理,获得所述原始音频信号对应的降噪信号。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
15.获取时域的原始音频信号;
16.通过训练好的频域处理子模型中的实部处理网络与虚部处理网络,分别对将所述原始音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得所述原始音频信号对应的实部注意力与虚部注意力;
17.基于所述实部序列与所述虚部序列、所述实部注意力与所述虚部注意力,获得所述原始音频信号对应的频域编码特征;
18.将所述频域编码特征变换为时域信号,并通过训练好的时域处理子模型对所述时域信号进行降噪处理,获得所述原始音频信号对应的降噪信号。
19.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
20.获取时域的原始音频信号;
21.通过训练好的频域处理子模型中的实部处理网络与虚部处理网络,分别对将所述原始音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得所述原始音频信号对应的实部注意力与虚部注意力;
22.基于所述实部序列与所述虚部序列、所述实部注意力与所述虚部注意力,获得所述原始音频信号对应的频域编码特征;
23.将所述频域编码特征变换为时域信号,并通过训练好的时域处理子模型对所述时域信号进行降噪处理,获得所述原始音频信号对应的降噪信号。
24.一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行上述音频降噪方法的步骤。
25.上述音频降噪方法、装置、计算机设备和存储介质,训练好的频域处理子模型包括实部处理网络与虚部处理网络,在获取到时域的原始音频信号后,通过训练好的频域处理子模型中的实部处理网络与虚部处理网络分别对原始音频信号的实部序列与虚部序列进行特征编码,这样的网络结构能够充分利用原始音频信号的频域信息,即通过实部序列表征与虚部序列表征的幅值信息与相位信息,使得编码获得的实部注意力与虚部注意力能够对原始音频信号中干净音频信号赋予更多、更准确的注意,这样,基于实部序列与虚部序列、实部注意力与虚部注意力所获得原始音频信号对应的频域编码特征,能够准确表征原始音频信号中的干净音频信号的频域特征,根据该频域编码特征获得的时域信号也就能够准确地表达原始音频信号中的干净音频信号,降噪效果更好;此外,通过后续进一步使用时域处理子模型对该时域信号进行降噪处理,可以进一步提升时域信号的音质,获得的降噪信号的效果也就会更好。
26.一种音频降噪模型的处理方法,所述方法包括:
27.获取样本音频信号,所述样本音频信息是根据干净音频信号生成的;
28.通过基于神经网络的第一子模型中的实部处理网络与虚部处理网络,分别对将所述样本音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得所述样本音频信号对应的实部注意力与虚部注意力,基于所述实部序列与所述虚部序列、所述实
部注意力与所述虚部注意力,获得所述样本音频信号对应的频域编码特征;
29.根据基于所述频域编码特征与所述干净音频信号对应的频域变换序列所确定的第一损失对所述第一子模型进行模型训练,获得频域处理子模型;
30.将所述频域处理子模型与待训练的时域处理子模型连接后共同训练,得到用于对音频信号进行降噪处理的所述音频降噪模型。
31.在一个实施例中,所述通过基于神经网络的第一子模型中的实部处理网络与虚部处理网络,分别对将所述样本音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得所述样本音频信号对应的实部注意力与虚部注意力,包括:
32.将所述样本音频信号输入基于神经网络的第一子模型;
33.在所述第一子模型中,对所述样本音频信号进行频域变换,获得所述样本音频信号对应的实部序列与虚部序列;
34.通过所述第一子模型中的实部处理网络,分别对所述实部序列与所述虚部序列进行特征编码,获得实部第一编码特征与虚部第一编码特征;
35.通过所述第一子模型中的虚部处理网络,分别对所述实部序列与所述虚部序列进行特征编码,获得实部第二编码特征与虚部第二编码特征;
36.根据所述实部第一编码特征与所述虚部第二编码特征,获得所述样本音频信号对应的实部注意力,根据所述实部第二编码特征与所述虚部第一编码特征,获得所述样本音频信号对应的虚部注意力。
37.在一个实施例中,所述基于所述实部序列与所述虚部序列、所述实部注意力与所述虚部注意力,获得所述样本音频信号对应的频域编码特征,包括:
38.将所述实部序列与所述实部注意力相乘,获得所述样本音频信号对应的频域编码特征的实部;
39.将所述虚部序列与所述虚部注意力相乘,获得所述样本音频信号对应的频域编码特征的虚部。
40.在一个实施例中,所述基于所述实部序列与所述虚部序列、所述实部注意力与所述虚部注意力,获得所述样本音频信号对应的频域编码特征,包括:
41.将所述实部序列与所述实部注意力相乘得到第一结果,将所述虚部序列与所述虚部注意力相乘得到第二结果,将所述第一结果与所述第二结果之差作为所述样本音频信号对应的频域编码特征的实部;
42.将所述实部序列与所述虚部注意力相乘得到第三结果,将所述虚部序列与所述实部注意力相乘得到第四结果,将所述第三结果与所述第四结果之和作为所述样本音频信号对应的频域编码特征的虚部。
43.在一个实施例中,所述基于所述实部序列与所述虚部序列、所述实部注意力与所述虚部注意力,获得所述样本音频信号对应的频域编码特征,包括:
44.基于所述实部序列与所述虚部序列,获得所述样本音频信号的原始幅值信息与原始相位信息;基于所述实部注意力与所述虚部注意力,获得所述样本音频信号的预测幅值信息与预测相位信息;
45.根据所述原始幅值信息与所述预测幅值信息之积,获得所述样本音频信号对应的频域编码特征的幅值信息;
46.根据所述原始相位信息与所述预测相位信息之和,获得所述样本音频信号对应的频域编码特征的相位信息。
47.在一个实施例中,所述第一损失的确定步骤包括:
48.对所述干净音频信号进行频域变换处理,获得对应的频域变换序列,所述频域变换序列包括实部序列与虚部序列;
49.根据所述干净音频信号对应的实部序列与所述样本音频信号对应的频域编码特征中的实部特征之间的差异、所述干净音频信号对应的虚部序列与所述样本音频信号对应的频域编码特征中的虚部特征之间的差异,确定第一损失。
50.在一个实施例中,所述第二损失的确定步骤包括:
51.通过所述第二子模型中的编码器,对所述时域信号进行编码,获得时域编码向量,通过所述第二子模型中的时序特征提取网络,对所述时域编码向量进行特征提取,获得所述时域信号对应的隐藏特征,通过所述第二子模型中的解码器,基于所述时域编码向量和所述隐藏特征进行解码,获得所述第二样本集合中的样本音频信号对应的降噪信号;
52.根据所述降噪信号与所述干净音频信号,构建第二损失。
53.在一个实施例中,所述根据所述降噪信号与所述干净音频信号,构建第二损失,包括:
54.将所述样本音频信号对应的降噪信号向所述干净音频信号的垂直方向与水平方向分别进行投影,获得垂直投影向量与水平投影向量;
55.根据所述垂直投影向量与所述水平投影向量,获得第二损失。
56.在一个实施例中,所述第三损失的确定步骤包括:
57.通过所述第三子模型中的编码器,对所述时域信号进行编码,获得时域编码向量,通过所述第三子模型中的时序特征提取网络,对所述时域编码向量进行特征提取,获得所述时域信号对应的隐藏特征,通过所述第三子模型中的输出层,基于所述隐藏特征预测所述样本音频信号的噪声场景类别;
58.根据所述噪声场景类别与用于生成所述样本音频信号的噪声信号的噪声标签类别,构建第三损失。
59.一种音频降噪模型的处理装置,所述装置包括:
60.获取模块,用于获取样本音频信号,所述样本音频信息是根据干净音频信号生成的;
61.频域编码训练模块,用于通过基于神经网络的第一子模型中的实部处理网络与虚部处理网络,分别对将所述样本音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得所述样本音频信号对应的实部注意力与虚部注意力,基于所述实部序列与所述虚部序列、所述实部注意力与所述虚部注意力,获得所述样本音频信号对应的频域编码特征;根据基于所述频域编码特征与所述干净音频信号对应的频域变换序列所确定的第一损失对所述第一子模型进行模型训练,获得频域处理子模型;
62.集成训练模块,用于将所述频域处理子模型与待训练的时域处理子模型连接后共同训练,得到用于对音频信号进行降噪处理的所述音频降噪模型。
63.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
64.获取样本音频信号,所述样本音频信息是根据干净音频信号生成的;
65.通过基于神经网络的第一子模型中的实部处理网络与虚部处理网络,分别对将所述样本音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得所述样本音频信号对应的实部注意力与虚部注意力,基于所述实部序列与所述虚部序列、所述实部注意力与所述虚部注意力,获得所述样本音频信号对应的频域编码特征;
66.根据基于所述频域编码特征与所述干净音频信号对应的频域变换序列所确定的第一损失对所述第一子模型进行模型训练,获得频域处理子模型;
67.将所述频域处理子模型与待训练的时域处理子模型连接后共同训练,得到用于对音频信号进行降噪处理的所述音频降噪模型。
68.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
69.获取样本音频信号,所述样本音频信息是根据干净音频信号生成的;
70.通过基于神经网络的第一子模型中的实部处理网络与虚部处理网络,分别对将所述样本音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得所述样本音频信号对应的实部注意力与虚部注意力,基于所述实部序列与所述虚部序列、所述实部注意力与所述虚部注意力,获得所述样本音频信号对应的频域编码特征;
71.根据基于所述频域编码特征与所述干净音频信号对应的频域变换序列所确定的第一损失对所述第一子模型进行模型训练,获得频域处理子模型;
72.将所述频域处理子模型与待训练的时域处理子模型连接后共同训练,得到用于对音频信号进行降噪处理的所述音频降噪模型。
73.一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行上述音频降噪模型的处理方法的步骤。
74.上述音频降噪模型的处理方法、装置、计算机设备和存储介质,音频降噪模型包括频域处理子模型与时域处理子模型,其中频域处理子模型包括实部处理网络与虚部处理网络,在获取到时域的原始音频信号后,通过频域处理子模型中的实部处理网络与虚部处理网络分别对样本音频信号的实部序列与虚部序列进行特征编码,这样的网络结构能够充分学习到原始音频信号的频域信息,即通过实部序列与虚部序列表征的幅值信息与相位信息,使得编码获得的实部注意力与虚部注意力能够对样本音频信号中干净音频信号赋予更多、更准确的注意,这样,基于实部序列与虚部序列、实部注意力与虚部注意力所获得样本音频信号对应的频域编码特征,根据该频域编码特征与生成该样本音频信号的干净音频信号对应的频域变换序列所确定的第一损失对该频域处理子模型进行模型训练,能够使频域处理子模型准确学习到样本音频信号中干净信号的频域特征,后续再联合该频域处理子模型与时域处理子模型共同进行模型训练,获得的音频降噪模型的降噪效果就会更好。
附图说明
75.图1为一个实施例中音频降噪方法的应用环境图;
76.图2为一个实施例中音频降噪模型的处理方法的流程示意图;
77.图3为一个实施例中频域处理子模型的模型框架示意图;
78.图4为一个实施例中将频域处理子模型与时域处理子模型级联获得音频降噪模型的示意图;
79.图5为一个实施例中获得样本音频信号对应的实部注意力与虚部注意力的流程示意图;
80.图6为一个实施例中实部处理网络与虚部处理网络对实部序列与虚部序列进行特征编码的示意图;
81.图7为一个实施例中两层实部处理网络与虚部处理网络的示意图;
82.图8为一个实施例中将频域处理子模型与待训练的时域处理子模型连接后共同训练,得到音频降噪模型的流程示意图;
83.图9(a)为一个实施例中第二子模型的模型结构示意图;
84.图9(b)为一个实施例中第二损失与投影向量的关系示意图;
85.图10为一个实施例中第三子模型的模型结构示意图;
86.图11为一个实施例中对时域降噪任务与噪声场景分类任务进行多任务学习的模型结构示意图;
87.图12为另一个实施例中将频域处理子模型与待训练的时域处理子模型连接后共同训练,得到音频降噪模型的流程示意图;
88.图13为一个实施例中音频降噪模型训练的步骤示意图;
89.图14为一个实施例中对时域降噪子模型进行模型蒸馏训练的流程示意图;
90.图15为一个实施例中对时域降噪子模型进行模型蒸馏训练的框架示意图;
91.图16为一个实施例中音频降噪方法的流程示意图;
92.图17为一个实施例中获得原始音频信号对应的实部注意力与虚部注意力的流程示意图;
93.图18为一个实施例中通过训练好的频域处理子模型中的实部处理网络与虚部处理网络获得原始音频信号对应的实部注意力与虚部注意力的流程示意图;
94.图19为一个实施例中音频降噪模型的处理装置的结构框图;
95.图20为一个实施例中音频降噪装置的结构框图;
96.图21为一个实施例中计算机设备的内部结构图。
具体实施方式
97.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
98.本技术提供的音频降噪方法与音频降噪模型的处理方法,通过使用人工智能技术(artificial intelligence,ai)中的机器学习等技术,实现了音频降噪。
99.人工智能(artificial intelligenc,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也
就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
100.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
101.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
102.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,该学科专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。人工神经网络是一门重要的机器学习技术,在系统辨识、模式识别、智能控制等领域有着广泛的应用前景。
103.深度学习(deep learning)是人工智能技术领域中一个新的研究方向,深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。研究深度学习的动机在于建立模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本等。可以理解,本技术通过使用深度学习技术,训练并使用音频降噪模型。
104.本技术实施例提供的音频降噪方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102可以获取时域的原始音频信号;通过训练好的频域处理子模型中的实部处理网络与虚部处理网络,分别对将原始音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得原始音频信号对应的实部注意力与虚部注意力;基于实部序列与虚部序列、实部注意力与虚部注意力,获得原始音频信号对应的频域编码特征;将频域编码特征变换为时域信号,并通过训练好的时域处理子模型对时域信号进行降噪处理,获得原始音频信号对应的降噪信号。
105.例如,终端102可以在音频通话时,将语音通话信号作为原始音频信号,采用本技术实施例提供的音频降噪方法对该语音通话信号进行语音降噪处理,获得对应的降噪信号。
106.可以理解,在其他实施例中,终端102获取原始音频信号后,可以将该原始音频信号传递至服务器104。服务器104获取该原始音频信号后,将该原始音频信号输入训练好的频域处理子模型,继而,通过该频域处理子模型获得该原始音频信号对应的频域编码特征后,将频域编码特征变换为时域信号,再将该时域信号输入训练好的时域处理子模型,继而,通过该时域处理子模型对时域信号进行降噪处理,获得原始音频信号对应的降噪信号。
107.本技术实施例提供的音频降噪模型的处理方法,也可以应用于如图1所示的应用环境中。服务器104可以获取样本音频信号,样本音频信息是根据干净音频信号生成的;通过基于神经网络的第一子模型中的实部处理网络与虚部处理网络,分别对将样本音频信号
变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得样本音频信号对应的实部注意力与虚部注意力,基于实部序列与虚部序列、实部注意力与虚部注意力,获得样本音频信号对应的频域编码特征;根据基于频域编码特征与干净音频信号对应的频域变换序列所确定的第一损失对第一子模型进行模型训练,获得频域处理子模型;将频域处理子模型与待训练的时域处理子模型连接后共同训练,得到用于对音频信号进行降噪处理的音频降噪模型。
108.可以理解,在其他实施例中,该音频降噪模型也可以由终端102训练得到。
109.其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
110.本技术实施例提供的音频降噪方法,其执行主体可以是本技术实施例提供的音频降噪装置,或者集成了该频降噪装置的计算机设备,其中该频降噪装置可以采用硬件或软件的方式实现。本技术实施例提供的音频降噪模型的处理方法,其执行主体可以是本技术实施例提供的音频降噪模型的处理装置,或者集成了该音频降噪模型的处理装置的计算机设备,其中该音频降噪模型的处理装置可以采用硬件或软件的方式实现。计算机设备可以是图1中所示的终端102或服务器104。
111.在一个实施例中,用于训练语音降噪模型的终端102或服务器104可以是区块链网络中的节点。区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
112.区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
113.平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基
本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
114.在一个实施例中,如图2所示,提供了一种音频降噪模型的处理方法,以该方法应用于图1中的计算机设备(终端102或服务器104)为例进行说明,包括以下步骤:
115.步骤202,获取样本音频信号,样本音频信息是根据干净音频信号生成的。
116.其中,样本音频信号是用于训练音频降噪模型的音频信号。在产生针对音频进行降噪的模型训练需求后,需要先生成用于训练音频降噪模型的样本音频信号。
117.在一个实施例中,计算机设备可以将干净音频信号与噪声信号按照不同的信噪比混合后得到样本音频信号,在进行模型训练时,干净音频信号可以作为生成的该样本音频信号的标签信息。干净音频信号例如可以是干净人声信号,使用的干净人声语种包括英语、汉语和各地方方言。使用的噪声信号可以是各种不同场景的噪声,例如白噪声、风声、地铁声、键盘声、鼠标声,等等。在一些实施例中,噪声信号的类别也可作为该样本音频信号的标签信息。
118.可选地,计算机设备可以读入干净音频信号与噪声信号后,再按照不同信噪比进行随机混合,获得样本音频信号,这种可以在一定程度上对训练样本数据进行数据增强,从而提升模型的泛化能力。
119.在一些实施例中,计算机设备还可以获取其他计算机设备传递的样本音频信号,例如上述图1中服务器104获取终端102传递的图像,计算机设备还可以获取本机上生成的样本音频信号。
120.步骤204,通过基于神经网络的第一子模型中的实部处理网络与虚部处理网络,分别对将样本音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得样本音频信号对应的实部注意力与虚部注意力,基于实部序列与虚部序列、实部注意力与虚部注意力,获得样本音频信号对应的频域编码特征。
121.其中,基于神经网络的第一子模型可以通过样本音频信号,在模型训练过程中学习到样本音频信号中干净音频信号在频域上的特征。第一子模型可采用基于神经网络的深度学习模型,例如lstm(long short
‑
term memory,长短期记忆网络),lstm是一种特殊结构的循环神经网络,能够学习到长序列输入的长期依赖关系。
122.时域与频域均是信号的基本性质。从不同的维度分析信号,从不同角度切入解决问题,不同角度可以称之为域。时域反应了数学函数或物理信号与时间的对应关系,是真实世界的反馈,唯一客观存在的域。频域是描述信号在频域特性时用到的一种坐标系,显示了在一个频率范围内的信号量,它是从数学角度构造出来的辅助思考的一种方式,频域信号可以用复数形式来表示,包括实部与虚部两部分,频域信号也可以采用幅值与相位的形式来表示。
123.为了能够充分学习到样本音频信号中混杂的干净音频信号的频域特性,设置的基于神经网络的第一子模型包括实部处理网络与虚部处理网络。实部处理网络是为利用样本音频信号的幅值信息而设计的,虚部序列网络是为利用样本音频信号的相位信息而设计的。实部处理网络与虚部处理网络可以均是基于lstm(long short
‑
term memory,长短时记忆)的网络结构,实部处理网络与虚部处理网络可以均包括至少一层lstm网络结构,也就是说,能够处理复数形式频域信号的lstm整体结构包括了处理实部序列的lstm和处理虚部序
列的lstm,可以称之为complex
‑
lstm。
124.实部处理网络可以用于获得与样本音频信号对应的实部注意力,虚部处理网络可以用于获得与样本音频信号对应的虚部注意力。实部注意力可以用于反映对样本音频信号的实部频域特征中属于干净信号的注意力,虚部注意力可以用于反映对样本音频信号中的虚部频域特征中属于干净信号的注意力。
125.由于第一子模型在训练时定义的目标是使实部处理网络与虚部处理网络的输出结果中实部特征与原始音频信号的实部序列相乘,可以得到干净音频信号的实部,虚部特征与原始音频信号的虚部序列相乘,可以得到干净音频信号的虚部,基于这样一种相当于注意力机制(attention)的结构使得实部处理网络与虚部处理网络的输出结果能够对样本音频信号中的干净音频信号表达出更多、更准确的注意力,因此,实部处理网络与虚部处理网络的输出结果可以称之为实部注意力与虚部注意力。注意力机制来源于模仿生物观察事物的过程,是一种将内部经验与外部刺激对齐从而增加对部分区域关注的机制。
126.通常,输入信号被输入神经网络后,神经网络的网络层中网络参数将对输入信号进行运算,得到运算结果。每层网络则会接收前一层网络输出的运算结果,再经过本层网络的运算,输出本层的运算结果,作为下一层的输入。本实施例中,第一子模型中的实部处理网络与虚部处理网络包括至少一层。
127.具体地,计算机设备可以将获取的样本音频信号输入第一子模型中,在第一子模型中,先将样本音频信号变换为频域信号,再将该频域信号的实部序列与虚部序列分别输入实部处理网络与虚部处理网络,实部处理网络与虚部处理网络各自都会对实部序列与虚部序列进行特征编码,也就是在实部处理网络与虚部处理网络中的网络参数对输入的实部序列与虚部序列进行运算,根据最后一层实部处理网络与虚部处理网络的输出结果获得样本音频信号对应的实部注意力与虚部注意力。
128.获得对样本音频信号中的干净音频信号的注意力后,接着,计算机设备基于样本音频信号实部序列与虚部序列、实部注意力与虚部注意力,获得样本音频信号对应的频域编码特征。频域编码特征是从频域角度反映音频信号的特征。前文提到,经过第一子模型中实部处理网络与实部处理网络输出的实部注意力与虚部注意力,可以赋予样本音频信号中干净音频信号更多、更准确的注意力,那么计算机设备可以基于该实部注意力与虚部注意力,从样本音频信号的频域信号的实部序列与虚部序列中挖掘出更多与干净音频信号相关的部分,继而获得样本音频信号对应的频域编码特征。可以理解,频域编码特征包括实部与虚部。
129.在一个实施例中,计算机设备可以在第一子模型中,采用傅里叶正变换将原始音频信号变换为频域信号,频域信号包括实部序列与虚部序列。傅里叶正变换可以是短时傅里叶变换(stft,short
‑
time fourier transform)。例如,样本音频信号是一段15s的音频信号,在采样率为16k,傅立叶变换窗口长度设置为512,傅立叶变换窗口重叠设置75%时,也就是窗口的位移步长为128时,可以根据样本音频信号获得1872个长度为512的离散序列,经过短时傅立叶变换后,获得的频域信号包括1872个长度为257的实部序列与1872个长度为257的虚部序列。
130.步骤206,根据基于频域编码特征与干净音频信号对应的频域变换序列所确定的第一损失对第一子模型进行模型训练,获得频域处理子模型。
131.为了让第一子模型学习到样本音频信号中干净音频信号的频域特征,也就是信号的幅值信息与相位信息,幅值信息与相位信息是通过实部与虚部共同确定的,计算机设备可以根据频域编码特征与样本音频信号中干净音频信号对应的频域变换特征,构建损失函数,即第一损失,利用该第一损失进行模型训练,更新第一子模型的模型参数,在满足训练停止条件时,第一子模型学习到了从音频信号中挖掘出干净信号的频域特征的能力,训练好的模型可以称之为频域处理子模型。
132.在一个实施例中,第一损失的确定步骤包括:对干净音频信号进行频域变换处理,获得对应的频域变换序列,频域变换序列包括实部序列与虚部序列;根据干净音频信号对应的实部序列与样本音频信号对应的频域编码特征中的实部特征之间的差异、干净音频信号对应的虚部序列与样本音频信号对应的频域编码特征中的虚部特征之间的差异,确定第一损失。
133.具体地,计算机设备可以对生成样本音频信号时使用的干净音频信号进行傅里叶反变换,获得干净音频信号对应的频域变换特征,包括实部序列与虚部序列。计算机设备可以按照以下公式分别针对实部序列y
r
和虚部序列y
i
共同计算第一损失:
134.loss1=||y
r
‑
f
rw
(x)||2+||y
i
‑
f
iw
(x)||2;
135.其中,y
r
表示对干净音频信号进行傅里叶正变换获得的频域变换特征中的实部序列,y
i
表示对干净音频信号进行傅里叶正变换获得的频域变换特征中的虚部序列,f
rw
(x)表示样本音频信号对应的频域编码特征中的实部特征,f
iw
(x)表示样本音频信号对应的频域编码特征中的虚部特征,下标r表示复数的实部,下标i表示复数的虚部。
136.如图3所示,为一个实施例中频域处理子模型的模型框架示意图。参照图3,频域处理子模型包括傅立叶正变换模块、实部处理网络与虚部处理网络。其中,实部处理网络与虚部处理网络是基于实部虚部运算的complex
‑
lstm结构。样本音频信号输入该频域处理子模型后,通过傅里叶正变换模块进行傅里叶正变换,获得频域信号的实部序列与虚部序列,实部序列与虚部序列均经过complex
‑
lstm的特征编码,获得实部注意力与虚部注意力。基于实部注意力与虚部注意力从实部序列与虚部序列中挖掘出干净音频信号的频域编码特征。该频域编码特征经过傅里叶反变换可以获得时域信号。
137.在一个实施例中,由于按照第一损失训练得到的频域处理子模型,具备了从音频信号中挖掘出干净信号的频域特征的能力,计算机设备可以直接将该频域处理子模型与傅里叶反变换模块连接,获得音频降噪模型。也就是,当需要对原始音频信号进行降噪处理时,只需要将该原始音频信号输入训练得到的频域处理子模型,获得对应的频域编码特征后,再对该频域编码特征进行傅里叶反变换,即可获得原始音频信号对应的降噪信号。
138.步骤208,将频域处理子模型与待训练的时域处理子模型连接后共同训练,得到用于对音频信号进行降噪处理的音频降噪模型。
139.其中,时域处理子模型是用于从时域角度提炼音频信号中的干净信号的模型。时域处理子模型可以采用神经网络模型。在本实施例中,为了能够获得音质更佳的降噪信号,计算机设备还会进一步学习样本音频信号在时域的特征。具体地,计算机设备通过模型训练获得频域处理子模型后,将频域处理子模型与待训练的时域处理子模型继续进行集成训练,获得训练好的时域处理子模型以及模型参数被更新的频域处理子模型,集成训练结束后,将更新后的频域处理子模型与训练好的时域处理子模型连接,获得音频降噪模型。
140.也就是说,该音频降噪模型的前半部分在频域中进行学习,并且为充分利用音频信号的幅值、相位信息,设计了基于实部虚部运算的complex
‑
lstm结构,该音频降噪模型的后半部分是在时域上进一步补充学习,以获得音质更佳的降噪信号。
141.在一个实施例中,计算机设备将频域处理子模型与待训练的时域处理子模型继续进行集成训练时,不再引入频域处理子模型部分的损失,而是仅根据时域降噪子模块这部分的损失,对时域处理子模型的模型参数进行更新,同时调整频域处理子模型的模型参数。
142.计算机设备可以在集成训练时,将样本音频信号输入前一步骤获得的频域处理子模型,通过频域处理子模型输出对应的频域编码特征后,对该频域编码特征进行傅里叶反变换,获得时域信号,再将该时域信号输入时域处理子模型,通过时域处理子模型的处理输出降噪信号。计算机设备可以将样本音频信号中干净音频信号与时域处理子模型输出的降噪信号进行比对,进而计算损失函数,即时域处理子模型这部分的损失函数,再根据损失函数进行梯度反向传播,以此来调整时域处理子模型及频域处理子模型的模型参数。时域处理子模型这部分的损失函数可以采用评估音频降噪效果好坏的指标计算得到,例如snr(signal noise ratio,信噪比)或si
‑
sdr(scale invariant signal
‑
to
‑
distortion ratio,尺度不变信号失真比)。
143.如图4所示,为一个实施例中将频域处理子模型与时域处理子模型级联获得音频降噪模型的示意图。参照图4,在模型训练时,先采用样本音频信号对应的频域编码特征与生成该样本音频信号的干净音频信号对应的频域变换特征之间的差异,构建第一损失获得频域处理子模型,接着,将频域处理子模型与待训练的时域处理子模型进行级联,根据干净音频信号与时域处理子模型输出的降噪信号之间的差异共同进行模型训练。在共同训练结束后,获得的音频降噪模型中,频域处理子模型与时域处理子模型能够充分利用音频信号的频域信息与时域信息,从而获得非常好的音频降噪效果。
144.上述音频降噪模型的处理方法,音频降噪模型包括频域处理子模型与时域处理子模型,其中频域处理子模型包括实部处理网络与虚部处理网络,在获取到时域的原始音频信号后,通过频域处理子模型中的实部处理网络与虚部处理网络分别对样本音频信号的实部序列与虚部序列进行特征编码,这样的网络结构能够充分学习到原始音频信号的频域信息,即通过实部序列与虚部序列表征的幅值信息与相位信息,使得编码获得的实部注意力与虚部注意力能够对样本音频信号中干净音频信号赋予更多、更准确的注意,这样,基于实部序列与虚部序列、实部注意力与虚部注意力所获得样本音频信号对应的频域编码特征,根据该频域编码特征与生成该样本音频信号的干净音频信号对应的频域变换序列所确定的第一损失对该频域处理子模型进行模型训练,能够使频域处理子模型准确学习到样本音频信号中干净信号的频域特征,后续再联合该频域处理子模型与时域处理子模型共同进行模型训练,获得的音频降噪模型的降噪效果就会更好。
145.如图5所示,在一个实施例中,通过基于神经网络的第一子模型中的实部处理网络与虚部处理网络,分别对将样本音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得样本音频信号对应的实部注意力与虚部注意力,包括:
146.步骤502,将样本音频信号输入基于神经网络的第一子模型。
147.具体地,计算机设备可以事先设置第一子模型的模型结构,并调用第一子模型,将获取的样本音频信号输入该第一子模型。
148.步骤504,在第一子模型中,对样本音频信号进行频域变换,获得样本音频信号对应的实部序列与虚部序列。
149.具体地,计算机设备可以在第一子模型中,对样本音频信号进行频域变换后转换为频域信号。例如,可以对样本音频信号进行短时傅里叶变换,获得频域信号中的实部序列与虚部序列。
150.步骤506,通过第一子模型中的实部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第一编码特征与虚部第一编码特征。
151.步骤508,通过第一子模型中的虚部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第二编码特征与虚部第二编码特征。
152.为了获得好的降噪效果,计算机设备从频域角度学习音频信号的频域特征。将时域信号转换为频域信号后,为充分学习音频信号的幅值信息、相位信息,计算机设备对实部序列与虚部序列进行特征编码,从时域信号中挖掘出干净音频信号的频域特征。具体地,在实部处理网络内部与虚部处理网络内部,计算机设备将输入的实部序列与虚部序列均与网络内部参数矩阵进行运算,获得相应的编码特征。
153.参照复数乘法公式:
154.复数complex1=a+jb;
155.复数complex2=c+jd;
156.复数complex1与复数complex2相乘:
157.complex1·
complex2=(a
·
c
‑
b
·
d)+j(a
·
d+b
·
c);
158.本发明实施例定义了实部处理网络与虚部处理网络对实部序列与虚部序列进行运算的公式:
159.l
rr
=lstm
r
(x
r
);l
ir
=lstm
r
(x
i
);
160.l
ri
=lstm
i
(x
r
);l
ii
=lstm
i
(x
i
);
161.l
out
=l
rr
‑
l
ii
+j(l
ri
+l
ir
);
162.其中,x
r
表示对输入的样本音频信号x进行频域变换后获得实部序列,x
i
表示对输入的样本音频信号x进行频域变换后获得的虚部序列;l
rr
表示经过处理实部处理网络lstm
r
对x
r
处理后得到的运算结果,即实部第一编码特征l
rr
;l
ir
表示经过实部处理网络lstm
r
对x
i
进行处理后得到的运算结果,即虚部第一编码特征l
ir
;l
ri
表示虚部处理网络lstm
i
对x
r
进行处理后得到的运算结果,即实部第二编码特征;l
ii
表示经过虚部处理网络lstm
i
对x
i
进行处理后处理后得到的运算结果,即虚部第二编码特征;l
out
表示经过每一层实部处理网络与虚部处理网络后得到的运算结果,包括l
rr
‑
l
ii
构成的实部与l
ri
+l
ir
构成的虚部。
163.也就是说,complex
‑
lstm中每一层的输出结果也分为实部和虚部,其中实部是与样本音频信号对应的频域信号中实部序列、虚部序列均有关系的,虚部是与样本音频信号对应的频域信号中实部序列、虚部序列均有关系的。
164.如图6所示,为一个实施例中实部处理网络与虚部处理网络对实部序列与虚部序列进行特征编码的示意图。参照图6,实部序列x
r
与虚部序列x
i
,将会被实部处理网络的网络参数w
r
与虚部处理网络的网络参数
‑
w
i
共同按照第一方式映射成实部注意力(即l
rr
‑
l
ii
),实部序列x
r
与虚部序列x
i
,将会被实部处理网络的网络参数
‑
w
r
与虚部处理网络的网络参数w
i
共同按照第二方式映射成虚部注意力(即l
ri
+l
ir
)。
165.步骤510,根据实部第一编码特征与虚部第二编码特征,获得样本音频信号对应的实部注意力,根据实部第二编码特征与虚部第一编码特征,获得样本音频信号对应的虚部注意力。
166.根据上述定义的公式:l
out
=l
rr
‑
l
ii
+j(l
ri
+l
ir
);
167.计算机设备可以将实部处理网络输出的实部第一编码特征l
rr
与虚部处理网络输出的虚部第二编码特征l
ii
之差,作为样本音频信号对应的实部注意力,将虚部处理网络输出的实部第二编码特征l
ri
与实部处理网络输出的虚部第一编码特征l
ir
之和,作为样本音频信号对应的虚部注意力。
168.这样,经过第一子模型中实部处理网络与虚部处理网络的特征编码,获得的实部注意力参考了样本音频信号的实部与虚部,获得的虚部注意力特参考了样本音频信号的实部与虚部,能够充分利用样本音频信息的多方面信息,为后续获得较好的降噪效果提供了可解释性。
169.在一个实施例中,第一子模型中的实部处理网络与虚部处理网络包括至少两层,计算机设备获取前一层实部处理网络与虚部处理网络输出的复数结果,将其拆分为实部与虚部后作为当前层的输入,利用当前层的实部处理网络与虚部处理网络,分别进行特征编码后获得各编码特征,并将各编码特征按上述公式进行运算获得当前层输出的复数结果,输入到下一层中进行同样的特征编码与运算,以此类推,直至获得末尾层输出的复数结果,将其拆分为实部与虚部后分别作为实部注意力与虚部注意力。
170.在一些实施例中,末尾层输出的复数结果还可经过全连接层的处理,从而得到最终的实部注意力与虚部注意力。全连接层用于对其输入特征和该全连接层对应的网络参数进行矩阵相乘处理,从而输出对应的特征。具体地,末尾层的实部处理网络与第一全连接层相连,末尾层的虚部处理网络与第二全连接层相连,也就是末尾层的实部处理网络与虚部处理网络输出的复数结果中的实部即为第一全连接层的输入,末尾层的实部处理网络与虚部处理网络输出的复数结果中的虚部即为第二全连接层的输入。第一全连接层可以用于对该实部和该第一全连接层对应的网络参数进行矩阵相乘处理,获得原始音频信号对应的实部注意力,第二全连接层可以用于对该虚部和该第二全连接层对应的网络参数进行矩阵相乘处理,获得原始音频信号对应的虚部注意力。
171.需要说明的是,频域处理子网络中包括至少两层实部处理网络与虚部处理网络,其中,首层的实部处理网络与虚部处理网络,用于接收原始音频信号对应的实部序列与虚部序列,末尾层的实部处理网络与虚部处理网络,用于输出原始音频信号对应的实部注意力与虚部注意力,“当前层”的实部处理网络与虚部处理网络,用于描述频域处理子网络中当前进行特征编码的层,“上一层”的实部处理网络与虚部处理网络,用于描述频域处理子网络中在当前层的上一层,当前层的实部处理网络与虚部处理网络的输入数据为上一层的实部处理网络与虚部处理网络的输出数据。并且,“当前层”是一个相对变化的概念,比如,在在通过当前层s利用上一层s
‑
1的输出结果进行特征编码获得当前层s的输出结果后,将当前层s的输出结果输入到下一层s+1,此时下一层s+1利用当前层s的输出结果进行特征编码,则可将该下一层s+1作为新的“当前层”,将当前层s作为新的上一层。例如,当前层可以是首层,可以是末尾层;上一层可以是首层,可以是第二层;下一层可以是第二层,也可以是末尾层。
172.可以理解,本技术实施例中,当前层、上一层、末尾层并不受限于在频域处理子网络中的部署位置,而是与数据在频域处理子网络中的处理顺序相关。例如,频域处理子网络中,当数据从左往右依次处理时,上一层可以设置在下一层的左边,当数据从右往左依次处理时,上一层也可以设置在下一层的右边,当数据从上往下依次处理时,上一层还可以设置在下一层的上边,当数据从下往上依次处理时,上一层也可以设置在下一层的下边。类似地,末尾层、首层在频域处理子网络中的部署位置,也是与在频域处理子网络中的处理顺序相关。参照图7,数据在频域处理子网络中从上往下依次处理,上一层设置在下一层的上边,首层设置为第一层,末尾层为最后一层,也就是第二层。
173.如图7所示,为一个实施例中两层实部处理网络与虚部处理网络的示意图。参照图7,样本音频信号对应的频域信号中的实部序列与虚部序列,均被输入第一层的实部处理网络与虚部处理网络,获得第一层输出的复数结果,该复数结果中的实部与序列,均被输入第二层的实部处理网络与虚部处理网络,获得第二层输出的复数结果,第二层输出的复数结果中的实部输入第一全连接层,输出原始音频信号对应的实部注意力,第二层输出的复数结果中的虚部输入第二全连接层,输出样本音频信号对应的虚部注意力。
174.计算机设备通过频域处理子模型中基于实部虚部运算的实部处理网络与虚部处理网络获得实部注意力与虚部注意力后,样本音频信号对应的频域编码特征可以采用将注意力与原始信号相乘的形式表示。
175.在一个实施例中,基于实部序列与虚部序列、实部注意力与虚部注意力,获得样本音频信号对应的频域编码特征,包括:将实部序列与实部注意力相乘,获得样本音频信号对应的频域编码特征的实部;将虚部序列与虚部注意力相乘,获得样本音频信号对应的频域编码特征的虚部。
176.具体地,获得的对样本音频信号中干净音频信号的注意力包括实部注意力与虚部注意力两部分,计算机设备可以忽略相位,采用实数乘法的形式相乘。也就是,直接将该实部注意力与样本音频信号对应的频域信号中的实部序列相乘,乘积结果作为样本音频信号对应的频域编码特征的实部,将该虚部注意力与样本音频信号对应的频域信号中的虚部序列相乘,乘积结果作为样本音频信号对应的频域编码特征的虚部。
177.即通过以下公式表示:
[0178][0179]
其中,表示样本音频信号对应的频域编码特征,x表示对输入的样本音频信号x进行频域变换后获得实部序列,x
i
表示对输入的样本音频信号x进行频域变换后获得的虚部序列,表示实部注意力,表示虚部注意力。
[0180]
在一个实施例中,基于实部序列与虚部序列、实部注意力与虚部注意力,获得样本音频信号对应的频域编码特征,包括:将实部序列与实部注意力相乘得到第一结果,将虚部序列与虚部注意力相乘得到第二结果,将第一结果与第二结果之差作为样本音频信号对应的频域编码特征的实部;将实部序列与虚部注意力相乘得到第三结果,将虚部序列与实部注意力相乘得到第四结果,将第三结果与第四结果之和作为样本音频信号对应的频域编码特征的虚部。
[0181]
具体地,获得的对样本音频信号中干净音频信号的注意力包括实部注意力与虚部
注意力两部分,计算机设备可以按照实部和虚部的格式相乘,也就是按照复数乘法的公式:
[0182][0183]
其中,表示样本音频信号对应的频域编码特征,x
r
表示对输入的样本音频信号x进行频域变换后获得实部序列,x
i
表示对输入的样本音频信号x进行频域变换后获得的虚部序列,表示实部注意力,表示虚部注意力。
[0184]
在一个实施例中,基于实部序列与虚部序列、实部注意力与虚部注意力,获得样本音频信号对应的频域编码特征,包括:基于实部序列与虚部序列,获得样本音频信号的原始幅值信息与原始相位信息;基于实部注意力与虚部注意力,获得样本音频信号的预测幅值信息与预测相位信息;根据原始幅值信息与预测幅值信息之积,获得样本音频信号对应的频域编码特征的幅值信息;根据原始相位信息与预测相位信息之和,获得样本音频信号对应的频域编码特征的相位信息。
[0185]
具体地,获得的对样本音频信号中干净音频信号的注意力包括实部注意力与虚部注意力两部分,计算机设备可以使用幅值相位信息相乘。也就是按照幅值相位乘法的公式:
[0186][0187][0188][0189]
其中,表示样本音频信号对应的频域编码特征,x
mag
表示基于样本音频信号的实部序列x
r
与虚部序列x
i
获得的原始幅值信息,x
phase
表示基于样本音频信号的实部序列x
r
与虚部序列x
i
获得的原始相位信息,表示基于实部注意力与虚部注意力获得的样本音频信号的预测幅值信息,基于实部注意力与虚部注意力获得的样本音频信号的预测相位信息,j表示复数。
[0190]
上述实施例中,通过将输出的实部注意力与虚部注意力,分别与原始信号中的实部序列与虚部序列相乘,从而获得最终的频域编码特征,使得频域处理子模型逐步学习到输出的注意力在与原始信号相乘时可以得到干净信号的能力。
[0191]
进一步地,由于每种机器学习任务都或多或少存在一些噪音,例如,当训练任务a对应的子模型时,容易忽略了数据相关的噪音以及泛化性能。由于不同的任务有不同的噪音模式,同时学习到多个任务可以得到一个更为泛化的表示。多任务学习是指将多个相关的机器学习任务放在一起进行学习,学习过程中通过浅层的共享表示来互相分享、互相补充学习到的相关领域的信息,多任务之间可以相互促进。因此,为了能够提高模型的泛化能力,在训练时域处理子模型时,计算机设备还可以设置一个噪声场景分类任务,根据时域处理子模型的时域降噪任务与该噪声场景分类任务进行多任务的学习。在本实施例中,噪声场景分类任务与时域降噪任务有较高的相关性,能够提升两个子任务的效果,同时提升了整体模型的泛化能力。
[0192]
噪声场景分类具有一定的应用意义,处于不同场景的用户对噪声的敏感程度不同,可以采用不同的降噪等级。例如,用户日常与亲朋好友联络场景中,适当的压制噪声即
可满足需求,降噪程度可以稍弱一些;用户处于多人开会通话场景中,此时用户对消除嘈杂的背景声音有较高的要求。根据用户所处噪声场景的不同,进行不同程度的降噪,有利于提升用户的体验。那么,在识别出音频中噪声场景类别后,可以自动地按相应的降噪等级输出降噪信号,或者可以按用户输入的降噪等级输出降噪信号。
[0193]
在一个实施例中,计算机设备可以在获得频域处理子模型后,设置与该频域处理子模型连接的第二子模型与第三子模型,第二子模型用于学习信号的时域特征,实现对时域信号进行降噪,第三子模型用于学习信号的时域特征,实现对时域信号的噪声场景类别进行分类。第二子模型与第三子模型均是基于神经网络的模型。在利用时域降噪任务与噪声场景分类任务进行多任务的学习时,输入的样本音频信号的标签信息还包括噪声场景类别。前文提到,计算机设备可以将干净音频信号与噪声信号按照不同的信噪比混合后得到样本音频信号,那么样本音频信号的标签信息还包括混合的噪声信号的噪声场景类别,如白噪声、风声、地铁声、键盘声、鼠标声,等等。
[0194]
如图8所示,在一个实施例中,步骤208,将频域处理子模型与待训练的时域处理子模型连接后共同训练,得到用于对音频信号进行降噪处理的音频降噪模型,包括:
[0195]
步骤802,将频域处理子模型与基于神经网络的第二子模型、第三子模型连接。
[0196]
具体地,时域降噪任务与噪声场景分类任务是两个并列的子任务,在进行多任务学习时,计算机设备可以将频域处理子模型分别与第二子模型、第三子模型连接。
[0197]
步骤804,将样本音频信号对应的频域编码特征变换为时域信号。
[0198]
具体地,时域降噪任务与噪声场景分类任务均是从时域角度对信号进行处理。因此,计算机设备可以将频域处理子模型获得的频域编码特征变换为时域信号后,再分别输入第二子模型与第三子模型。可以对频域编码特征进行傅里叶反变换,获得时域信号。
[0199]
可选地,计算机设备在频域处理子模型获得频域编码特征后,通过频域处理子模型将频域编码特征变换为时域信号。计算机设备可以将频域编码特征分别输入第二子模型、第三子模型,各自通过傅里叶反变换将频域编码特征变换为时域信号。
[0200]
步骤806,基于第二子模型对时域信号进行降噪处理获得的降噪信号与干净音频信号所确定的第二损失、第三子模型对时域信号进行噪声分类获得的噪声场景类别与样本音频信号的噪声标签类别所确定的第三损失,构建多任务目标函数。
[0201]
计算机设备根据音频降噪任务与噪声场景分类任务各自的目标,分别设计了损失函数,即第二损失与第三损失。多任务目标函数是融合多个任务的损失的目标函数。本实施例中的多任务目标函数融合了时域降噪任务的第二损失与噪声场景分类任务对应的第三损失,将第二损失与第三损失融合在一起后优化该同一个多任务目标函数,实现两个任务的优化。
[0202]
在一些实施例中,计算机设备将频域处理子模型与第二子模型、第三子模型继续进行集成训练时,构建的多任务目标函数不再引入频域处理子模型部分的损失,而是仅根据第二子模型对应的时域降噪任务的损失和第三子模型对应的噪声场景分类任务的损失,对第二子模型与第三子模型的模型参数进行更新,同时调整频域处理子模型的模型参数。
[0203]
在一些实施例中,为了避免整个音频降噪模型在训练过程中被某个任务主导而导致最终性能变差,因此利用方差不确定性来确定多任务中每个任务的权重。多任务目标函数的推导过程如下:
[0204]
假设模型的输入是x,模型的权重为w,则模型的输出为f
w
(x)。
[0205]
那么,对于回归任务,可以定义一个高斯似然函数的概率模型:
[0206]
p(y|f
w
(x))=n(f
w
(x),σ2);
[0207]
其中,n代表高斯似然函数,高斯似然函数的均值是模型的输出f
w
(x),高斯似然函数的标准差σ也作为模型的噪声,根据模型的输出f
w
(x)统计得到。
[0208]
对于多个任务,可以定义多任务似然函数的概率模型为:
[0209]
p(y|f
w
(x))=p(y1|f
w
(x))...p(y
k
|f
w
(x));
[0210]
那么,对于两个回归任务,输出分别是y1和y2,根据模型参数w及σ定义两个回归任务的多任务目标函数的概率模型为:
[0211]
p(y1,y2|f
w
(x))=p(y1|f
w
(x))
·
p(y2|f
w
(x))
[0212]
=n(y1;f
w
(x),σ
12
)
·
n(y2;f
w
(x),σ
22
);
[0213]
进而得到了多个回归任务的目标函数:
[0214][0215]
其中,l1和l2分别表示两个回归任务的损失函数,模型的目标是最小化此多任务目标函数l(w,σ1,σ2),从该目标函数可以看出,当模型噪声增大时,在损失函数中的相应权重会下降,如果模型噪声减小,在损失函数中的权重会增加。
[0216]
对于本技术实施例中,多任务包括时域降噪任务与噪声场景分类任务,前者为回归任务,后者为分类任务。分类任务通常是将网络输出接入到softmax函数中,得到一个分类概率,根据分类概率确定最终的分类结果,即分类任务的概率模型为:p(y|f
w
(x))=softmax(f
w
(x));
[0217]
那么,参考上面的两个回归任务的多任务目标函数,本技术实施例中时域降噪任务与噪声场景分类任务的多任务目标函数可以按如下方式确定:
[0218][0219]
其中,l1表示时域降噪任务对应的第二损失,l2表示噪声场景分类任务对应的第三损失;σ1表示根据第二子模型的输出结果所统计得到的标准差,σ2表示根据第三子模型的输出结果所统计得到的标准差。
[0220]
在一个实施例中,上述多任务目标函数的构建步骤包括:获取第二子模型对多个样本音频信号对应的时域信号进行降噪处理获得的多个降噪信号,根据多个降噪信号的标准差确定第二损失的权重;获取第三子模型对多个样本音频信号对应的时域信号进行噪声分类获得的多个噪声场景类别,根据多个噪声场景类别的标准差确定第三损失的权重;按照各自的权重融合第二损失与第三损失,获得多任务目标函数。
[0221]
基于上面推导得到的多任务目标函数,计算机设备可以根据第二子模型的时域降噪任务对应的第二损失与第三子模型的噪声场景分类任务对应的第三损失,构建多任务目标函数。其中,第二损失是根据第二子模型输出的降噪信号与生成样本音频信号的干净音频信号之间的差异确定的,第二损失的权重是根据第二子模型输出的多个样本音频信号对应的降噪信号的标准差确定的。第三损失是根据第三子模型输出的噪声场景类别与生成样本音频信号所使用的的噪声信号的标签类别之间的差异所确定的,第三损失的权重是根据第三子模型输出的多个样本音频信号对应的噪声场景类别的标准差确定的。
[0222]
步骤808,根据多任务目标函数对频域处理子模型、第二子模型与第三子模型共同进行模型训练,获得更新的频域处理子模型、训练好的时域处理子模型以及训练好的噪声分类子模型。
[0223]
具体地,计算机设备在进行多任务训练时,将样本音频信号输入频域处理子模型,通过频域处理子模型输出对应的频域编码特征后,对该频域编码特征进行傅里叶反变换,获得时域信号,再将该时域信号输入第二子模型与第三子模型,通过第二子模型的处理输出降噪信号,通过第三子模型输出噪声场景类别。计算机设备可以根据样本音频信号中干净音频信号与第二子模型输出的降噪信号进行比对,进而计算第二损失,根据样本音频信号中噪声信号的噪声标签类别与第三子模型输出的噪声场景类别计算第三损失,根据第二损失与第三损失构建多任务目标函数,根据该多任务目标函数进行梯度反向传播,以此来训练第二子模型与第三子模型,获得训练好的时域处理子模型以及训练好的噪声分类子模型,同时更新频域处理子模型的模型参数。
[0224]
步骤810,将更新的频域处理子模型与训练好的时域处理子模型连接,得到用于对音频信号进行降噪处理的音频降噪模型。
[0225]
具体地,计算机设备可以将更新后的频域处理子模型与经过多任务学习获得的时域处理子模型连接,作为音频降噪模型。在其他实施例中,计算机设备也可以将更新后的频域处理子模型与经过多任务学习获得的时域处理子模型连接,还与经过多任务学习获得的噪声分类子模型进行连接,获得用于同时对音频信号进行降噪处理与噪声场景分类的音频降噪模型。
[0226]
本实施例中,噪声场景分类任务与时域降噪任务有较高的相关性,基于多任务学习能够同时提升两个子任务的效果,提升了整体模型的泛化能力。
[0227]
在一个实施例中,第二损失的确定步骤包括:通过第二子模型中的编码器,对时域信号进行编码,获得时域编码向量,通过第二子模型中的时序特征提取网络,对时域编码向量进行特征提取,获得时域信号对应的隐藏特征,通过第二子模型中的解码器,基于时域编码向量和隐藏特征进行解码,获得第二样本集合中的样本音频信号对应的降噪信号;根据降噪信号与干净音频信号,构建第二损失。
[0228]
其中,第二子模型采用基于卷积的encoder
‑
decoder结构。encoder
‑
decoder结构将输入序列转换为另一个序列输出。在该框架中,编码器将输入的时域信号对应的序列转化成向量,解码器则接受向量并按时间顺序依次生成输出序列。编码器以及解码器可以采用相同类型的神经网络模型,也可以是不同类型的神经网络模型。比如,编码器以及解码器可以均为cnn(convolutional neural networks,卷积神经网络)模型,或者编码器采用rnn(recurrent neural networks)模型、解码器采用cnn模型,第二子模型的时序特征提取网
络可以采用lstm模型,例如采用2层的lstm网络,可以学习输入的时域信号在时序上的依赖性。
[0229]
具体地,计算机设备将频域子模型输出的时域信号输入第二子模型,通过第二子模型的编码器将输入的时域信号转化成时域编码向量,再经过中间的时序特征提取网络,提取时域编码向量在时序上的内在联系,挖掘隐藏特征。本实施例中,时序特征提取网络相对于作为输入层的编码器和作为输出层的解码器,是中间层,也称之为隐藏层,因此时序特征提取网络提取的特征称之为隐藏特征。最后通过解码器基于时域编码向量与隐藏特征进行解码,输出降噪信号。计算机设备根据第二子模型输出的降噪信号与生成样本音频信号所使用的干净音频信号,构建第二损失。
[0230]
如图9(a)所示,为一个实施例中用于训练得到时域处理子模型的第二子模型的结构示意图。参照图9(a),第二子模型采用基于卷积的encoder
‑
decoder(编码器
‑
解码器)结构,编码器、解码器可以是1维卷积,第二子模型的中间层采用lstm网络。
[0231]
在一个实施例中,根据降噪信号与干净音频信号,构建第二损失,包括:将样本音频信号对应的降噪信号向干净音频信号的垂直方向与水平方向分别进行投影,获得垂直投影向量与水平投影向量;根据垂直投影向量与水平投影向量,获得第二损失。
[0232]
具体地,计算机设备可以将输出的降噪信号对应的向量投影到干净音频信号对应的向量所在方向的垂直方向与水平方向,再把该垂直投影向量作为分母,将水平投影向量作为分子,再取对数后获得第二损失。可见,当第二子模型输出的降噪信号与干净音频信号平行时,第二损失越小,而当降噪信号对应的向量与干净音频信号对应的向量的向量方向偏差越大时,垂直投影向量越大,第二损失值就越大。
[0233]
在一个实施例中,第二损失可以通过以下公式确定:
[0234][0235]
y
e
=y*
‑
y
t
;
[0236][0237]
其中,y
e
表示垂直投影向量,y
t
表示水平投影向量,y
true
表示干净音频信号,y*表示第二子模型输出的降噪信号。
[0238]
参照图9(b)所示,为一个实施例中第二损失与投影向量的关系示意图。参照图9(b)的右边,当第二子模型输出的降噪信号y*与干净音频信号y
true
平行时,水平投影向量y
t
最大,垂直投影向量y
e
最小,第二损失越小,而当降噪信号对应的向量与干净音频信号对应的向量的向量方向偏差越大时,水平投影向量y
t
越小,垂直投影向量y
e
越大,第二损失值就越大。
[0239]
本实施例中,通过将第二子模型输出的降噪信号对应的向量向干净音频型号的方向进行投影,能够合理有效地表征输入的样本音频信号与输出的降噪信号之间的差异。
[0240]
在一个实施例中,第三损失的确定步骤包括:通过第三子模型中的编码器,对时域信号进行编码,获得时域编码向量,通过第三子模型中的时序特征提取网络,对时域编码向量进行特征提取,获得时域信号对应的隐藏特征,通过第三子模型中的输出层,基于隐藏特
征预测样本音频信号的噪声场景类别;根据噪声场景类别与用于生成样本音频信号的噪声信号的噪声标签类别,构建第三损失。
[0241]
具体地,计算机设备将频域子模型输出的时域信号输入第三子模型,通过第三子模型的编码器将输入的时域信号转化成时域编码向量,再经过中间的时序特征提取网络,提取时域编码向量在时序上的内在联系,挖掘隐藏特征。最后通过输出层基于隐藏特征输出样本音频信号的噪声场景类别。计算机设备根据第三子模型输出的噪声场景类别与生成样本音频信号所使用的噪声信号的噪声标签类别,构建第三损失。第三子模型的时序特征提取网络可以采用lstm,例如是2层的lstm网络。
[0242]
第三子模型的输出层包括全连接层、激活层与归一化层。输出层中的全连接层接收特征提取网络提取的隐藏特征,对其与该全连接层对应的模型参数进行矩阵相乘处理,将隐藏特征映射到样本空间,最后再经过激活层引入非线性特性后,通过归一化层(softmax函数)输出样本音频信号对应的噪声场景类别。
[0243]
在一个实施例中,噪声场景分类任务对应的第三损失可以采用交叉熵损失函数,通过如下公式表示:
[0244][0245]
其中,k表示噪声分类的总类别数量,例如采用了5种不同场景的噪声用于生成大量的样本音频信号,则k的取值为5;yi表示用于生成当前处理的样本音频信号的噪声信号的噪声标签类别,例如,如果真实标签是第i类,那么yi=1,否则yi=0;pi表示第三子模型预测的样本音频信号的噪声场景类别,即噪声属于类别i的概率,该值通过输出层softmax函数计算得出的。
[0246]
如图10所示,为一个实施例中用于训练得到噪声分类子模型的第三子模型的结构示意图。参照图10,第三子模型的输入层为编码器,第三子模型的中间层采用两层lstm结构,根据这一部分结构学习到的噪声信息来对噪声场景进行分类处理。
[0247]
如图11所示,为一个实施例中对时域降噪任务与噪声场景分类任务进行多任务学习的模型结构示意图。参照图11,样本音频信号输入频域处理子模型1102,通过频域处理子模型1102中傅里叶正变换模型将其变换为频域信号,频域信号包括实部序列与虚部序列,通过频域处理子模型中基于complex
‑
lstm的实部处理网络与虚部处理网络分别对实部序列与虚部序列进行特征编码,获得实部注意力与虚部注意力,基于实部注意力、虚部注意力与实部序列、虚部序列,得到频域编码特征,通过频域处理子模型中傅里叶反变换模块,将频域处理子模型中变换为时域信号,分别输入时域处理子模型1104与噪声分类子模型1106。通过时域处理子模型1104中的编码器对时域信号进行编码,获得时域编码向量,通过时域处理子模型1104中基于lstm的时序特征提取网络对时域编码向量进行特征提取,获得时域信号对应的隐藏特征,再将时域编码向量输入至时域处理子模型1104中的解码器,解码器输出样本音频信号对应的降噪信号,输出的该降噪信号与样本音频信号中干净音频信号可构建第二损失。通过噪声分类子模型1106对时域信号进行噪声分类,输出的该噪声场景类别与样本音频信号中噪声信号的噪声标签类别可构建第三损失。根据第二损失与第三损失可构建多任务目标函数进行多任务学习。
[0248]
在一个实施例中,计算机设备在进行多任务学习之前,可以在获得频域处理子模
型后,设置与该频域处理子模型连接的第二子模型,先对第二子模型进行模型预训练,获得预训练的时域处理子模型,再引入用于对噪声场景类别进行分类的第三子模型,基于预训练好的时域处理子模型与第三子模型的多任务目标函数,对整个模型进行集成训练。
[0249]
如图12所示,在一个实施例中,步骤208,将频域处理子模型与待训练的时域处理子模型连接后共同训练,得到用于对音频信号进行降噪处理的音频降噪模型,包括:
[0250]
步骤1202,将频域处理子模型与基于神经网络的第二子模型、第三子模型连接。
[0251]
具体地,时域降噪任务与噪声场景分类任务是两个并列的子任务,在需要进行多任务学习时,计算机设备可以将频域处理子模型分别与第二子模型、第三子模型连接。
[0252]
步骤1204,将样本音频信号对应的频域编码特征变换为时域信号。
[0253]
具体地,时域降噪任务与噪声场景分类任务均是从时域角度对信号进行处理。因此,计算机设备可以将频域处理子模型获得的频域编码特征变换为时域信号后。计算机设备可以对频域编码特征进行傅里叶反变换,获得时域信号。
[0254]
步骤1206,基于第二子模型对时域信号进行降噪处理获得的降噪信号与干净音频信号所确定的第二损失,对频域处理子模型与第二子模型共同进行模型训练,获得更新的频域处理子模型与训练好的时域处理子模型。
[0255]
计算机设备先将频域处理子模型引入至第二子模型,以在多任务学习之前,先对第二子模型进行预训练,这样可以使得第二子模型有一个较好的初始网络参数,以加快后续与噪声分类子任务进行多任务学习时的效率。
[0256]
在一些实施例中,计算机设备将频域处理子模型与第二子模型共同训练时,仅根据第二子模型对应的时域降噪任务的第二损失,根据该第二损失进行梯度反向传播,以此来训练第二子模型获得预训练好的时域处理子模型,同时更新频域处理子模型的模型参数。
[0257]
步骤1208,将样本音频信号输入更新的频域处理子模型获得对应的频域编码特征,将频域编码特征变换为时域信号后分别输入训练好的时域处理子模型与第三子模型。
[0258]
获得时域处理子模型后,对于后续用于多任务学习的样本音频信号,计算机设备将频域处理子模型输出的时域信号,同时输入预训练好的时域处理子模型与第三子模型。
[0259]
步骤1210,基于训练好的时域处理子模型对时域信号进行降噪处理获得的降噪信号与干净音频信号所确定的第二损失、第三子模型对时域信号进行噪声分类获得的噪声场景类别与样本音频信号的噪声标签类别所确定的第三损失,构建多任务目标函数。
[0260]
计算机设备根据预训练好的时域处理子模型对应的时域降噪任务的第二损失和第三子模型对应的噪声场景分类任务的第三损失,构建多任务目标函数。
[0261]
步骤1212,根据多任务目标函数对频域处理子模型、训练好的时域处理子模型与第三子模型共同进行模型训练,获得更新的频域处理子模型、更新的时域处理子模型以及噪声分类子模型。
[0262]
计算机设备根据该多任务目标函数进行梯度反向传播,以此来训练第三子模型获得训练好的噪声分类子模型,同时更新频域处理子模型与时域处理子模型的模型参数。
[0263]
步骤1214,将更新的频域处理子模型与更新的时域处理子模型连接,得到用于对音频信号进行降噪处理的音频降噪模型。
[0264]
具体地,计算机设备可以将更新后的频域处理子模型与经过多任务学习获得的时
域处理子模型连接,作为音频降噪模型。在其他实施例中,计算机设备也可以将更新后的频域处理子模型与经过多任务学习获得的时域处理子模型连接,还与经过多任务学习获得的噪声分类子模型进行连接,获得用于同时对音频信号进行降噪处理与噪声场景分类的音频降噪模型。
[0265]
如图13所示,为一个实施例中音频降噪模型训练的步骤示意图。参照图13,模型的训练的分为三个步骤,首先,先对频域处理子模型进行学习,频域处理子模型输入为带噪声的样本音频信号,输出为基于complex
‑
lstm的网络输出的实部注意力与虚部注意力;其次,对预训练的频域处理子模型接入时域处理子模型,输入预训练的频域处理子模型的为带噪声的样本音频信号,时域处理子模型输出的是降噪信号,根据样本音频信号中干净音频信号与降噪信号采用si
‑
snr作为损失函数,对时域处理子模型进行训练;最后,接入噪声分类子模型,然后对整个网络进行多任务学习之后,获得整个音频降噪模型,再观测整个音频降噪模型在测试集上的表现。
[0266]
在具体任务中,模型参数量的增加能一定程度提高模型的表征学习能力,提升模型的指标效果,但受限于各项性能要求,往往需要模型尽可能在有限参数量下达到指标评估最优。由于在同时完成降噪和分类两个子任务的情况下,单个任务所采用的网络结构计算量较大,为模型部署带来阻碍,为了保证模型性能计算机设备可以使用针对音频降噪模型的蒸馏策略,进一步提升音频降噪模型在音频时域降噪任务上的评估指标。
[0267]
如图14所示,为一个实施例中针对时域降噪子模型进行模型蒸馏训练的流程示意图。参照图14,包括以下步骤:
[0268]
步骤1402,根据音频降噪模型获得用于对音频信号进行降噪处理的教师模型,并根据频域处理子模型与轻量时域降噪网络,构建用于对音频信号进行降噪处理的学生模型。
[0269]
具体地,计算机设备可以先进行设置网络参数量较大的教师模型,按照前文提供的实施方式,在全量数据训练下,获得已训练好的教师模型。此外,计算机设备根据训练好的频域处理子模型与轻量时域降噪网络,构建用于对音频信号进行降噪处理的学生模型。
[0270]
轻量时域降噪网络相较于教师模型中的时域处理子模型,是体积较小、网络参数较少、计算量较少的网络,例如,教师模型的网络参数量比学生模型的网络参数量大10倍左右。教师模型是模型体积较大、网络参数较多、计算量较大的音频降噪模型,全量数据训练下,教师模型要比学生模型有更优的评估指标,因此,可以通过这样的教师模型对学生模型在音频时域降噪任务上的能力进行指导。
[0271]
步骤1404,将样本音频信号输入教师模型,通过教师模型中的频域处理子模型获得对应的频域编码特征,将频域编码特征变换为时域信号后,通过教师模型中的时域处理子模型中的编码器对时域信号进行编码,获得样本音频信号对应的第一时域编码向量,通过时域处理子模型中的解码器,基于第一时域编码向量获得样本音频信号对应的第一降噪信号。
[0272]
其中,第一降噪信号是教师模型对输入的样本音频信号进行降噪处理获得的预测结果,将该预测结果可以作为学生模型的标注信息,指导学生模型学习。此外,第一时域编码向量是教师模型中的时域处理子模型中的编码器对时域信号进行编码获得的编码向量。
[0273]
步骤1406,将样本音频信号输入学生模型,通过学生模型中的频域处理子模型获
得对应的频域编码特征,将频域编码特征变换为时域信号后,通过轻量时域降噪网络中的编码器对时域信号进行编码,获得样本音频信号对应的第二时域编码向量,通过轻量时域降噪网络中的解码器,基于第二时域编码向量获得样本音频信号对应的第二降噪信号。
[0274]
其中,第二降噪信号是学生模型对输入的样本音频信号进行降噪处理获得的预测结果。第二时域编码向量是学生模型中轻量时域降噪网络中的编码器对时域信号进行编码获得的编码向量。
[0275]
步骤1408,基于第一时域编码向量与第二时域编码向量之间的均方差损失、第一降噪信号与第二降噪信号之间的均方差损失以及第一降噪信号与第二降噪信号之间的数据结构损失确定的模型蒸馏损失,根据模型蒸馏损失对学生模型进行模型训练,获得轻量音频降噪模型。
[0276]
在本实施例中,模型蒸馏训练指的是利用训练好的、准确度较高的教师模型输出的预测结果指导学生模型的训练,实现知识的迁移。因此,计算机设备可以根据学生模型输出的第二降噪信号与训练好的教师模型输出的第一降噪信号,构造模型蒸馏损失函数,利用该模型蒸馏损失函数更新学生模型的参数。
[0277]
为了提升学生模型的性能的同时进一步优化评估指标,本实施例在具有一定物理意义的编码层、解码层和输出结果上,对教师模型与学生模进行对齐。
[0278]
首先是编码层、解码层对齐,第一时域编码向量与第二时域编码向量是编码层输出的编码向量,第一降噪信号与第二降噪信号是解码层输出的结果。使用均方差损失(mean
‑
square error,mse)促使两个模型在编码层、解码层的特征分布均能够全局逼近。
[0279]
此外,学生模型和教师模型各自的编码器、解码器输出的时域编码向量和降噪信号分别先进行归一化操作,再计算均方差损失,可以避免两个模型的特征分布受噪声或异值影响,该归一化操作具有一定的指标提升。
[0280]
归一化操作如以下公式所示:
[0281][0282]
其中,z表示原始向量,例如编码层输出的时域编码向量或解码层输出的降噪信号对应的向量,z
i
表示原始向量中第i个维度的特征值,c表示输出的原始向量的维度。
[0283]
那么,编码层、解码层对应的均方差损失可以通过以下公式表示:
[0284][0285]
其中,χ表示输入的一批次样本音频信号中样本音频信号构成的集合中,|χ|是该集合中样本音频信号的数量,x
i
表示该集合中的任意一个样本音频信号,t
i
表示教师模型的时域处理子模型中解码器根据样本音频信号x
i
输出的降噪信号,s
i
表示学生模型中轻量时域降噪网络中解码器根据样本音频信号x
i
输出的降噪信号,表示教师模型的时域处理子模型中编码器根据样本音频信号x
i
输出的第一时域编码向量,表示学生模型中轻量时域降噪网络的编码器根据样本音频信号x
i
输出的第二时域编码向量;l
mse
表示教师模型编码层、解码层各自输出结果与学生模型编码层、解码层输出结果的均方差损失。
[0286]
此外,本实施例还通过比对教师模型和学生模型各自的输出结果在数据层面的内在联系,从数据结构层面促使学生模型拟合教师模型的音频输出。数据结构损失包括教师模型和学生模型各自的输出结果在距离损失与角度损失。
[0287]
其中,距离损失可以通过如下公式表示:
[0288][0289][0290][0291][0292][0293]
其中,(x
i
,x
j
)是输入的一批次样本音频信号中任意一对样本音频信号,χ2表示输入的一批次样本音频信号中两两一对样本音频信号构成的集合中,|χ2|是该集合中样本音频信号的数量,t
i
表示教师模型根据样本音频信号x
i
输出的降噪信号,t
j
表示教师模型根据样本音频信号x
j
输出的降噪信号,s
i
表示学生模型根据样本音频信号x
i
输出的降噪信号,s
j
表示学生模型根据样本音频信号x
j
输出的降噪信号,μ表示输出数据的归一化处理;l
δ
表示huber损失;l
d
表示教师模型输出结果与学生模型输出结果在数据距离上的损失。
[0294]
其中,角度损失可以通过如下公式表示:
[0295]
ψ
a
(t
i
,t
j
,t
k
)=cos∠t
i
t
j
t
k
=<e
ij
,e
kj
>;
[0296][0297]
ψ
a
(s
i
,s
j
,s
k
)=cos∠s
i
s
j
s
k
=<e
ij
,e
kj
>;
[0298][0299][0300]
其中,(x
i
,x
j
,x
k
)是输入的一批次样本音频信号中任意三个样本音频信号,χ3表示输入的一批次样本音频信号中任意三个样本音频信号构成的集合中,|χ3|是该集合中样本音频信号的数量,t
i
表示教师模型根据样本音频信号x
i
输出的降噪信号,t
j
表示教师模型根据样本音频信号x
j
输出的降噪信号,e
ij
表示t
i
、t
j
所在方向的单位向量,e
jk
表示t
j
、t
k
所在方向的单位向量,s
i
表示学生模型根据样本音频信号x
i
输出的降噪信号,s
j
表示学生模型根据样本音频信号x
j
输出的降噪信号,μ表示输出数据的归一化处理;l
δ
表示huber损失;l
a
表示教师模型输出结果与学生模型输出结果在数据角度上的损失。
[0301]
计算机设备可以按照以下公式,确定模型蒸馏损失l
kd
:
[0302]
l
kd
=λ
mse
·
l
mse
+λ
d
·
l
d
+λ
a
·
l
a
;
[0303]
其中,l
mse
是编码层、解码层输出特征的均方差损失,l
d
是教师模型与学生模型输出特征的距离比对损失,l
a
是教师模型与学生模型输出特征的角度比对损失,λ
mse
、λ
d
、λ
a
分别表示对应损失的可调超参数。
[0304]
如图15所示,为一个实施例中针对时域降噪子模型进行模型蒸馏训练的框架示意图。参照图15,按照前文的实施例构建教师模型并进行训练得到训练好的教师模型。构建学生模型时,直接利用教师模型中的频域处理子模型,并接入轻量时域降噪网络,结合该频域处理子模型与该轻量时域降噪网络得到学生模型。按照教师模型与学生模型在时域降噪网络的编码层、解码层输出的特征之间的均方差损失、解码层输出的特征的数据结构损失,对学生模型的轻量时域降噪网络进行模型蒸馏训练。还可以待学生模型基本收敛后,再利用前文提到的多任务学习训练方式对学生模型的轻量时域降噪网络进行微调,最终得到训练好的学生模型。
[0305]
在一个具体的实施例中,参照图11的模型结构,基于注意力机制与多任务学习的音频降噪模型的设计参数列表如下:
[0306][0307][0308]
此处的傅里叶变换采用短时傅里叶变换,短时傅里叶变换把一个较长的时间信号分成相同长度的更短的段,在每个更短的段上计算傅里叶变换,即傅里叶频谱。采样率,是对音频信号的采样率,按照该采样率对音频信号进行采样,可以获得离散音频序列。样本音频的长度,是音频信号的时长,例如可以是15s。傅里叶变换窗口长度,是上述分成相同长度的更短的段的长度,例如设置为512。傅里叶变换窗口重叠率,用于确定窗口的位移步长。batch size是输入音频降噪模型的每一批样本音频信号的数量。lstm隐单元个数,是频域处理子网络中每一层实部处理网络与虚部处理网络中每个时间步长的隐单元的数量,例如128个隐单元。lstm层数,是频域处理子网络中实部处理网络与虚部处理网络的层数,例如2层。全连接层的失活率,是全连接层中不参与运算的神经元的比例,例如可以随机选取25%的神经元不参与运算。卷积层通道数是时域处理子网络与噪声分类子网络中卷积层的深度,卷积核尺寸是指时域处理子网络与噪声分类子网络中编码器、解码器所采用卷积核的大小。
[0309]
上述表格中各参数的数值,仅作为示意。本领域技术人员在获得本技术提供的各实施例的前提下,根据实际需要对各参数的取值作出相应调整后得到的模型,也属于本技术的保护范围。
[0310]
本技术实施例提供的上述音频降噪模型的处理方法,采用端到端的深度学习模
型,输入是含有噪声的音频,输出分别为降噪后的音频以及当前所处的噪声场景类别。基于深度学习的网络结构设计,提出了一种注意力机制的音频频域信息学习网络,更好的区分噪声与音频;模型的前半部分是将普通的lstm结构改进为基于复数的complex
‑
lstm结构,能够充分学习音频信号的频域信息,模型的后半部分是在时域上进一步补充学习;此外,还提出了一种结合注意力机制与多任务学习的音频降噪与音频分类方法,可以获得能够同时实现降噪和噪声场景分类的端到端模型;此外,还提出了通过方差不确定性来确定多任务损失函数的权重;此外,为进一步提升模型效果,采用的模型蒸馏训练方法在不改变参数量级的基础上提升了模型的表现上限,模型训练过程即考虑到了模型部署,进一步提升了时域降噪子模型的性能,并且增加模型的工程实用性。
[0311]
在一个实施例中,如图16所示,提供了一种音频降噪方法,以该方法应用于图1中的计算机设备(终端102或服务器104)为例进行说明,包括以下步骤:
[0312]
步骤1602,获取时域的原始音频信号。
[0313]
其中,原始音频信号是待进行降噪处理的声音信号。例如,可以是语音通话时的原始语音信号,可以是歌曲录制、歌曲演奏时的原始声音信号,还可以是台词录制时的原始录制声音信号。
[0314]
由于原始音频信号在产生时处于各种各样嘈杂的环境中,原始音频信号是携带有噪声信号的信号。例如,在日常进行视频、音频通话时,通话者可能处于各种各样嘈杂的环境下,使得语音通话信号中夹带着各种各样的噪声,如:吵闹的街道上来往车辆发出的声音、食堂中多人交谈等杂乱的背景音、办公场景下响亮的键盘敲击声和鼠标“咔嗒咔嗒”的声音,等等。通话过程中,用户自然希望保持不被打扰且高质量的通话水平,那么通过本技术实施例提供的音频降噪方法,计算机设备可以对该原始音频信号进行降噪处理,从而获得对应的降噪信号。
[0315]
时域与频域均是信号的基本性质。从不同的维度分析信号,从不同角度切入解决问题,不同角度可以称之为域。时域反应了数学函数或物理信号与时间的对应关系,是真实世界的反馈,唯一客观存在的域。频域是描述信号在频域特性时用到的一种坐标系,显示了在一个频率范围内的信号量,它是从数学角度构造出来的辅助思考的一种方式,频域信号可以用复数形式来表示,包括实部与虚部两部分,频域信号也可以采用幅值与相位的形式来表示。
[0316]
本技术实施例中,计算机设备获取的原始音频信号,是时域信号。原始音频信号可以是连续时域信号,表示音频的强度随连续时间的变化。原始音频信号也可以是离散时域信号,表示的是音频的强度随着时间上采样点的变化。例如,原始音频信号可以是一段15s的原始音频信号,还可以是对其进行采样后获得的离散序列,例如在采样率为16k时,该原始音频信号是一个长度为240000的离散序列。可选地,计算机设备可以获取连续原始音频信号后,在后续输入训练好的频域处理子模型,由频域处理子模型按照采样率进行采样并按照预设的窗口长度将其划分为多个离散子序列。可选地,计算机设备也可以先对连续原始音频信号进行采样并按照预设的窗口长度将其划分为多个离散子序列后,再在后续输入训练好的频域处理子模型中。
[0317]
在一些实施例中,计算机设备可以通过本地的音频采集装置即时采集音频信号,将采集的音频信号作为原始音频信号,例如上述图1中的终端102通过麦克风采集的用户的
语音信号,作为原始音频信号。在其他实施例中,原始音频信号也可以是其他计算机设备传输过来的信号。
[0318]
步骤1604,通过训练好的频域处理子模型中的实部处理网络与虚部处理网络,分别对将原始音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得原始音频信号对应的实部注意力与虚部注意力。
[0319]
其中,频域处理子模型是事先训练得到的具备挖掘出原始音频信号中干净音频信号的频域特征的模型。频域处理子模型可采用基于神经网络的深度学习模型,例如lstm(long short
‑
term memory,长短期记忆网络),lstm是一种特殊结构的循环神经网络,能够学习到长序列输入的长期依赖关系。在本实施例中,频域处理子模型能够学习到原始音频信号中各离散子序列之间的内在联系。
[0320]
频域处理子模型可根据功能进行结构划分。在本实施例中,为充分利用原始音频信号的幅值、相位信息,频域处理子模型的包括实部处理网络与虚部处理网络。实部处理网络是为利用原始音频信号的实部信息而设计的,虚部处理网络是为利用原始音频信号的虚部信息而设计的。实部处理网络与虚部处理网络可以均是基于lstm的网络结构,实部处理网络与虚部处理网络可以均包括至少一层lstm网络结构,也就是说,能够处理复数形式频域信号的lstm整体结构包括了处理实部序列的lstm和处理虚部序列的lstm,可以称之为complex
‑
lstm。
[0321]
实部处理网络可以用于获得与原始音频信号对应的实部注意力,虚部处理网络可以用于获得与原始音频信号对应的虚部注意力。实部注意力可以用于反映对原始音频信号的实部频域特征中属于干净信号的注意力,虚部注意力可以用于反映对原始音频信号中的虚部频域特征中属于干净信号的注意力。由于频域处理子模型在训练时定义的目标是使实部处理网络与虚部处理网络的输出结果中实部特征与原始音频信号的实部序列相乘,可以得到干净音频信号的实部,虚部特征与原始音频信号的虚部序列相乘,可以得到干净音频信号的虚部,基于这样一种相当于注意力(attention)的结构使得实部处理网络与虚部处理网络的输出结果能够对原始音频信号中的干净音频信号表达出更多、更准确的注意力,因此,实部处理网络与虚部处理网络的输出结果可以称之为实部注意力与虚部注意力。
[0322]
通常,输入信号被输入神经网络后,神经网络的网络层中网络参数将对输入信号进行运算,得到运算结果。每层网络则会接收前一层网络输出的运算结果,再经过本层网络的运算,输出本层的运算结果,作为下一层的输入。本实施例中,频域处理子模型中的实部处理网络与虚部处理网络包括至少一层。
[0323]
具体地,计算机设备可以将获取的原始音频信号输入训练好的频域处理子模型中,在频域处理子模型中,先将原始音频信号变换为频域信号,再将该频域信号的实部序列与虚部序列分别输入实部处理网络与虚部处理网络,实部处理网络与虚部处理网络各自都会对实部序列与虚部序列进行特征编码,也就是在实部处理网络与虚部处理网络中的网络参数对输入的实部序列与虚部序列进行运算,根据最后一层实部处理网络与虚部处理网络的输出结果获得原始音频信号对应的实部注意力与虚部注意力。
[0324]
在一个实施例中,计算机设备可以在频域处理子模型中,采用傅里叶正变换将原始音频信号变换为频域信号,频域信号包括实部序列与虚部序列。
[0325]
在一个实施例中,频域处理子模型可与下文的时域处理子模型共同进行模型训练
得到,训练后的频域处理子模型与时域处理子模型连接作为音频降噪模型。也就是,频域处理子模型的输出的时域信号将被输入至时域处理子模型进一步进行降噪处理,获得最终的降噪信号。
[0326]
在一个实施例中,计算机设备可以事先深度学习模型的模型结构,得到初始模型,再通过样本音频信号对该初始模型进行模型训练,得到频域处理子模型。
[0327]
在一个实施例中,频域处理子模型按功能划分可以包括傅立叶正变换模块。计算机设备在将原始音频信号输入训练好的频域处理子模型中后,通过傅立叶正变换模块对原始音频信号进行傅里叶正变换,获得对应的频域信号,该频域信号包括实部序列与虚部序列两部分。傅里叶正变换可以是短时傅里叶变换(stft,short
‑
time fourier transform)。
[0328]
步骤1606,基于实部序列与虚部序列、实部注意力与虚部注意力,获得原始音频信号对应的频域编码特征。
[0329]
其中,频域编码特征是从频域反映音频信号的特性。前文提到,经过频域处理子模型中实部处理网络与实部处理网络输出的实部注意力与虚部注意力,可以赋予原始音频信号中干净音频信号更多、更准确的注意力,那么计算机设备可以基于该实部注意力与虚部注意力,从原始音频信号的频域信号的实部序列与虚部序列中挖掘出更多与干净音频信号相关的部分,继而获得原始音频信号对应的频域编码特征。可以理解,频域编码特征包括实部与虚部。
[0330]
步骤1608,将频域编码特征变换为时域信号,并通过训练好的时域处理子模型对时域信号进行降噪处理,获得原始音频信号对应的降噪信号。
[0331]
其中,时域处理子模型是从时域角度对信号进行降噪处理的模型。时域处理子模型可以采用神经网络模型。例如可以是结合卷积神经网络与长短时记忆神经网络设计的模型结构。训练好的时域处理子模型具备对时域信号进行降噪处理的能力,也就是,时域处理子模型的输入是时域信号,输出是降噪后的时域信号。
[0332]
具体地,计算机设备获得频域处理子模型输出的原始音频信号对应的频域编码特征后,可以对频域编码特征进行反傅里叶变换,获得时域信号。为了能够进一步提示降噪处理的效果,计算机设备进一步通过训练好的时域处理子模型对时域信号进行降噪处理,获得原始音频信号对应的降噪信号。
[0333]
在一些实施例中,计算机设备可以通过频域处理子模型将频域编码特征变换为时域信号,在此种情况下,频域处理子模型包括傅里叶反变换模块,频域处理子模型通过傅里叶反变换模块对频域编码特征进行傅里叶反变换,输出时域信号,作为时域处理子模型的输入,时域处理子模型进一步从时域角度进行降噪处理。在一些实施例中,计算机可以通过时域处理子模型将频域编码特征变换为时域信号,在此种情况下,频域处理子模型不包括傅里叶反变换模块,时域处理子模型中包括傅里叶反变换模块,频域处理子模型输出的频域编码特征作为时域处理子模型的输入,时域处理子模型通过傅里叶反变换模块对频域编码特征进行傅里叶反变换,获得时域信号。
[0334]
在一些实施例中,步骤1608也可以替换为:将频域编码特征变换为时域信号,得到原始音频信号对应的降噪信号。由于频域编码特征在一定程度上表征的是原始音频信号中干净音频信号对应的频域特征,那么经过傅里叶反变换获得的该时域信号在一定程度上表征的是原始音频信号中的干净音频信号,也就是经过了降噪处理获得的信号。基于此,计算
机设备可以直接将频域编码特征变换为时域信号,得到原始音频信号对应的降噪信号,不需要采用时域处理子模型进一步对该时域信号进行降噪处理,提高降噪处理效果。
[0335]
参照图11,在对原始音频信号进行降噪处理时,将原始音频信号输入频域处理子模型。继而,通过频域处理子模型中的傅里叶正变换模块,将原始音频信号变换为频域信号,获得实部序列与虚部序列,通过频域处理子模型中基于实部虚部运算的实部处理网络与虚部处理网络,对实部序列与虚部序列进行特征编码,获得实部注意力与虚部注意力。接着,通过频域处理子模型中的注意力模块,基于实部序列与虚部序列、实部注意力与虚部注意力,获得原始音频信号对应的频域编码特征。最后,通过频域处理子模型中的反傅里叶变换模块,将频域编码特征变换为时域信号后,输入至训练好的时域处理子模型,通过时域处理子模型对其从时域角度进行信号的降噪处理,输出最终的降噪信号。
[0336]
上述音频降噪方法,训练好的频域处理子模型包括实部处理网络与虚部处理网络,在获取到时域的原始音频信号后,通过训练好的频域处理子模型中的实部处理网络与虚部处理网络分别对原始音频信号的实部序列与虚部序列进行特征编码,这样的网络结构能够充分利用原始音频信号的频域信息,即通过实部序列与虚部序列表征的幅值信息与相位信息,使得编码获得的实部注意力与虚部注意力能够对原始音频信号中干净音频信号赋予更多、更准确的注意,这样,基于实部序列与虚部序列、实部注意力与虚部注意力所获得原始音频信号对应的频域编码特征,能够准确表征原始音频信号中的干净音频信号的频域特征,根据该频域编码特征获得的时域信号也就能够准确地表达原始音频信号中的干净音频信号,降噪效果更好;此外,通过后续进一步使用时域处理子模型对该时域信号进行降噪处理,可以进一步提升时域信号的音质,获得的降噪信号的效果也就会更好。
[0337]
如图17所示,在一个实施例中,通过训练好的频域处理子模型中的实部处理网络与虚部处理网络,分别对将原始音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得原始音频信号对应的实部注意力与虚部注意力,包括:
[0338]
步骤1702,将原始音频信号输入训练好的频域处理子模型。
[0339]
具体地,计算机设备可以调用频域处理子模型,将获取的原始音频信号输入该频域处理子模型。
[0340]
步骤1704,在频域处理子模型中,对原始音频信号进行频域变换,获得原始音频信号对应的实部序列与虚部序列。
[0341]
具体地,计算机设备可以在频域处理子模型中,对原始音频信号进行频域变换后转换为频域信号。例如,可以对原始音频信号进行短时傅里叶变换,获得频域信号中的实部序列与虚部序列。
[0342]
步骤1706,通过频域处理子模型中的实部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第一编码特征与虚部第一编码特征。
[0343]
步骤1708,通过频域处理子模型中的虚部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第二编码特征与虚部第二编码特征。
[0344]
为了获得好的降噪效果,计算机设备将时域信号转换为频域信号后充分利用时域信号的幅值信息、相位信息进行特征编码,从时域信号中挖掘出干净音频信号的频域特征,也就是利用实部序列与虚部序列进行特征编码。具体地,在实部处理网络内部与虚部处理网络内部,输入的实部序列与虚部序列均与网络内部参数矩阵进行相乘。
[0345]
参照复数乘法公式:
[0346]
复数complex1=a+jb;
[0347]
复数complex2=c+jd;
[0348]
复数complex1与复数complex2相乘:
[0349]
complex1·
complex2=(a
·
c
‑
b
·
d)+j(a
·
d+b
·
c);
[0350]
本技术实施例定义了实部处理网络与虚部处理网络对实部序列与虚部序列进行运算的公式:
[0351]
l
rr
=lstm
r
(x
r
);l
ir
=lstm
r
(x
i
);
[0352]
l
ri
=lstm
i
(x
r
);l
ii
=lstm
i
(x
i
);
[0353]
l
out
=l
rr
‑
l
ii
+j(l
ri
+l
ir
);
[0354]
其中,x
r
表示对输入的原始音频信号x进行频域变换后获得实部序列,x
i
表示对输入的原始音频信号x进行频域变换后获得的虚部序列;l
rr
表示经过处理实部处理网络lstm
r
对x
r
处理后得到的运算结果,即实部第一编码特征l
rr
;l
ir
表示经过实部处理网络lstm
r
对xi进行处理后得到的运算结果,即虚部第一编码特征l
ir
;l
ri
表示虚部处理网络lstm
i
对x
r
进行处理后得到的运算结果,即实部第二编码特征;l
ii
表示经过虚部处理网络lstm
i
对x
i
进行处理后处理后得到的运算结果,即虚部第二编码特征;l
out
表示经过每一层实部处理网络与虚部处理网络后得到的运算结果。
[0355]
也就是说,complex
‑
lstm中每一层的输出结果也分为实部和虚部,其中实部是与原始音频信号对应的频域信号中实部序列、虚部序列均有关系的,虚部是与原始音频信号对应的频域信号中实部序列、虚部序列均有关系的。
[0356]
步骤1710,根据实部第一编码特征与虚部第二编码特征,获得原始音频信号对应的实部注意力,根据实部第二编码特征与虚部第一编码特征,获得原始音频信号对应的虚部注意力。
[0357]
根据上述定义的公式:l
out
=l
rr
‑
l
ii
+j(l
ri
+l
ir
);
[0358]
计算机设备可以将实部处理网络输出的实部第一编码特征l
rr
与虚部处理网络输出的虚部第二编码特征l
ii
之差,作为原始音频信号对应的实部注意力,将虚部处理网络输出的实部第二编码特征l
ri
与实部处理网络输出的虚部第一编码特征l
ir
之和,作为原始音频信号对应的虚部注意力。
[0359]
这样,经过频域处理子模型中实部处理网络与虚部处理网络的特征编码,获得的实部注意力参考了原始音频信号的实部与虚部,获得的虚部注意力特参考了原始音频信号的实部与虚部,能够充分利用原始音频信息的多方面信息,为后续获得较好的降噪效果提供了可解释性。
[0360]
在一个实施例中,频域处理子模型中的实部处理网络与虚部处理网络包括至少两层,计算机设备获取前一层实部处理网络与虚部处理网络网络输出的复数结果,将其拆分为实部与虚部后作为当前层的输入,利用当前层的实部处理网络与虚部处理网络,分别进行特征编码后获得各编码特征,并将各编码特征按上述公式进行运算获得当前层输出的复数结果,输入到下一层中进行同样的特征编码与运算,以此类推,直至获得末尾层输出的复数结果,将其拆分为实部与虚部后分别作为实部注意力与虚部注意力。
[0361]
在一些实施例中,末尾层输出的复数结果还可经过全连接层的处理,从而得到最
终的实部注意力与虚部注意力。全连接层用于对其输入特征和该全连接层对应的网络参数进行矩阵相乘处理,从而输出对应的特征。具体地,末尾层的实部处理网络与第一全连接层相连,末尾层的虚部处理网络与第二全连接层相连,也就是末尾层的实部处理网络与虚部处理网络输出的复数结果中的实部即为第一全连接层的输入,末尾层的实部处理网络与虚部处理网络输出的复数结果中的虚部即为第二全连接层的输入。第一全连接层可以用于对该实部和该第一全连接层对应的网络参数进行矩阵相乘处理,获得原始音频信号对应的实部注意力,第二全连接层可以用于对该虚部和该第二全连接层对应的网络参数进行矩阵相乘处理,获得原始音频信号对应的虚部注意力。
[0362]
如图18所示,在一个实施例中,通过训练好的频域处理子模型中的实部处理网络与虚部处理网络,分别对将原始音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得原始音频信号对应的实部注意力与虚部注意力,包括:
[0363]
步骤1802,通过频域处理子模型中首层的实部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第一编码特征与虚部第一编码特征。
[0364]
步骤1804,通过频域处理子模型中首层的虚部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第二编码特征与虚部第二编码特征。
[0365]
步骤1808,根据实部第一编码特征与虚部第二编码特征,获得原始音频信号在首层对应的实部注意力,根据实部第二编码特征与虚部第一编码特征,获得原始音频信号在首层对应的虚部注意力。
[0366]
具体地,在频域处理子网络的首层实部处理网络与虚部处理网络中,输入为原始音频信号的实部序列与虚部序列,经过首层的实部处理网络lstm
r
_1与虚部处理网络lstm
i
_1的特征编码,分别获得包括首层对应的实部注意力与首层的虚部注意力的输出的复数结果l
out
_1,即:
[0367]
l
rr
_1=lstm
r
_1(x
r
);l
ir
_1=lstm
r
_1(x
i
);
[0368]
l
ri
_1=lstm
i
_1(x
r
);l
ii
_1=lstm
i
_1(x
i
);
[0369]
l
out
_1=l
rr
_1
‑
l
ii
_1+j(l
ri
_1+l
ir
_1).
[0370]
步骤1810,迭代地通过当前层的实部处理网络与虚部处理网络对上一层对应的实部注意力与虚部注意力分别进行特征编码以获得当前层对应的实部注意力与虚部注意力,直至获得末尾层对应的实部注意力与虚部注意力时停止迭代。
[0371]
那么在第二层的实部处理网络lstm
r
_2与虚部处理网络lstm
i
_2中,将l
out
_1的实部作为第二层输入的实部序列x
r
,将l
out
_1的虚部作为第二层输入的虚部序列x
i
:
[0372]
l
rr
_2=lstm
r
_2(x
r
);l
ir
_2=lstm
r
_2(x
i
);
[0373]
l
ri
_2=lstm
i
_2(x
r
);l
ii
_1=lstm
i
_2(x
i
);
[0374]
l
out
_2=l
rr
_2
‑
l
ii
_2+j(l
ri
_2+l
ir
_2).
[0375]
l
out
_2即第二层输出的包括实部注意力与虚部注意力的输出的复数结果。
[0376]
以此类推,当频域处理子模型中的实部处理网络与虚部处理网络包括三层时,继续在第三层的实部处理网络lstm
r
_3与虚部处理网络lstm
i
_3中,将l
out
_2的实部作为第三层输入的实部序列x
r
,将l
out
_2的虚部作为第三层输入的虚部序列x
i
,进行类似地处理,直至获得末尾层对应的实部注意力与虚部注意力时,将末尾层输出的实部注意力与虚部注意力作为最终的原始音频信号对应的实部注意力与虚部注意力。
[0377]
每次在一层实部处理网络与虚部处理网络中对上述过程的重复,称为一次“迭代”过程。按照上述过程,重复多次,也就是进行多次迭代,将末尾层输出的实部注意力与虚部注意力作为最终的原始音频信号对应的实部注意力与虚部注意力。
[0378]
计算机设备通过频域处理子模型中基于实部虚部运算的实部处理网络与虚部处理网络获得实部注意力与虚部注意力后,原始音频信号对应的频域编码特征可以采用将注意力与原始信号相乘的形式表示。
[0379]
在一个实施例中,基于实部序列与虚部序列、实部注意力与虚部注意力,获得原始音频信号对应的频域编码特征,包括:将实部序列与实部注意力相乘,获得原始音频信号对应的频域编码特征的实部;将虚部序列与虚部注意力相乘,获得原始音频信号对应的频域编码特征的虚部。
[0380]
具体地,获得的对原始音频信号中干净音频信号的注意力包括实部注意力与虚部注意力两部分,计算机设备可以忽略相位,采用实数乘法的形式相乘。也就是,直接将该实部注意力与原始音频信号对应的频域信号中的实部序列相乘,乘积结果作为原始音频信号对应的频域编码特征的实部,将该虚部注意力与原始音频信号对应的频域信号中的虚部序列相乘,乘积结果作为原始音频信号对应的频域编码特征的虚部。
[0381]
即通过以下公式表示:
[0382][0383]
其中,表示原始音频信号对应的频域编码特征,x
r
表示对输入的原始音频信号x进行频域变换后获得实部序列,x
i
表示对输入的原始音频信号x进行频域变换后获得的虚部序列,表示实部注意力,表示虚部注意力。
[0384]
在一个实施例中,基于实部序列与虚部序列、实部注意力与虚部注意力,获得原始音频信号对应的频域编码特征,包括:将实部序列与实部注意力相乘得到第一结果,将虚部序列与虚部注意力相乘得到第二结果,将第一结果与第二结果之差作为原始音频信号对应的频域编码特征的实部;将实部序列与虚部注意力相乘得到第三结果,将虚部序列与实部注意力相乘得到第四结果,将第三结果与第四结果之和作为原始音频信号对应的频域编码特征的虚部。
[0385]
具体地,获得的对原始音频信号中干净音频信号的注意力包括实部注意力与虚部注意力两部分,计算机设备可以按照实部和虚部的格式相乘,也就是按照复数乘法的公式:
[0386][0387]
其中,表示原始音频信号对应的频域编码特征,x
r
表示对输入的原始音频信号x进行频域变换后获得实部序列,x
i
表示对输入的原始音频信号x进行频域变换后获得的虚部序列,表示实部注意力,表示虚部注意力。
[0388]
在一个实施例中,基于实部序列与虚部序列、实部注意力与虚部注意力,获得原始音频信号对应的频域编码特征,包括:基于实部序列与虚部序列,获得原始音频信号的原始幅值信息与原始相位信息,以及基于实部注意力与虚部注意力,获得原始音频信号的预测幅值信息与预测相位信息;根据原始幅值信息与预测幅值信息之积,获得原始音频信号对
应的频域编码特征的幅值信息;根据原始相位信息与预测相位信息之和,获得原始音频信号对应的频域编码特征的相位信息。
[0389]
具体地,获得的对原始音频信号中干净音频信号的注意力包括实部注意力与虚部注意力两部分,计算机设备可以使用幅值相位信息相乘。也就是按照幅值相位乘法的公式:
[0390][0391][0392][0393]
其中,表示原始音频信号对应的频域编码特征,x
mag
表示基于原始音频信号的实部序列x
r
与虚部序列x
i
获得的原始幅值信息,x
phase
表示基于原始音频信号的实部序列x
r
与虚部序列x
i
获得的原始相位信息,表示基于实部注意力与虚部注意力获得的原始音频信号的预测幅值信息,基于实部注意力与虚部注意力获得的原始音频信号的预测相位信息,j表示复数。
[0394]
上述实施例中,通过将输出的实部注意力与虚部注意力,分别与原始信号中的实部序列与虚部序列相乘,从而获得最终的频域编码特征,使得频域处理子模型逐步学习到输出的注意力在与原始信号相乘时可以得到干净信号的能力。
[0395]
在一个实施例中,通过训练好的时域处理子模型对时域信号进行降噪处理,获得原始音频信号对应的降噪信号,包括:将时域信号输入训练好的时域处理子模型;通过时域处理子模型中的编码器,对时域信号进行编码,获得时域编码向量;通过时域处理子模型中的时序特征提取网络,对时域编码向量进行特征提取,获得时域信号对应的隐藏特征;通过时域处理子模型中的解码器,基于时域编码向量和隐藏特征进行解码,获得原始音频信号对应的降噪信号。
[0396]
其中,时域处理子模型采用基于卷积的encoder
‑
decoder结构。encoder
‑
decoder结构将输入序列转换为另一个序列输出。在该框架中,编码器将输入的时域信号对应的序列转化成向量,解码器则接受向量并按时间顺序依次生成输出序列。编码器以及解码器可以采用相同类型的神经网络模型,也可以是不同类型的神经网络模型。比如,编码器以及解码器可以均为cnn(convolutional neural networks,卷积神经网络)模型,或者编码器采用rnn(recurrent neural networks)模型、解码器采用cnn模型,时域处理子模型的时序特征提取网络可以采用lstm模型,例如采用2层的lstm网络,可以学习输入的时域信号在时序上的依赖性。
[0397]
具体地,计算机设备将频域子模型输出的时域信号输入时域处理子模型,通过时域处理子模型的编码器将输入的时域信号转化成时域编码向量,再经过中间的时序特征提取网络,提取时域编码向量在时序上的内在联系,挖掘隐藏特征。本实施例中,时序特征提取网络相对于作为输入层的编码器和作为输出层的解码器,是中间层,也称之为隐藏层,因此时序特征提取网络提取的特征称之为隐藏特征。最后通过解码器基于时域编码向量与隐藏特征进行解码,输出降噪信号。
[0398]
在一个实施例中,方法还包括:通过训练好的噪声分类子模型对时域信号进行分
类处理,获得原始音频信号的噪声场景类别,噪声分类子模型是通过与时域处理子模型共同进行模型训练得到的。
[0399]
具体地,计算机设备将频域子模型输出的时域信号输入噪声分类子模型,通过噪声分类子模型输出原始音频信号中噪声信号的噪声场景类别。
[0400]
在一个实施例中,通过训练好的噪声分类子模型对时域信号进行分类处理,获得原始音频信号的噪声场景类别,包括:将时域信号输入训练好的噪声分类子模型;通过噪声分类子模型中的编码器,对时域信号进行编码,获得时域编码向量;通过噪声分类子模型中的时序特征提取网络,对时域编码向量进行特征提取,获得时域信号对应的隐藏特征;通过噪声分类子模型中的输出层,基于隐藏特征预测原始音频信号的噪声场景类别。
[0401]
具体地,计算机设备将频域子模型输出的时域信号输入噪声分类子模型,通过噪声分类子模型的编码器将输入的时域信号转化成时域编码向量,再经过中间的时序特征提取网络,提取时域编码向量在时序上的内在联系,挖掘隐藏特征。最后通过输出层基于隐藏特征输出原始音频信号的噪声场景类别。噪声分类子模型的时序特征提取网络可以采用lstm,例如是2层的lstm网络。
[0402]
噪声分类子模型的输出层包括全连接层、激活层与归一化层。输出层中的全连接层接收特征提取网络提取的隐藏特征,对其与该全连接层对应的模型参数进行矩阵相乘处理,将隐藏特征映射到样本空间,最后再经过激活层引入非线性特性后,通过归一化层(softmax函数)输出原始音频信号对应的噪声场景类别。
[0403]
在一个实施例中,上述方法还包括:获取输入的降噪等级;确定与输入的降噪等级对应的信号权重,信号权重包括分别用于调整原始音频信号与降噪信号之间的比例的第一权重与第二权重;按照第一权重与第二权重,将原始音频信号与降噪信号融合后,获得与输入的降噪等级对应的音频输出信号。
[0404]
本实施例中,计算机设备可以为用户提供开启一键降噪的功能,同时为用户提供多个降噪等级的选择,方便用户根据自身所处环境的不同来选择合适自己的降噪水平。计算机设备不仅可以实时输出降噪信号,还可以输出当前是否处于噪声环境以及处于何种类型的噪声环境中。
[0405]
在一个具体的实施例中,音频降噪方法包括以下步骤:
[0406]
1、获取时域的原始音频信号;
[0407]
2、将原始音频信号输入训练好的频域处理子模型;
[0408]
3、在频域处理子模型中,对原始音频信号进行频域变换,获得原始音频信号对应的实部序列与虚部序列;
[0409]
4、通过频域处理子模型中的实部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第一编码特征与虚部第一编码特征;
[0410]
5、通过频域处理子模型中的虚部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第二编码特征与虚部第二编码特征;
[0411]
6、根据实部第一编码特征与虚部第二编码特征,获得原始音频信号对应的实部注意力;
[0412]
7、根据实部第二编码特征与虚部第一编码特征,获得原始音频信号对应的虚部注意力;
[0413]
8、将实部序列与实部注意力相乘,获得原始音频信号对应的频域编码特征的实部;
[0414]
9、将虚部序列与虚部注意力相乘,获得原始音频信号对应的频域编码特征的虚部;
[0415]
10、将频域编码特征变换为时域信号;
[0416]
11、将时域信号输入训练好的时域处理子模型;
[0417]
12、通过时域处理子模型中的编码器,对时域信号进行编码,获得时域编码向量;
[0418]
13、通过时域处理子模型中的时序特征提取网络,对时域编码向量进行特征提取,获得时域信号对应的隐藏特征;
[0419]
14、通过时域处理子模型中的解码器,基于时域编码向量和隐藏特征进行解码,获得原始音频信号对应的降噪信号;
[0420]
15、将时域信号输入训练好的噪声分类子模型;
[0421]
16、通过噪声分类子模型中的编码器,对时域信号进行编码,获得时域编码向量;
[0422]
17、通过噪声分类子模型中的时序特征提取网络,对时域编码向量进行特征提取,获得时域信号对应的隐藏特征;
[0423]
18、通过噪声分类子模型中的输出层,基于隐藏特征预测原始音频信号的噪声场景类别;
[0424]
19、获取输入的降噪等级;
[0425]
20、确定与输入的降噪等级对应的信号权重,信号权重包括分别用于调整原始音频信号与降噪信号之间的比例的第一权重与第二权重;
[0426]
21、按照第一权重与第二权重,将原始音频信号与降噪信号融合后,获得与输入的降噪等级对应的音频输出信号。
[0427]
在一个具体的应用场景中,计算机设备上运行有即时通信客户端,在用户进行语音通话时,该即时通信客户端可采集原始语音信号,该原始语音信号经由该即时通信客户端按照本技术实施例提供的方法,将原始语音信号输入训练好的语音降噪模型,在该语音降噪模型的频域处理子模型中,通过实部处理网络与虚部处理网络,分别对将原始语音信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得原始语音信号对应的实部注意力与虚部注意力,基于实部序列与虚部序列、实部注意力与虚部注意力,获得原始语音信号对应的频域编码特征。在该语音降噪模型的时域处理子模型中,将频域编码特征变换为时域信号,对该时域信号进行降噪处理,获得原始语音信号对应的降噪信号,再将该降噪信号传输至通话对方。当然,也可以由计算机设备先将原始音频信号传输至通话对象后,再由通话对象使用的计算机设备对原始语音信号采用本技术实施例提供的语音降噪方法进行降噪处理。
[0428]
此外,还可以在该语音降噪模型的噪声分类子模型中,将频域编码特征变换为时域信号,对该时域信号进行噪声分类,获得该原始语音信号对应的噪声场景类别。此外,还可以在语音通话交互界面上设置降噪等级切换控件,不同的控件对应不同的降噪程度,计算机设备可以响应于针对降噪等级切换控件的触发操作,调整原始音频信号与降噪信号之间的比例后再输出混合信号,能够进行不同程度的降噪,提升用户体验。
[0429]
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这
些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0430]
在一个实施例中,如图19所示,提供了一种音频降噪模型的处理装置1900,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块1902、频域编码训练模块1904和集成训练模块1906,其中:
[0431]
获取模块1902,用于获取样本音频信号,样本音频信息是根据干净音频信号生成的;
[0432]
频域编码训练模块1904,用于通过基于神经网络的第一子模型中的实部处理网络与虚部处理网络,分别对将样本音频信号变换为频域信号后获得的实部序列与虚部序列进行特征编码,获得样本音频信号对应的实部注意力与虚部注意力,基于实部序列与虚部序列、实部注意力与虚部注意力,获得样本音频信号对应的频域编码特征;根据基于频域编码特征与干净音频信号对应的频域变换序列所确定的第一损失对第一子模型进行模型训练,获得频域处理子模型;
[0433]
集成训练模块1906,用于将频域处理子模型与待训练的时域处理子模型连接后共同训练,得到用于对音频信号进行降噪处理的音频降噪模型。
[0434]
在一个实施例中,频域编码训练模块1904具体用于将样本音频信号输入基于神经网络的第一子模型;在第一子模型中,对样本音频信号进行频域变换,获得样本音频信号对应的实部序列与虚部序列;通过第一子模型中的实部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第一编码特征与虚部第一编码特征;通过第一子模型中的虚部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第二编码特征与虚部第二编码特征;根据实部第一编码特征与虚部第二编码特征,获得样本音频信号对应的实部注意力,根据实部第二编码特征与虚部第一编码特征,获得样本音频信号对应的虚部注意力。
[0435]
在一个实施例中,频域编码训练模块1904具体用于将实部序列与实部注意力相乘,获得样本音频信号对应的频域编码特征的实部;将虚部序列与虚部注意力相乘,获得样本音频信号对应的频域编码特征的虚部。
[0436]
在一个实施例中,频域编码训练模块1904具体用于将实部序列与实部注意力相乘得到第一结果,将虚部序列与虚部注意力相乘得到第二结果,将第一结果与第二结果之差作为样本音频信号对应的频域编码特征的实部;将实部序列与虚部注意力相乘得到第三结果,将虚部序列与实部注意力相乘得到第四结果,将第三结果与第四结果之和作为样本音频信号对应的频域编码特征的虚部。
[0437]
在一个实施例中,频域编码训练模块1904具体用于基于实部序列与虚部序列,获得样本音频信号的原始幅值信息与原始相位信息;基于实部注意力与虚部注意力,获得样本音频信号的预测幅值信息与预测相位信息;根据原始幅值信息与预测幅值信息之积,获得样本音频信号对应的频域编码特征的幅值信息;根据原始相位信息与预测相位信息之和,获得样本音频信号对应的频域编码特征的相位信息。
[0438]
在一个实施例中,频域编码训练模块1904具体用于对干净音频信号进行频域变换
处理,获得对应的频域变换序列,频域变换序列包括实部序列与虚部序列;根据干净音频信号对应的实部序列与样本音频信号对应的频域编码特征中的实部特征之间的差异、干净音频信号对应的虚部序列与样本音频信号对应的频域编码特征中的虚部特征之间的差异,确定第一损失。
[0439]
在一个实施例中,集成训练模块1906,还用于将频域处理子模型与基于神经网络的第二子模型、第三子模型连接;将样本音频信号对应的频域编码特征变换为时域信号;基于第二子模型对时域信号进行降噪处理获得的降噪信号与干净音频信号所确定的第二损失、第三子模型对时域信号进行噪声分类获得的噪声场景类别与样本音频信号的噪声标签类别所确定的第三损失,构建多任务目标函数;根据多任务目标函数对频域处理子模型、第二子模型与第三子模型共同进行模型训练,获得更新的频域处理子模型、训练好的时域处理子模型以及训练好的噪声分类子模型;将更新的频域处理子模型与训练好的时域处理子模型连接,得到用于对音频信号进行降噪处理的音频降噪模型。
[0440]
在一个实施例中,集成训练模块1906,还用于获取第二子模型对多个样本音频信号对应的时域信号进行降噪处理获得的多个降噪信号,根据多个降噪信号的标准差确定第二损失的权重;获取第三子模型对多个样本音频信号对应的时域信号进行噪声分类获得的多个噪声场景类别,根据多个噪声场景类别的标准差确定第三损失的权重;按照各自的权重融合第二损失与第三损失,获得多任务目标函数。
[0441]
在一个实施例中,集成训练模块1906,还用于通过第二子模型中的编码器,对时域信号进行编码,获得时域编码向量,通过第二子模型中的时序特征提取网络,对时域编码向量进行特征提取,获得时域信号对应的隐藏特征,通过第二子模型中的解码器,基于时域编码向量和隐藏特征进行解码,获得第二样本集合中的样本音频信号对应的降噪信号;根据降噪信号与干净音频信号,构建第二损失。
[0442]
在一个实施例中,集成训练模块1906,还用于将样本音频信号对应的降噪信号向干净音频信号的垂直方向与水平方向分别进行投影,获得垂直投影向量与水平投影向量;根据垂直投影向量与水平投影向量,获得第二损失。
[0443]
在一个实施例中,集成训练模块1906,用于通过第三子模型中的编码器,对时域信号进行编码,获得时域编码向量,通过第三子模型中的时序特征提取网络,对时域编码向量进行特征提取,获得时域信号对应的隐藏特征,通过第三子模型中的输出层,基于隐藏特征预测样本音频信号的噪声场景类别;根据噪声场景类别与用于生成样本音频信号的噪声信号的噪声标签类别,构建第三损失。
[0444]
在一个实施例中,集成训练模块1906,还用于将频域处理子模型与基于神经网络的第二子模型、第三子模型连接;将样本音频信号对应的频域编码特征变换为时域信号;基于第二子模型对时域信号进行降噪处理获得的降噪信号与干净音频信号所确定的第二损失,对频域处理子模型与第二子模型共同进行模型训练,获得更新的频域处理子模型与训练好的时域处理子模型;将样本音频信号输入更新的频域处理子模型获得对应的频域编码特征,将频域编码特征变换为时域信号后分别输入训练好的时域处理子模型与第三子模型;基于训练好的时域处理子模型对时域信号进行降噪处理获得的降噪信号与干净音频信号所确定的第二损失、第三子模型对时域信号进行噪声分类获得的噪声场景类别与样本音频信号的噪声标签类别所确定的第三损失,构建多任务目标函数;根据多任务目标函数对
频域处理子模型、训练好的时域处理子模型与第三子模型共同进行模型训练,获得更新的频域处理子模型、更新的时域处理子模型以及噪声分类子模型;将更新的频域处理子模型与更新的时域处理子模型连接,得到用于对音频信号进行降噪处理的音频降噪模型。
[0445]
在一个实施例中,上述音频降噪模型的处理装置1900还包括:蒸馏训练模块,用于根据音频降噪模型获得用于对音频信号进行降噪处理的教师模型,并根据频域处理子模型与轻量时域降噪网络,构建用于对音频信号进行降噪处理的学生模型;将样本音频信号输入教师模型,通过教师模型中的频域处理子模型获得对应的频域编码特征,将频域编码特征变换为时域信号后,通过教师模型中的时域处理子模型中的编码器对时域信号进行编码,获得样本音频信号对应的第一时域编码向量,通过时域处理子模型中的解码器,基于第一时域编码向量获得样本音频信号对应的第一降噪信号;将样本音频信号输入学生模型,通过学生模型中的频域处理子模型获得对应的频域编码特征,将频域编码特征变换为时域信号后,通过轻量时域降噪网络中的编码器对时域信号进行编码,获得样本音频信号对应的第二时域编码向量,通过轻量时域降噪网络中的解码器,基于第二时域编码向量获得样本音频信号对应的第二降噪信号;基于第一时域编码向量与第二时域编码向量之间的均方差损失、第一降噪信号与第二降噪信号之间的均方差损失以及第一降噪信号与第二降噪信号之间的数据结构损失确定的模型蒸馏损失,根据模型蒸馏损失对学生模型进行模型训练,获得轻量音频降噪模型。
[0446]
上述音频降噪模型的处理装置1900,音频降噪模型包括频域处理子模型与时域处理子模型,其中频域处理子模型包括实部处理网络与虚部处理网络,在获取到时域的原始音频信号后,通过频域处理子模型中的实部处理网络与虚部处理网络分别对样本音频信号的实部序列与虚部序列进行特征编码,这样的网络结构能够充分学习到原始音频信号的频域信息,即通过实部序列表征与虚部序列表征的幅值信息与的相位信息,使得编码获得的实部注意力与虚部注意力能够对样本音频信号中干净音频信号赋予更多、更准确的注意,这样,基于实部序列与虚部序列、实部注意力与虚部注意力所获得样本音频信号对应的频域编码特征,根据该频域编码特征与生成该样本音频信号的干净音频信号对应的频域变换序列所确定的第一损失对该频域处理子模型进行模型训练,能够使频域处理子模型准确学习到样本音频信号中干净信号的频域特征,后续再联合该频域处理子模型与时域处理子模型共同进行模型训练,获得的音频降噪模型的降噪效果就会更好。
[0447]
关于音频降噪模型的处理装置1900的具体限定可以参见上文中对于音频降噪模型的处理方法的限定,在此不再赘述。上述音频降噪模型的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0448]
在一个实施例中,如图20所示,提供了一种音频降噪装置2000,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块2002、频域编码模块2004和时域降噪模块2006其中:
[0449]
获取模块2002,用于获取时域的原始音频信号;
[0450]
频域编码模块2004,用于通过训练好的频域处理子模型中的实部处理网络与虚部处理网络,分别对将原始音频信号变换为频域信号后获得的实部序列与虚部序列进行特征
编码,获得原始音频信号对应的实部注意力与虚部注意力;基于实部序列与虚部序列、实部注意力与虚部注意力,获得原始音频信号对应的频域编码特征;
[0451]
时域降噪模块2006,用于将频域编码特征变换为时域信号,并通过训练好的时域处理子模型对时域信号进行降噪处理,获得原始音频信号对应的降噪信号。
[0452]
在一个实施例中,频域编码模块2004还用于将原始音频信号输入训练好的频域处理子模型;在频域处理子模型中,对原始音频信号进行频域变换,获得原始音频信号对应的实部序列与虚部序列;通过频域处理子模型中的实部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第一编码特征与虚部第一编码特征;通过频域处理子模型中的虚部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第二编码特征与虚部第二编码特征;根据实部第一编码特征与虚部第二编码特征,获得原始音频信号对应的实部注意力,根据实部第二编码特征与虚部第一编码特征,获得原始音频信号对应的虚部注意力。
[0453]
在一个实施例中,频域处理子模型中的实部处理网络与虚部处理网络包括至少两层;频域编码模块2004还用于通过频域处理子模型中首层的实部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第一编码特征与虚部第一编码特征;通过频域处理子模型中首层的虚部处理网络,分别对实部序列与虚部序列进行特征编码,获得实部第二编码特征与虚部第二编码特征;根据实部第一编码特征与虚部第二编码特征,获得原始音频信号在首层对应的实部注意力,根据实部第二编码特征与虚部第一编码特征,获得原始音频信号在首层对应的虚部注意力;迭代地通过当前层的实部处理网络与虚部处理网络对上一层对应的实部注意力与虚部注意力分别进行特征编码以获得当前层对应的实部注意力与虚部注意力,直至获得末尾层对应的实部注意力与虚部注意力时停止迭代。
[0454]
在一个实施例中,频域编码模块2004还用于将实部序列与实部注意力相乘,获得原始音频信号对应的频域编码特征的实部;将虚部序列与虚部注意力相乘,获得原始音频信号对应的频域编码特征的虚部。
[0455]
在一个实施例中,频域编码模块2004还用于将实部序列与实部注意力相乘得到第一结果,将虚部序列与虚部注意力相乘得到第二结果,将第一结果与第二结果之差作为原始音频信号对应的频域编码特征的实部;将实部序列与虚部注意力相乘得到第三结果,将虚部序列与实部注意力相乘得到第四结果,将第三结果与第四结果之和作为原始音频信号对应的频域编码特征的虚部。
[0456]
在一个实施例中,频域编码模块2004还用于基于实部序列与虚部序列,获得原始音频信号的原始幅值信息与原始相位信息,以及基于实部注意力与虚部注意力,获得原始音频信号的预测幅值信息与预测相位信息;根据原始幅值信息与预测幅值信息之积,获得原始音频信号对应的频域编码特征的幅值信息;根据原始相位信息与预测相位信息之和,获得原始音频信号对应的频域编码特征的相位信息。
[0457]
在一个实施例中,时域降噪模块2006还用于将时域信号输入训练好的时域处理子模型;通过时域处理子模型中的编码器,对时域信号进行编码,获得时域编码向量;通过时域处理子模型中的时序特征提取网络,对时域编码向量进行特征提取,获得时域信号对应的隐藏特征;通过时域处理子模型中的解码器,基于时域编码向量和隐藏特征进行解码,获得原始音频信号对应的降噪信号。
[0458]
在一个实施例中,音频降噪装置2000还包括:
[0459]
噪声分类模块,用于通过训练好的噪声分类子模型对时域信号进行分类处理,获得原始音频信号的噪声场景类别,噪声分类子模型是通过与时域处理子模型共同进行模型训练得到的。
[0460]
在上一个实施例中,噪声分类模块还用于将时域信号输入训练好的噪声分类子模型;通过噪声分类子模型中的编码器,对时域信号进行编码,获得时域编码向量;通过噪声分类子模型中的时序特征提取网络,对时域编码向量进行特征提取,获得时域信号对应的隐藏特征;通过噪声分类子模型中的输出层,基于隐藏特征预测原始音频信号的噪声场景类别。
[0461]
在一个实施例中,音频降噪装置2000还包括:
[0462]
降噪档位调整模块,用于获取输入的降噪等级;确定与输入的降噪等级对应的信号权重,信号权重包括分别用于调整原始音频信号与降噪信号之间的比例的第一权重与第二权重;按照第一权重与第二权重,将原始音频信号与降噪信号融合后,获得与输入的降噪等级对应的音频输出信号。
[0463]
上述音频降噪装置2000,训练好的频域处理子模型包括实部处理网络与虚部处理网络,在获取到时域的原始音频信号后,通过训练好的频域处理子模型中的实部处理网络与虚部处理网络分别对原始音频信号的实部序列与虚部序列进行特征编码,这样的网络结构能够充分利用原始音频信号的频域信息,即通过实部序列表征与虚部序列表征的幅值信息与相位信息,使得编码获得的实部注意力与虚部注意力能够对原始音频信号中干净音频信号赋予更多、更准确的注意,这样,基于实部序列与虚部序列、实部注意力与虚部注意力所获得原始音频信号对应的频域编码特征,能够准确表征原始音频信号中的干净音频信号的频域特征,根据该频域编码特征获得的时域信号也就能够准确地表达原始音频信号中的干净音频信号,降噪效果更好;此外,通过后续进一步使用时域处理子模型对该时域信号进行降噪处理,可以进一步提升时域信号的音质,获得的降噪信号的效果也就会更好。
[0464]
关于音频降噪装置2000的具体限定可以参见上文中对于音频降噪方法的限定,在此不再赘述。上述音频降噪装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0465]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是图1中的终端或服务器,其内部结构图可以如图21所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种音频降噪方法和/或音频降噪模型的处理方法。
[0466]
本领域技术人员可以理解,图21中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0467]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储
有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0468]
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0469]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0470]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read
‑
only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0471]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0472]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。