音频降噪模型的训练方法、音频降噪方法及装置与流程

文档序号:29465098发布日期:2022-04-02 03:06阅读:523来源:国知局
音频降噪模型的训练方法、音频降噪方法及装置与流程

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.图1为根据本公开一实施例的音频降噪模型训练方法的实现流程图;
35.图2为根据本公开一实施例的音频降噪模型训练方法中,生成两条相似音频的实现方式示意图;
36.图3为根据本公开一实施例的音频降噪模型训练方法中,对原始含噪音频进行采样,得到第一含噪音频和第二含噪音频的实现方式示意图;
37.图4为根据本公开一实施例的音频降噪模型训练方法中,构建损失函数的实现方式示意图;
38.图5为根据本公开一实施例的音频降噪模型训练方法的输入、输出数据及损失函数构建方式示意图;
39.图6为根据本公开一实施例的音频降噪模型训练方法中,音频降噪模型的结构示意图;
40.图7为根据本公开一实施例的音频降噪模型训练方法中,音频降噪模型中的的转换单元的结构示意图;
41.图8为根据本公开一实施例的音频降噪模型训练方法中,transformer模型的结构示意图;
42.图9为根据本公开一实施例的音频降噪方法的实现流程图;
43.图10为根据本公开一实施例的音频降噪模型训练装置1000的结构示意图;
44.图11为根据本公开一实施例的音频降噪模型训练装置1100的结构示意图;
45.图12为根据本公开一实施例的音频降噪装置1200的结构示意图;
46.图13为根据本公开一实施例的电子设备1300的结构框图。
具体实施方式
47.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
48.音频降噪对于降低背景噪声干扰、改善语音质量、提升听者的舒适感、提高语音信息传达的可懂度、提高语音转换的准确度等具有重要作用。目前出现了采用深度学习技术进行音频降噪的方法,这种方法大多需要大量含噪音频和降噪音频配对的音频文件作为样本文件,而构造含噪音频和降噪音频配对的音频文件是较为困难的,导致对音频降噪模型训练的难度较大。
49.图1为根据本公开一实施例的音频降噪模型训练方法的实现流程图。该方法包括以下步骤:
50.s110:采用音频生成算法对原始含噪音频进行采样,得到具有相似特征的第一含噪音频和第二含噪音频;
51.s120:确定该原始含噪音频的原始含噪频谱特征和该第一含噪音频的第一含噪频谱特征;
52.s130:采用音频降噪模型分别对该原始含噪频谱特征和该第一含噪频谱特征进行降噪处理,得到原始降噪音频和第一降噪音频;
53.s140:利用该原始降噪音频、该第一降噪音频和该第二含噪音频构建损失函数;
54.s150:根据该损失函数对该音频降噪模型的参数进行调整。
55.由上述过程可见,本公开提出的音频降噪模型的训练方法是一种基于深度学习的自监督训练方法,不需要人工构造含噪音频和降噪音频配对的样本文件,仅需要含噪音频即可训练任意音频降噪模型。本公开主要涉及训练策略,可以训练任意降噪网络而无需改造网络结构、无需估计噪声参数,也无需对输出音频进行复杂的后处理。
56.在本公开实施方式中,将真实场景采集到的包含噪声的音频、或者人工添加噪声合成的音频称为原始含噪音频。在上述步骤s110中,采用本公开实施方式提出的音频生成算法,可以采用该原始含噪音频生成两条具有相似特征的音频文件,称为第一含噪音频和第二含噪音频。
57.在一些可能的实施方式中,上述步骤s110中生成第一含噪音频和第二含噪音频的方式过程可以包括:
58.将原始含噪音频进行分帧,得到多个帧;
59.将上述多个帧进行分组处理,得到多个块;每个块包括k个帧,k为正偶数;
60.对上述各个块进行采样,得到每个块对应的两个音频片段,其中一个音频片段由
该块中的序列号为奇数的帧依次连接而成,另一个音频片段由该块中的序列号为偶数的帧依次连接而成;
61.分别提取各个块对应的一个音频片段,将提取的音频片段依次连接,得到上述第一含噪音频;并将提取之后各个块剩余的另一个音频片段依次连接,得到上述第二含噪音频。
62.以图2为例,图2为根据本公开一实施例的音频降噪模型训练方法中,生成两条相似音频的实现方式示意图。如图2中,x表示原始含噪音频,首先对x进行分帧。在分帧时,往往设置在相邻两帧之间有一部分重叠,帧移是指相邻两帧起点之间的时间间隔。例如,在本公开实施方式中,分帧后每个帧的长度为64ms,帧移为16ms,则相邻两帧之间的重叠部分长度为48ms。一个长度为10s的音频可以被分为600多帧。
63.之后,将这些帧进行分组处理,也就是将分帧后的音频连续切割成多个块,每个块包含k(k为偶数)个帧。图2中示出了原始含噪音频x被切割成的两个块,其中一个块记为块1,块1包括序列号为i到(i+k-1)的k个帧;另一个块记为块2,块2包括序列号为(i+k)到(i+2k-1)的k个帧(其他块在图2中未示出)。为便于清晰显示,图2中未示出相邻帧之间的重叠部分;但需明确的是,分帧之后相邻帧之间存在重叠部分。之后,分别将各个块进行采样,得到各个块对应的两个音频片段。如图2中,从块1中提取序列号为奇数的帧并依次连接,得到一个音频片段,记为l
11
;将块1中序列号为偶数的帧依次连接,得到另一个音频片段,记为l
12
。从块2中提取序列号为奇数的帧并依次连接,得到一个音频片段,记为l
21
;将块2中序列号为偶数的帧依次连接,得到另一个音频片段,记为l
22
。按照同样的方式,将其它块做同样的采样操作,并得到每个块对应的两个音频片段。
64.最后,分别从每个块对应的两个音频片段中提取出一个,将抽取出的音频片段依次连接,得到第一含噪音频。例如,提取块1对应的音频片段l
11
、块2对应的音频片段l
21
、以及其它各个块对应的一个音频片段,将提取出的音频片段依次连接,得到第一含噪音频(图2中用s1(x)表示)。将块1对应的另一个音频片段l
12
、块2对应的另一个音频片段l
22
、以及其它各个块对应的另一个音频片段依次连接,得到第二含噪音频(图2中用s2(x)表示)。
65.需要说明的是,本公开实施例在提取音频片段时,并不限制提取哪一个音频片段。例如,本公开实施例也可以将块1对应的音频片段l
11
、块2对应的音频片段l
22
、以及其它各个块对应的一个音频片段依次连接,得到第一含噪音频,并将块1对应的另一个音频片段l
12
、块2对应的另一个音频片段l
21
、以及其它各个块对应的另一个音频片段依次连接,得到第二含噪音频。
66.可以看出,由于对一个块进行采样得到的两个音频片段中的各个对应帧是相邻的(一个序列号为奇数、另一个系列号为偶数),因此这两个音频片段相似而不相同。在此基础上,从各个块对应的两个音频片段中再提取并连接,得到的第一含噪音频和第二含噪音频也是相似而不相同的。例如,原始含噪音频包含系列号为1、2、3、4、5、6

的多个帧,采样之后,可以得到包含帧1、3、5、

的第一含噪音频、以及包含帧2、4、6

的第二含噪音频,第一含噪音频和第二含噪音频具有相似特征。
67.本公开实施方式还可以采用其他方式生成第一含噪音频和第二含噪音频。例如,在将原始音频分帧之后,直接提取序列号为奇数的帧连接成第一含噪音频,并提取序列号为偶数的帧连接成第二含噪音频。
68.由于采用采样的方式构造出相似而不相同的音频片段作为训练样本,避免了人工采集或构造含噪音频和降噪音频构成的样本对,因此大大简化了训练样本的获取/生成过程,从而能够从整体上降低对音频降噪模型的训练难度。
69.在一种可能的实现方式中,上述步骤s120可以采用时频转换方法得到原始含噪音频的原始含噪频谱特征和第一含噪音频的第一含噪频谱特征。例如,采用短时傅里叶变换(stft,short-time fourier transform)、傅里叶变换(tft)等方式,对原始含噪音频进行处理,得到原始含噪音频的原始含噪频谱特征;并采用短时傅里叶变换、傅里叶变换等方式,对第一含噪音频进行处理,得到第一含噪音频的第一含噪频谱特征。
70.相应地,上述步骤s130中音频降噪模型输出的处理结果是频谱特征,之后,可以将该降噪模型输出的频谱特征进行频域到时域的转换,得到音频文件。
71.可见,在本公开实施例中,音频降噪模型的处理对象是频谱特征,在对频谱特征进行处理之后,得到处理后的频谱特征;再对处理后的频谱特征进行转换,最终得到音频文件。这种对频谱特征进行处理的方式便于实现,能够简化对音频降噪模型的训练过程。
72.如图3所示,在一种可能的实现方式中,上述步骤s130中可以包括:
73.s310:将原始含噪频谱特征和第一含噪频谱特征分别输入降噪模型,得到原始降噪频谱特征和第一降噪频谱特征;
74.s320:分别对该原始降噪频谱特征和该第一降噪频谱特征进行频域到时域的转换,得到原始降噪音频和第一降噪音频。
75.例如,采用逆短时傅里叶变换(istft,inverse short-time fourier transform)、逆傅里叶变换(itft)等方式,分别对原始降噪频谱特征和该第一降噪频谱特征进行转换,得到对应的原始降噪音频和第一降噪音频。
76.在构建损失函数时,可以采用与步骤s110中相同的音频生成算法,对上述原始降噪音频进行采样,得到两个具有相似特征的音频片段。
77.例如,将原始降噪音频进行分帧,得到多个帧;
78.将上述多个帧进行分组处理,得到多个块;每个块包括偶数个帧;
79.对上述各个块进行采样,得到每个块对应的两个音频片段;其中一个音频片段由该块中的序列号为奇数的帧依次连接而成,另一个音频片段由该块中的序列号为偶数的帧依次连接而成;
80.分别提取各个块对应的一个音频片段,将提取的音频片段依次连接,得到上述第一音频;并将提取之后各个块剩余的另一个音频片段依次连接,得到上述第二音频。
81.具体示例可以参照上述采用音频生成算法对原始含噪音频进行采样的实施方式,在此不再赘述。
82.如图4所示,在一种可能的实现方式中,上述步骤s140中构建损失函数的方式可以包括以下步骤:
83.s410:利用第一降噪音频、第一降噪频谱特征、第二含噪音频和第二含噪音频的第二含噪频谱特征,构建所述损失函数的第一部分;
84.s420:采用所述音频生成算法对所述原始降噪音频进行采样,得到具有相似特征的第一音频和第二音频;
85.s430:利用所述第一音频、所述第二音频、所述第二含噪音频和所述第一降噪音
频,构建所述损失函数的第二部分;
86.s440:将所述第一部分和所述第二部分组成所述损失函数。
87.其中,上述步骤s410用于构建损失函数的第一部分,步骤s420和步骤s430用于构建损失函数的第二部分,二者之间没有执行顺序限制,二者可以一先一后执行、或同步执行。
88.上述损失函数的第一部分可以认为是损失函数的基础部分,第二部分可以认为是损失函数的正则项部分,正则项部分主要用于避免训练得到的降噪模型产生过度平滑的问题。
89.在一些实施方式中,上述损失函数的第一部分可以包括频域部分和时域部分,上述步骤s410可以包括:
90.利用第一降噪频谱特征和第二含噪频谱特征,确定第一部分的频域部分;并且,利用第一降噪音频和第二含噪音频,确定第一部分的时域部分;
91.确定该频域部分和该时域部分的加权和,得到该损失函数的第一部分。
92.图5为根据本公开一实施例的音频降噪模型训练方法的输入、输出数据及损失函数构建方式示意图。
93.如图5所示,采用音频生成算法对原始含噪音频(图5中用x表示)进行采样,得到两条具有相似特征的第一含噪音频(图5中用s1(x)表示)和第二含噪音频(图5中用s2(x)表示)。分别对原始含噪音频、第一含噪音频、第二含噪音频进行时频转换(如stft),得到对应的原始含噪频谱特征(图5中用x表示)、第一含噪频谱特征(图5中用s1(x)表示)和第二含噪频谱特征(图5中用s2(x)表示)。
94.将x和s1(x)分别输入降噪模型(图5中用f
θ
表示),得到原始降噪频谱特征(图5中用f
θ
(x)表示)和第一降噪频谱特征(图5中用f
θ
(s1(x))表示)。
95.分别对f
θ
(x)和f
θ
(s1(x))进行频域到时域的转换(如istft),得到对应的原始降噪音频(图5中用f
θ
(x)表示)和第一降噪音频(图5中用f
θ
(s1(x))表示)。
96.采用音频生成算法对f
θ
(x)进行采样,得到两条具有相似特征的第一音频(图5中用s1(f
θ
(x))表示)和第二音频(图5中用s2(f
θ
(x))表示)。
97.为了便于区分,在上述表示符号中,采用小写字母x表示时域的音频文件,采用大写字母x表示频域的频谱特征。
98.为了更好地刻画声谱振幅与相位之间的关系,进而用于重建去噪后的音频声谱,在一些实施方式中,将上述频谱特征(如原始含噪频谱特征、第一含噪频谱特征、原始降噪频谱特征、第一降噪频谱特征)以及降噪模型的参数采用复数表示,可以拆解出实部和虚部。
99.例如,上述降噪模型的参数矩阵可以包括实部分量和虚部分量;
100.原始含噪频谱特征可以表征为包括实部分量和虚部分量的原始含噪特征矩阵;
101.第一含噪频谱特征可以表征为包括实部分量和虚部分量的第一含噪特征矩阵。
102.相应地,上述将原始含噪频谱特征和第一含噪频谱特征分别输入降噪模型,得到原始降噪频谱特征和第一降噪频谱特征,可以包括:
103.采用降噪模型的参数矩阵分别对原始含噪特征矩阵和第一含噪特征矩阵进行卷积处理,得到原始降噪频谱特征和第一降噪频谱特征。
104.原始降噪频谱特征也可以表征为包括实部分量和虚部分量的原始降噪特征矩阵;
105.第一降噪频谱特征也可以表征为包括实部分量和虚部分量的第一降噪特征矩阵。
106.在进行上述卷积处理时,本公开实施方式可以采用将上述特征矩阵和/或参数矩阵拆解成实部和虚部,并分别进行计算。例如,采用w表示降噪模型的参数矩阵;采用m表示输入降噪模型的特征矩阵,m可以指代原始含噪特征矩阵或第一含噪特征矩阵等。其中,
107.w=wr+jwi;wr表示w的实部(real)分量,wi表示w的虚部(imaginary)分量;
108.m=mr+jmi;mr表示m的实部分量,mi表示m的虚部分量。
109.采用以下式子(1)确定降噪模型对输入的特征矩阵进行卷积处理之后的结果:
110.m*w=(mr*w
r-mi*wi)+j(mr*w
i-mi*wr)(1)
111.即,采用降噪模型对输入的特征矩阵进行卷积处理之后,输出也是一个包含实部分量和虚部分量的特征矩阵,该特征矩阵的实部分量为mr*w
r-mi*w,虚部分量为mr*w
i-mi*wr。这种卷积计算方式便于实现、数据处理量小。
112.以下采用上述数据构建损失函数:
113.在一些实施方式中,利用第一降噪音频f
θ
(s1(x))、第一降噪频谱特征f
θ
(s1(x))、第二含噪音频s2(x)、第二含噪频谱特征s2(x)构建损失函数的第一部分,该部分作为损失函数的基础部分,如采用式子(2)确定损失函数的第一部分:
114.l
basic
=α
×
lossf+(1-α)
×
loss
t
(2)
115.其中,上述l
basic
表示损失函数的第一部分;
116.上述lossf表示损失函数的第一部分的频域部分;
117.上述loss
t
表示损失函数的第一部分的时域部分;
118.α表示超参数,一般取经验值;例如取值为0.2。
119.其中,上述lossf利用第一降噪频谱特征f
θ
(s1(x))和第二含噪频谱特征s2(x)来确定,例如采用式子(3)确定:
[0120][0121]
其中,xr(t,f)表示s2(x)的实部分量中,对应第t个块的数据中的第f个频谱间隔的取值;
[0122]
xi(t,f)表示s2(x)的虚部分量中,对应第t个块的数据中的第f个频谱间隔的取值;
[0123]
表示f
θ
(s1(x))的实部分量中,对应第t个块的数据中的第f个频谱间隔的取值;
[0124]
表示f
θ
(s1(x))的虚部分量中,对应第t个块的数据中的第f个频谱间隔的取值;
[0125]
t表示s2(x)或f
θ
(s1(x))对应的块数;
[0126]
f表示s2(x)或f
θ
(s1(x))对应的频谱间隔数。
[0127]
上述loss
t
可以利用第一降噪音频f
θ
(s1(x))和第二含噪音频s2(x)来确定,例如采用式子(4)确定:
[0128][0129]
其中,xi表示s2(x)第i个时间点的取值;
[0130]
表示f
θ
(s1(x))的第i个时间点的取值;
[0131]
n表示s2(x)或f
θ
(s1(x))的时间点的数量。
[0132]
上述实施方式中,将损失函数的第一部分划分为频域部分和时域部分来分别计算,能够从频域和时域两个角度确定信号差异,从而更为全面地表示出音频降噪模型对信号的影响,提高模型训练效果。
[0133]
在一些实施方式中,利用第一音频s1(f
θ
(x))、第二音频s2(f
θ
(x))、第二含噪音频s2(x)和第一降噪音频f
θ
(s1(x)),构建损失函数的第二部分,该部分作为损失函数的正则项,例如:
[0134]
确定第一降噪音频f
θ
(s1(x))与第二含噪音频s2(x)的第一差值,并确定第一音频s1(f
θ
(x))与第二音频s2(f
θ
(x))的第二差值;
[0135]
确定该第一差值与该第二差值的差;
[0136]
确定该第一差值与该第二差值的差的l2范数;
[0137]
根据该l2范数确定损失函数的第二部分。
[0138]
在一些实施方式中,采用式子(5)确定损失函数的第二部分:
[0139][0140]
其中,l
reg
表示损失函数的第二部分;
[0141]
符号“||||
2”表示l2范数,l2范数表示求向量内各元素的平方和然后求平方根;
[0142]
本公开实施例可以确定上述f
θ
(s1(x))-s2(x)-s1f
θ
(x)+s2f
θ
(x)的l2范数的平方,得到损失函数的第二部分。
[0143]
采用式子(6),可以将上述损失函数的第一部分和第二部分组成损失函数:
[0144]
l=l
baisc
+r
×
l
reg
(6)
[0145]
其中,l表示损失函数;
[0146]
l
basic
表示损失函数的第一部分;
[0147]
l
reg
表示损失函数的第二部分;
[0148]
r表示超参数,用于调整第一部分和第二部分的比重,一般取经验值;例如取值为0.8。
[0149]
利用上述损失函数调整降噪模型的参数,以实现对降噪模型的训练。例如,在计算出损失函数后,采用随机梯度下降(sgd,stochasticgradientdescent)准则反向更新降噪模型的参数;之后再进行下一批(batch)音频迭代,直到降噪模型的网络收敛即可,这样就得到一个具备一定降噪效果的降噪。
[0150]
以上介绍了构建相似的含噪音频、并设计损失函数对降噪模型进行训练的一些具体方式。通过设计音频生成算法对单个含噪音频中的帧进行采样,能够由单个含噪音频构造出相似含噪音频,实现了仅需要含噪音频即可训练任意降噪网络。并且,本公开实施方式通过在损失函数中引入正则项的方式,解决了采样过程中相似含噪音频采样位置不同而导
致的重构音频过于平滑的问题。
[0151]
本公开实施方式提出的模型训练方法中,还提出一种降噪模型的结构。图6为根据本公开一实施例的音频降噪模型训练方法中,降噪模型的结构示意图。如图6所示,该降噪模型可以包括编码单元(encoder)、转换单元和解码单元(decoder);其中,
[0152]
编码单元可以包括n1个由二维卷积层(conv2d)、归一化层(layer-norm)和线性整流单元(relu)构成的结构,n1为正整数;
[0153]
转换单元包括两阶段融合的转换模型(tstm,twostagetransformermodel);
[0154]
解码单元包括n2个由二维卷积层(conv2d)、归一化层(layer-norm)和线性整流单元(relu)构成的结构,n2为正整数。
[0155]
以图6为例,上述n1和n2相等,n1和n2取值均为3。在一些实施方式中,编码单元和解码单元之间可以存在跳跃连接(skipconnections)。以图6为例,编码单元(encoder)包括的3个{conv2d+layer-norm+relu}结构分别与解码单元(decoder)包括的3个{conv2d+layer-norm+relu}结构连接,这样构成u型网络,一方面可以解决训练过程中梯度爆炸和梯度消失问题,另一方面也有利于传递低级特征,对提取多级别多层次的特征更有帮助。
[0156]
如图6所示,在一些实施方式中,整个降噪模型的输入是含噪音频的频谱特征(如通过stft提取),降噪模型的decoder的输出为进行降噪处理后的梅尔谱特征;再利用含噪音频的频谱特征对该梅尔谱特征进行处理,得到去噪音频的频谱特征;之后对去噪音频的频谱特征进行频域到时域的转换(如istft),得到去噪音频。
[0157]
图7为根据本公开一实施例的音频降噪模型训练方法中,降噪模型中的的转换单元的结构示意图。如图7所示,该转换单元可以为两阶段融合的转换模型(tstm,twostagetransformermodel),包括局部转换(localtransformer)模型和全局转换(globaltransformer)模型。tstm能够更好地挖掘特征中局部与全局的上下文信息,通过改变输入来使各个transformer学习到不同位置的信息,如localtransformer模型对编码单元(encoder)处理后的数据中对应各个块的数据进行独立处理,globaltransformer模型对编码单元(encoder)处理后的数据中不同块的同一位置的数据进行处理。这样,前者能学习到的是当前这个块的信息,后者是跨越了不同块,全视角去学习。
[0158]
与上述整个降噪模型的参数矩阵类似,tstm模型的参数矩阵也可以包括实部分量和虚部分量,输入tstm模型中的特征信息可以为包括实部分量和虚部分量的特征矩阵;采用tstm的参数矩阵对输入的特征矩阵进行特征处理,得到处理后的特征矩阵,该处理后的特征矩阵包括实部分量和虚部分量。
[0159]
例如,在进行上述卷积处理时,本公开实施方式可以采用将上述特征矩阵和/或参数矩阵拆解成实部和虚部,并分别进行计算。例如,采用p表示tstm模型的参数矩阵;采用n表示输入tstm模型的特征矩阵,其中,
[0160]
p=tstmr+jtstmi;tstmr表示tstm模型的参数矩阵的实部分量,tstmi表示tstm模型的参数矩阵的虚部分量;
[0161]
n=nr+jni;nr表示n的实部分量,ni表示n的虚部分量。
[0162]
采用以下式子(7)确定tstm模型对输入的特征矩阵进行卷积处理之后的结果:
[0163]
n*p=(nr*tstm
r-ni*tstmi)+j(nr*tstm
i-ni*tstmr)(7)
[0164]
即,采用tstm模型对输入的特征矩阵进行卷积处理之后,输出也是一个包含实部
分量和虚部分量的特征矩阵,该特征矩阵的实部分量为nr*tstm
r-ni*tstmi,虚部分量为nr*tstm
i-ni*tstmr。
[0165]
此外,对于上述tstm模型中的各个transformer模型,如局部转换模型和全局转换模型,本公开实施方式可以包括多头注意力层(multi-head attention)、第一归一化层(layer norm)、前馈网络(feed-forward network)和第二归一化层(layer norm);其中,前馈网络可以包括门控循环单元(gru,gate recurrent unit)、relu和线性层(linear)。图8为根据本公开一实施例的音频降噪模型训练方法中,transformer模型的结构示意图,如图8所示,在transformer模型的前馈网络中采用gru来替代传统的长短期记忆(lstm,long short term memory)层,可以在学习时序信息,以及相对位置信息等方面更加准确,并且参数量更少,更容易使模型收敛。
[0166]
需要强调的是,以上仅为本公开实施方式使用的一种音频降噪模型的示例,本公开实施方式提出的音频降噪模型的训练方法可以适用于对任何音频降噪模型的训练,本公开对音频降噪模型的结构不做限制。
[0167]
本公开实施例还提出一种音频降噪方法,图9为根据本公开一实施例的音频降噪方法的实现流程图,包括:
[0168]
s910:将待处理音频输入预先训练的音频降噪模型;
[0169]
s920:获取该音频降噪模型输出的结果音频;其中,该预先训练的音频降噪模型采用前述音频降噪模型的训练方法训练得到。
[0170]
这样,包含噪声的待处理音频经过音频降噪模型处理之后,能够降低或消除待处理音频中的噪声,得到降噪后的音频文件,从而可以改善音频质量,提升听者的舒适感;如果该音频文件为语音文件,还可以提升语音信息传达的可懂度,并为提升语音识别的准确度创造有利条件。
[0171]
该音频降噪模型的训练方式在以上实施方式中已有介绍,在此不再赘述。
[0172]
本公开实施方式还提出一种音频降噪模型的训练装置,图10为根据本公开一实施例的音频降噪模型训练装置1000的结构示意图,包括:
[0173]
采样模块1010,用于采用音频生成算法对原始含噪音频进行采样,得到具有相似特征的第一含噪音频和第二含噪音频;
[0174]
确定模块1020,用于确定所述原始含噪音频的原始含噪频谱特征和所述第一含噪音频的第一含噪频谱特征;
[0175]
处理模块1030,用于采用所述音频降噪模型分别对所述原始含噪频谱特征和所述第一含噪频谱特征进行降噪处理,得到原始降噪音频和第一降噪音频;
[0176]
构建模块1040,用于利用所述原始降噪音频、所述第一降噪音频和所述第二含噪音频构建损失函数;
[0177]
调整模块1050,用于根据所述损失函数对所述音频降噪模型的参数进行调整。
[0178]
本公开实施方式还提出一种音频降噪模型的训练装置,图11为根据本公开一实施例的音频降噪模型训练装置1100的结构示意图,如图11所示,在一种可能的实现方式中,上述采样模块1010包括:
[0179]
分帧子模块1011,用于将所述原始含噪音频进行分帧,得到多个帧;
[0180]
分组子模块1012,用于将所述多个帧进行分组处理,得到多个块;每个所述块包括
偶数个所述帧;
[0181]
采样连接子模块1013,用于对各个所述块进行采样,得到每个所述块对应的两个音频片段,其中一个音频片段由所述块中的序列号为奇数的帧依次连接而成,另一个音频片段由所述块中的序列号为偶数的帧依次连接而成;
[0182]
提取连接子模块1014,用于分别提取各个块对应的一个音频片段,将提取的音频片段依次连接,得到所述第一含噪音频;并将提取之后各个块剩余的另一个音频片段依次连接,得到所述第二含噪音频。
[0183]
如图11所示,在一种可能的实现方式中,上述处理模块1030包括:
[0184]
输入子模块1031,用于将所述原始含噪频谱特征和所述第一含噪频谱特征分别输入所述音频降噪模型,得到原始降噪频谱特征和第一降噪频谱特征;
[0185]
转换子模块1032,用于分别对所述原始降噪频谱特征和所述第一降噪频谱特征进行频域到时域的转换,得到所述原始降噪音频和所述第一降噪音频。
[0186]
在一种可能的实现方式中,上述构建模块1040用于:
[0187]
利用所述第一降噪音频、所述第一降噪频谱特征、所述第二含噪音频和所述第二含噪音频的第二含噪频谱特征,构建所述损失函数的第一部分;
[0188]
采用所述音频生成算法对所述原始降噪音频进行采样,得到具有相似特征的第一音频和第二音频;
[0189]
利用所述第一音频、所述第二音频、所述第二含噪音频和所述第一降噪音频,构建所述损失函数的第二部分;
[0190]
将所述第一部分和所述第二部分组成所述损失函数。
[0191]
在一种可能的实现方式中,上述构建模块1040用于:
[0192]
将所述原始降噪音频进行分帧,得到多个帧;
[0193]
将所述多个帧进行分组处理,得到多个块;每个所述块包括偶数个所述帧;
[0194]
对各个所述块进行采样,得到每个所述块对应的两个音频片段;其中一个音频片段由所述块中的序列号为奇数的帧依次连接而成,另一个音频片段由所述块中的序列号为偶数的帧依次连接而成;
[0195]
分别提取各个块对应的一个音频片段,将提取的音频片段依次连接,得到所述第一音频;并将提取之后各个块剩余的另一个音频片段依次连接,得到所述第二音频。
[0196]
在一种可能的实现方式中,上述音频降噪模型的参数矩阵包括实部分量和虚部分量;
[0197]
所述原始含噪频谱特征表征为包括实部分量和虚部分量的原始含噪特征矩阵;
[0198]
所述第一含噪频谱特征表征为包括实部分量和虚部分量的第一含噪特征矩阵。
[0199]
在一种可能的实现方式中,上述输入子模块1031,用于采用所述音频降噪模型的参数矩阵分别对所述原始含噪特征矩阵和所述第一含噪特征矩阵进行卷积处理,得到所述原始降噪频谱特征和所述第一降噪频谱特征。
[0200]
在一种可能的实现方式中,上述构建模块1040用于:
[0201]
利用所述第一降噪频谱特征和所述第二含噪频谱特征,确定所述第一部分的频域部分;并且,利用所述第一降噪音频和所述第二含噪音频,确定所述第一部分的时域部分;
[0202]
确定所述频域部分和所述时域部分的加权和,得到所述损失函数的第一部分。
[0203]
在一种可能的实现方式中,上述第一降噪频谱特征表征为包括实部分量和虚部分量的第一降噪特征矩阵;
[0204]
所述第二含噪频谱特征表征为包括实部分量和虚部分量的第二含噪特征矩阵。
[0205]
在一种可能的实现方式中,上述构建模块1040用于:
[0206]
利用所述第一降噪特征矩阵的实部分量与所述第二含噪特征矩阵的实部分量的差值、以及所述第一降噪特征矩阵的虚部分量与所述第二含噪特征矩阵的虚部分量的差值,确定所述第一部分的频域部分。
[0207]
在一种可能的实现方式中,上述构建模块1040用于:利用所述第一降噪音频和所述第二含噪音频在各个对应时刻上的差值,确定所述第一部分的时域部分。
[0208]
在一种可能的实现方式中,上述构建模块1040用于:
[0209]
确定所述第一降噪音频与所述第二含噪音频的第一差值,并确定所述第一音频与所述第二音频的第二差值;
[0210]
确定所述第一差值与所述第二差值的差;
[0211]
确定所述第一差值与所述第二差值的差的l2范数;
[0212]
根据所述l2范数确定所述损失函数的第二部分。
[0213]
在一种可能的实现方式中,上述音频降噪模型包括编码单元、转换单元和解码单元;其中,
[0214]
所述编码单元包括n1个由二维卷积层、归一化层和线性整流单元relu构成的结构,所述n1为正整数;
[0215]
所述转换单元包括两阶段融合的转换模型;
[0216]
所述解码单元包括n2个由二维卷积层、归一化层和relu构成的结构,所述n2为正整数。
[0217]
在一种可能的实现方式中,上述两阶段融合的转换模型中的每个转换模型包括多头注意力层、第一归一化层、前馈网络和第二归一化层;
[0218]
所述前馈网络包括门控循环单元gru、relu和线性层。
[0219]
在一种可能的实现方式中,上述n1与所述n2相等,所述编码单元和所述解码单元之间存在跳跃连接。
[0220]
本公开实施方式还提出一种音频降噪装置,图12为根据本公开一实施例的音频降噪装置1200的结构示意图,包括:
[0221]
输入模块1210,用于将待处理音频输入预先训练的音频降噪模型;
[0222]
获取模块1220,用于所述音频降噪模型输出的结果音频;
[0223]
其中,预先训练的音频降噪模型采用本公开提出的音频降噪模型训练方法中的任意方式训练得到。
[0224]
本公开装置实施例中各模块和/或单元的功能可以参见本公开上述方法实施例中的相关描述,在此不在赘述。
[0225]
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0226]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0227]
图13示出了可以用来实施本公开的实施例的示例电子设备1300的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0228]
如图13所示,设备1300包括计算单元1301,其可以根据存储在只读存储器(rom)1302中的计算机程序或者从存储单元1308加载到随机访问存储器(ram)1303中的计算机程序,来执行各种适当的动作和处理。在ram 1303中,还可存储设备1300操作所需的各种程序和数据。计算单元1301、rom 1302以及ram 1303通过总线1304彼此相连。输入/输出(i/o)接口1305也连接至总线1304。
[0229]
设备1300中的多个部件连接至i/o接口1305,包括:输入单元1306,例如键盘、鼠标等;输出单元1307,例如各种类型的显示器、扬声器等;存储单元1308,例如磁盘、光盘等;以及通信单元1309,例如网卡、调制解调器、无线通信收发机等。通信单元1309允许设备1300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0230]
计算单元1301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1301的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1301执行上文所描述的各个方法和处理,例如音频降噪模型的训练方法或音频降噪方法。例如,在一些实施例中,音频降噪模型的训练方法或音频降噪方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1308。在一些实施例中,计算机程序的部分或者全部可以经由rom 1302和/或通信单元1309而被载入和/或安装到设备1300上。当计算机程序加载到ram 1303并由计算单元1301执行时,可以执行上文描述的音频降噪模型的训练方法或音频降噪方法的一个或多个步骤。备选地,在其他实施例中,计算单元1301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行音频降噪模型的训练方法或音频降噪方法。
[0231]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0232]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0233]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0234]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
[0235]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0236]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0237]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0238]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1