一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种音频分离网络的训练方法、装置、电子设备及存储介质与流程

2022-04-06 21:17:01 来源:中国专利 TAG:


1.本技术涉及人工智能技术,尤其涉及一种音频分离网络的训练方法、装置、电子设备及存储介质。


背景技术:

2.音频分离技术是指从原始音频数据中提取和分离出人声和乐器等原始音轨的技术。近几年,基于ai(artificial intelligence,人工智能)的音频分离算法得到了很快的发展。以deezer公司推出的spleeter工具为代表,它可以将普通音频数据分离到人声、鼓点、贝斯和其他乐器四个音轨,基于大量数据的训练,其分离效果越来越准确,已经被广泛应用到音频制作和回放等领域。
3.相较于传统算法,数据在ai算法中占据了至关重要的地位。基于ai的音频分离算法,需要的训练数据包括:人声音轨,若干种单独乐器音轨,剩余的其它乐器音轨,以及由上述音轨按一定规则混合而成的混合音轨。这些单独音轨的数量越多,风格种类越丰富,则训练出的模型的分离效果越好。因此,获取和制作大规模且高质量的音轨数据,是ai音频分离算法的核心和关键。然而,实际的音轨数据很难大规模直接取得。因此本技术方案提供一种从混合音轨中提取音轨数据并训练音频分离网络的方法。


技术实现要素:

4.为解决上述技术问题,本技术实施例期望提供一种音频分离网络的训练方法、装置、电子设备及存储介质。
5.本技术的技术方案是这样实现的:
6.第一方面,提供了一种音频分离网络的训练方法,包括:
7.获取音频数据集;
8.基于第一音频分离网络对所述音频数据集中的第一混合音频数据进行分离,输出目标音轨数据;
9.基于预设混合策略对所述目标音轨数据进行混合,得到第二混合音频数据;
10.基于更新后的音频数据集对第二音频分离网络进行训练,计算损失函数;
11.损失函数不满足收敛条件,更新所述第二音频分离网络的网络参数,并将更新后的第二音频分离网络作为第一音频分离网络;
12.损失函数满足收敛条件,得到训练好的第二音频分离网络。
13.第二方面,提供了一种音频分离网络的训练装置,包括:
14.获取单元,获取音频数据集;
15.第一处理单元,用于基于第一音频分离网络对所述音频数据集中的第一混合音频数据进行分离,输出目标音轨数据;
16.混合单元,用于基于预设混合策略对所述目标音轨数据进行混合,得到第二混合音频数据;
17.第二处理单元,用于基于所述目标音轨数据和所述第二混合音频数据对第二音频分离网络进行训练,计算损失函数;损失函数不满足收敛条件,更新所述第二音频分离网络的网络参数,并将更新后的第二音频分离网络作为第一音频分离网络;损失函数满足收敛条件,得到训练好的第二音频分离网络。
18.第三方面,提供了电子设备,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器配置为运行所述计算机程序时,执行前述方法的步骤。
19.第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现前述方法的步骤。
20.本技术实施例中提供了一种音频分离网络的训练方法、装置、电子设备及存储介质,该方法在开始训练第二音频分离网络时可以选择无单独音轨数据的音频数据集,在每次训练过程中先利用第一音频分离网络对第一混合音频数据进行分离,提取干净的音轨数据,对干净的音轨数据(比如人声音轨、乐器音轨等)进行混合,利用干净的音轨数据及其对应第二混合音频数据组成训练数据,训练第二音频分离网络,将更新后的第二音频分离网络作为第一音频分离网络执行下一次训练过程,直到损失函数满足收敛条件,得到训练好的第二音频分离网络。如此反复迭代,不断优化第二音频分离网络的同时,分离出更干净的音轨数据,提高训练数据质量,从而提高音频分离网络的训练效果。
附图说明
21.图1为本技术实施例中音频分离网络的训练方法的第一流程示意图;
22.图2为本技术实施例中人声音轨数据分离方法的流程示意图;
23.图3为本技术实施例中从音频数据中移除伴奏的一种基本原理示意图;
24.图4为本技术实施例中乐器音轨数据分离方法的流程示意图;
25.图5为本技术实施例中一种典型的cnn网络示意图;
26.图6为本技术实施例中音频分离网络的训练方法的第二流程示意图;
27.图7为本技术实施例中音频分离网络的训练装置的组成结构示意图;
28.图8为本技术实施例中电子设备的组成结构示意图。
具体实施方式
29.为了能够更加详尽地了解本技术实施例的特点与技术内容,下面结合附图对本技术实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本技术实施例。
30.音乐是一种乐器和人声混合叠加而成的复杂音频信号,其中包含了各种乐器的伴奏和不同人声,人工很难从这种复杂音频信息中分离出所需要的单一信息。音频分离技术能够从复杂音频信号中提取到单独一种声音的音频数据,可以用于伴奏分离,自动歌词生成,乐器种类鉴别,歌词和音乐对齐,音高提取等各种信息检索技术。
31.本技术实施例提供了一种音频分离网络的训练方法,在训练过程中能够实现从混合音频数据中提取干净的音轨数据,对干净的音轨数据进行混合,得到训练数据,用于训练音频分离网络,并通过迭代提高训练数据质量。图1为本技术实施例中音频分离网络的训练方法的第一流程示意图,如图1所示,该训练方法具体可以包括:
32.步骤101:获取音频数据集;
33.示例性的,音频数据集包括第一混合音频数据。第一混合音频数据可以理解为由至少两种音轨混合而成的音频数据,例如,演唱音乐、演奏音乐,环境声音等。
34.在一些实施例中,音频数据集还包括音轨数据。这里,音轨可以理解为单独一种声音的音频数据。例如,人声音轨、乐器音轨、动物音轨,其他特定物体音轨等。
35.步骤102:基于第一音频分离网络对所述音频数据集中的第一混合音频数据进行分离,输出目标音轨数据;
36.这里,第一音频分离网络用于从第一混合音频数据中分离出其中的一种或多种目标音轨。当一个音频分离网络只能分离出一种音轨时,可以为每种音轨均构建对应音频分离网络。
37.目标音轨可以理解为混合音频数据中待分离出的单独音轨。示例性的,目标音轨为音乐中的人声音轨或者特定乐器音轨,例如,钢琴、大提琴、古筝等,混合音频数据中除目标音轨之外的可以称为其他音轨。
38.示例性的,在一些实施例中,所述基于第一音频分离网络对所述音频数据集中的第一混合音频数据进行分离,输出目标音轨数据,包括:将所述第一混合音频数据中的其他音轨数据移除,得到所述第一混合数据中目标音轨的第一音轨数据;将所述第一音轨数据输入到所述第一音频分离网络进行分离,输出所述目标音轨的第二音轨数据;将所述第二音轨数据作为所述目标音轨数据。
39.可以理解为,为了提高第一音频分离网络的分离效果,可以先将第一混合音频数据中的其他音轨数据移除,即将目标音轨数据和其他音轨数据进行第一次分离,得到比较干净第一音轨数据,此时第一音轨数据中可能还包括其他音轨数据,将第一音轨数据作为一种混合音频数据输入到第一音频分离网络进行第二次分离,得到目标音轨的第二音轨数据,将所述第二音轨数据作为所述目标音轨数据。如此,利用第一音频分离网络分离比较干净的第一音轨数据,相比于直接分离第一混合音频数据,能够输出更为干净的目标音轨数据,提高了第一次音频分离网络的分离效果。
40.示例性的,在一些实施例中,得到目标音轨数据之后,该方法还包括:确定所述目标音轨数据中目标音轨的能量和其他音轨的能量;所述目标音轨的能量大于等于第一能量阈值,所述其他音轨的能量小于第二能量阈值时,保留所述目标音轨数据;所述目标音轨的能量小于所述第一能量阈值,所述其他音轨的能量大于等于所述第二能量阈值时,丢弃所述第二音轨数据;其中,所述第一能量阈值大于所述第二能量阈值。
41.也就是说,为了进一步提高音轨数据质量,还可以对第一音频分离网络输出的目标音轨数据进行能量检测,保证目标音轨的能量足够大,而其他音轨的能量足够小,即从能量角度保证目标音轨的干净程度。
42.示例性的,可以基于包络信号或均方根(root mean square rms)信号检测能量。rms的计算计算公式如下:
43.44.其中,w表示滑动窗的长度,比较合适的值是取50毫秒对应的点数,s(n i)滑动窗内第i个点的音轨数据,rms(n)为音轨的能量,当目标音轨的能量幅度s1大于等于第一能量阈值t1(s1≥t1),其他音轨信号能量幅度s2小于第二能量阈值t2(s2《t2)时,将目标音轨数据被选为干净的音轨数据,加入到音频数据集中,并用于生成混合音频数据。
45.示例性的,在一些实施例中,提取第一混合音频数据中的音频特征,将音频特征输入到音频分离网络。这里,音频特征可以时混合音频数据的频域特征或者时域特征。
46.相应的,音频分离网络输出音轨的音频特征,再基于音频特征得到对应的音轨数据。
47.步骤103:基于预设混合策略对所述目标音轨数据进行混合,得到第二混合音频数据;
48.示例性的,在一些实施例中,所述基于预设混合策略对所述目标音轨数据进行混合之前,所述方法还包括:基于预设变换策略,对所述目标音轨数据进行变换;其中,所述预设变换策略包括以下至少一项:左声道和右声道平移,左声道和右声道互换,调整音量,调整频率,调整幅度,高通滤波,低通滤波,混响。
49.也就是说,为了进一步扩充音频数据集,在经过上述步骤得到干净的目标音轨数据之后,使用预设的变换策略对这些音轨数据进行随机变换,扩充音轨数据数量,以及后续混合音频数据数量,从而达到扩充数据集的目的。
50.示例性的,所述基于预设混合策略对所述目标音轨数据进行混合,包括:基于预设混合策略对至少两个目标音轨数据进行混合,或者,基于预设混合策略对目标音轨数据和其他音轨数据进行混合。也就是说,将第一音频分离模型分离出的多个目标音轨数据进行混合得到第二混合音频数据,或者将第一音频分离模型分离出的一个或多个目标音轨数据和伴奏进行混合得到第二混合音频数据。
51.示例性的,预设混合策略包括预设的混合对象和混合数量。示例性的,混合公式如下:其中,si为混合对象,n为混合对象数量。
52.在一些实施例中,预设混合策略还包括混合对象的权重。
53.步骤104:基于所述目标音轨数据和所述第二混合音频数据对第二音频分离网络进行训练,计算损失函数;
54.这里,目标音轨数据包括第一音频分离网络分离出一种或多种干净的音轨数据,若对音轨数据进行了变换操作,还可以包括变换后的音轨数据。
55.第一混合音频数据可以理解为音频数据集中的混合音频数据,即第一音频分离网络待分离的混合音频数据。第二混合音频数据可以理解为本次训练过程中利用第一音频分离网络分离出的目标音轨数据混合后得到混合音频数据,用于训练第二音频分离网络。
56.也就是说,为了提高训练数据质量,先利用第一音频分离网络分离出干净的目标音轨数据,对目标音轨数据进行混合得到对应的第二混合音频数据,用于训练第二音频分离网络,从而提高训练效果。
57.在一些实施例中,第一音频分离网络和第二音频分离网络为同一网络,或者,第一音频分离网络和第二音频分离网络为不同网络。
58.当为同一网络时,第一音频分离网络和第二音频分离网络统称为“音频分离网络”,先利用上一次训练后的音频分离网络对音频数据集中第一混合音频数据进行分离,再
利用分离得到的干净的音轨数据及对应的第二混合音频数据,对音频分离网络进行训练。
59.当为不同网络时,第一音频分离网络用于对音频数据集中第一混合音频数据进行分离,再利用分离得到的干净的音轨数据及对应的第二混合音频数据,对第二音频分离网络进行训练。
60.在一些实施例中,训练过程中一些阶段,第一音频分离网络和第二音频分离网络为不同网络,训练过程中另一些阶段,第一音频分离网络和第二音频分离网络为同一网络。
61.应理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息按照功能、时间的不同彼此区分开,不必用于描述特定的顺序或先后次序。
62.步骤105:损失函数是否满足收敛条件,如果否,执行步骤106;如果是,执行步骤107;
63.步骤106:损失函数不满足收敛条件,更新所述第二音频分离网络的网络参数,并将更新后的第二音频分离网络作为第一音频分离网络;返回步骤102执行下一次训练过程;
64.也就是说,在训练过程中,将本次训练后的第二音频分离网络作为第一音频分离网络执行下一次分离,再利用分离得到的干净的音轨数据及对应的第二混合音频数据,对第二音频分离网络进行下一次训练。
65.步骤107:损失函数满足收敛条件,得到训练好的第二音频分离网络。
66.具体地,将音频数据集中的混合音频数据输入到第二音频分离网络,输出分离后的音轨数据,利用分离后的音轨数据和音频数据集中的音轨数据计算损失函数,损失函数的值使用梯度反向传播算法得到各个第二音频分离网络中的权重更新值。使用该权重更新值对第二音频分离网络中的权重进行更新以使得损失函数逐步下降至网络所能达到的最优值。在训练阶段结束后,第二音频分离网络的所有权重值被固定下来。
67.采用上述技术方案,在每次训练过程中先利用第一音频分离网络对第一混合音频数据进行分离,提取干净的音轨数据,对干净的音轨数据(比如人声音轨、乐器音轨等)进行混合,利用干净的音轨数据及其对应第二混合音频数据组成训练数据,训练第二音频分离网络,将更新后的第二音频分离网络作为第一音频分离网络执行下一次训练过程,直到损失函数满足收敛条件,得到训练好的第二音频分离网络。如此反复迭代,不断优化第二音频分离网络的同时,分离出更干净的音轨数据,提高训练数据质量,从而提高音频分离网络的训练效果。
68.下面对本技术实施例中音频数据集的扩充进行举例说明,示例性的,目标音轨数据为人声音轨数据,其他音轨数据为乐器音轨数据,如图2所示,人声音轨数据提取方法包括:
69.步骤201:获取音频数据集;
70.示例性的,音频数据集至少包括:人声音轨数据和若干种单独乐器音轨数据按照一定规则混合而成的第一混合音频数据,以及若干单独乐器音轨数据混合而成的伴奏。
71.在一些实施例中,音频数据集还包括人声音轨数据和若干种单独乐器音轨数据。
72.步骤202:将第一混合音频数据中的其他乐器音轨数据移除,得到人声音轨的第一音轨数据;
73.这里,其他乐器音轨数据可以理解为由若干单独乐器音轨数据混合而成的伴奏。
74.首先,对于配对的音乐x和伴奏s
accomp
,将伴奏从音乐中移除,得到待选的人声s
vocal
。这里的移除操作,可以有多种方法,包括但不限于:
75.1、音乐和伴奏按幅度相减,即:
76.s
vocal
=x-s
accomp
77.该方法仅限于混音时人声和伴奏无幅度上的衰减。
78.2、音乐减去伴奏乘以固定系数k,即:
79.s
vocal
=x-k*s
accomp
80.该方法适用于混音时人声和伴奏在幅度上有一定的衰减。例如通常使用的是3db的衰减,则上式中的k的值为
81.3、将伴奏当作回声信号,使用回声消除(acoustic echo cancellation,aec)技术将伴奏从音频数据中移除,其基本原理可如图3所示。
82.其中s
accomp
(n)为伴奏,可认为是远端语音,经过回声路径(混音过程)w(n)得到远端回声语音y(n):
83.y(n)=x(n)*w(n)
84.再加上可认为是近端语音的人声音轨s
vocal
(n),得到期望信号也就是混合音频x(n):
85.x(n)=s
accomp
(n) y(n)
86.s
accomp
(n)通过自适应滤波器得到估计的回声信号并与期望信号x(n)相减得到误差信号e(n):
[0087][0088]
误差信号的值越小则说明自适应滤波算法所估计的回声路径(混音过程)越接近实际的回声路径(混音过程)。自适应滤波器添加了人声检测模块,该模块可以由音频分离网络实现,自适应滤波器对人声音轨进行能量幅度检测,自适应滤波器仅在检测到没有人声时才进行权值的更新。自适应滤波器可使用多种算法实现,如经典的lms(最小均方,least mean square)算法,可通过以下迭代过程:
[0089]
w(n 1)=w(n) 2μe(n)x(n)
[0090]
对自适应滤波器权值进行迭代更新,其中μ为固定步长因子,其值越大,则算法收敛越快,但稳态误差也越大,反之则收敛越慢,但稳态误差也越小。使用所述aec方法处理配对的音乐和伴奏,可有效地从音乐中消除伴奏信号,得到相对较为干净的人声音轨。
[0091]
实际中,可以根据获取的音乐和伴奏数据质量的情况,选择一种或多种伴奏移除方法,根据后续结果,择优选取。
[0092]
步骤203:将第一音轨数据输入到对应的第一音频分离网络进行分离,输出人声音轨的第二音轨数据;
[0093]
需要说明的是,步骤202得到的人声音轨的第一音轨数据并不一定是干净的人声,主要是因为伴奏可能也含有人声,或者音乐对伴奏的消除不完全,导致待选人声中残留有伴奏信号,因此还需要对人声音轨的第一音轨数据进行进一步的分离处理。
[0094]
第一音频分离网络,即正在训练的第二音频分离网络或者预先训练好的音频分离网络,对待选人声进行人声和伴奏的分离,并对分离得到的人声及伴奏音轨分别进行信号
能量幅度的检测,如检测包络信号或rms信号。
[0095]
步骤204:确定第二音轨数据中人声音轨的能量和其他乐器音轨的能量;
[0096]
步骤205:人声音轨的能量大于等于第一能量阈值,其他乐器音轨的能量小于第二能量阈值时,保留第二音轨数据作为干净的人声音轨数据;
[0097]
当人声音轨的能量幅度s
vocal
大于等于第一能量阈值t
vocal
且伴奏音轨的能量幅度s
accomp
小于第二能量阈值t
accomp
时,待选人声被选为干净的人声音轨加入到音频数据集中,上述条件可表示为:
[0098]svocal
≥t
vocal
[0099]saccomp
《t
accomp
[0100]
步骤206:人声音轨的能量小于第一能量阈值,其他乐器音轨的能量大于等于第二能量阈值时,丢弃第二音轨数据。
[0101]
其中,第一能量阈值大于第二能量阈值。
[0102]
示例性的,目标音轨数据为目标乐器音轨数据,其他音轨数据包括人声音轨数据和除目标乐器之外的其他乐器音轨数据,对于乐器音轨数据,可以直接从乐器数据库中选择独立的乐器音轨片段,进行拼接得到干净的单独乐器音频数据,或者从音乐中提取。如图4所示,乐器音轨数据提取方法包括:
[0103]
步骤401:获取音频数据集;
[0104]
示例性的,音频数据集至少包括:若干种单独乐器音轨数据按照一定规则混合而成的第一混合音频数据。
[0105]
在一些实施例中,第一混合音频数据中还可以包括人声音轨数据。音频数据集还包括人声音轨数据和若干种单独乐器音轨数据。
[0106]
步骤402:将第一混合音频数据输入到对应的第一音频分离网络进行分离,输出目标乐器音轨数据;
[0107]
第一音频分离网络,即正在训练的第二音频分离网络或者预先训练好的音频分离网络,对音乐进行人声、若干种单独乐器和其它乐器的分离。这里单独乐器为可分离的已知乐器,可以根据实际应用需要进行调整,例如,鼓点和贝斯,或者鼓点、贝斯和钢琴等。其它乐器可以理解为除已知乐器之外,其他未知乐器的混合。
[0108]
步骤403:确定目标乐器音轨数据中目标乐器音轨的能量和其他音轨的能量;
[0109]
步骤404:目标乐器音轨的能量大于等于第一能量阈值,其他音轨的能量小于第二能量阈值时,保留目标乐器音轨数据;
[0110]
示例性的,在一些实施例中,该方法还包括:所述目标音轨的能量大于等于第一能量阈值,所述其他音轨的能量小于第二能量阈值时,保留时长大于时长阈值的目标音轨数据。
[0111]
示例性的,在一些实施例中,该方法还包括:将保留的至少两段目标音轨数据进行拼接,得到最终的目标音轨数据。
[0112]
步骤405:目标乐器音轨的能量小于第一能量阈值,其他音轨的能量大于等于第二能量阈值时,丢弃目标乐器音轨数据。
[0113]
分离得到各个乐器音轨数据后,逐个进行信号能量幅度的检测,如检测包络信号或rms信号。针对某个目标乐器音轨数据si(可以是单独乐器音轨数据或其它乐器音轨数
据),设置最低能量阈值(即第一能量阈值),并对除之以外的各个音轨数据sj,设置最高能量阈值(即第二能量阈值),其中j=0,1,...,n-1,且j≠i。选取出目标乐器音轨片段的有序集合:
[0114]ci
={si(segk)}
[0115]
其中满足:
[0116][0117][0118]
其中k=0,1,2,...,m-1,segk表示第k个时间片段,因此ci共包含m个时间片段的目标乐器音轨片段。si(segk)表示segk时间片段上的目标乐器音轨片段,sj(segk)表示segk时间片段上的除了目标乐器音轨片段以外的其他乐器音轨片段。
[0119]
需要强调的是,考虑到音频分离网络本身可能存在一定程度的误分离,因此对非目标乐器音轨的最高能量阈值可以设置得严格一些,也就是值设置得小一些,从而保证目标乐器音轨的干净程度。
[0120]
随后,设置一个最短的时间长度t
dur
,作为选取目标乐器音轨片段的时间长度阈值,使得:
[0121]
segk≥t
dur
[0122]
最后,将选取的目标乐器音轨片段进行拼接得到最终的干净的目标乐器音频数据si:
[0123]
si=concat(si(seg0),si(seg1),...,si(seg
m-1
))
[0124]
下面对得到的音轨数据的变换策略进行举例说明。
[0125]
在经过上述步骤得到干净的人声音频数据、单独乐器音频数据和其它乐器音频数据之后,使用一系列的变换方法对这些单独音轨数据进行随机变换,达到数据扩充的目的,这些方法包括但不限于:
[0126]
左右声道平移及互换:即对左右声道信号进行时间上的随机偏移(左声道t
l
,右声道tr),并乘上一个随机增益系数(左声道α
l
,右声道αr):
[0127]sil
(n)=α
lsil
(n-t
l
)
[0128]sir
(n)=αrs
ir
(n-tr)
[0129]
随后,以50%的概率交换左右声道:
[0130]
si(n)=swap(s
il
(n),s
ir
(n))
[0131]
调整音量:即随机使用增益系数α(如-10db至10db)对单独音轨数据进行信号幅度调整:
[0132]
si=αsi[0133]
高通、低通滤波:即随机使用预先提供的一系列高、低通滤波器的冲激响应序列hk,对单独音轨数据进行卷积运算:
[0134]
si=si*hk[0135]
混响:即随机使用预先提供的一系列不同环境场景下的混响冲击响应序列hk,对单独音轨数据进行卷积运算:
[0136]
si=si*hk[0137]
调整频率和幅度:首先将单独音轨数据通过短时傅里叶变换(short time fourier transform,stft)变换到频域得到对应的时频图si(t,f):
[0138]
si(t,f)=stft(si)
[0139]
调整频率可以理解为改变音频的语速,即使用随机系数β
stretch
(如0.7至1.3)对上述时频图进行时域轴上的线性拉伸:
[0140]
si(t,f)=si(β
stretch
t,f)
[0141]
调整幅度是指改变音频的音高,即使用随机系数β
shift
(如0.7至1.3)对上述时频图进行频域轴上的线性拉伸:
[0142]
si(t,f)=si(t,β
shift
f)
[0143]
经过上述拉伸后,将得到的时频图进行裁剪或填充,使之相对于原始时频图的尺寸保持不变,然后进行逆短时傅里叶变换(inverse short time fourier transform,istft),得到变速及变调后的时域信号:
[0144]
si(t,f)=istft(si)
[0145]
经过上述的系列随机变换,得到单独音轨数据si,其中i=0,1,2,

,n-1,其中n为音轨数量,示例性的,混合公式如下:
[0146]
下面对音频分离网络进行举例说明。
[0147]
示例性的,音频分离网络可以为深度神经网络(deep neural network,dnn)。dnn网络包括训练阶段和使用阶段。
[0148]
在训练阶段,首先使用stft分别将音轨数据和混合音频数据变换到频域,得到幅度谱。时频变换的过程可由下式给出:
[0149]
x=abs(stft(x))
[0150]
si=abs(stft(si))
[0151]
其中x为混合音频数据的幅度谱,si为音轨数据的幅度谱。
[0152]
混合音频数据的幅度谱被分别输入各音轨数据对应的分离网络进行处理,得到各分离音轨数据的范围在0和1之间的掩膜mi:
[0153]
mi=neti(x)
[0154]
将各分离音轨数据的掩膜与混合音频数据的幅度谱相乘得到输出音轨数据的幅度谱
[0155][0156]
将输出音轨数据的幅度谱与前述音轨数据的幅度谱进行损失函数j的计算:
[0157][0158]
该损失函数的值使用梯度反向传播算法得到各音轨的音频分离网络中的权重更新值。使用该权重更新值对分离网络中的权重进行更新以使得损失函数逐步下降至网络所能达到的最优值。在训练阶段结束后,分离网络的所有权重值被固定下来。
[0159]
在使用阶段,输入混合音频数据x。首先同样使用stft变换到频域,得到对应的幅度谱x和相位谱y:
[0160]
x=abs(stft(x))
[0161]
y=angle(stft(x))
[0162]
随后,所述幅度谱被输入至各分离网络,得到各音轨数据的幅度谱的掩膜mi:
[0163]
mi=neti(x)
[0164]
将各分离音轨数据的幅度谱的掩膜与混合音轨的幅度谱相乘,得到各音轨数据的幅度谱
[0165][0166]
最后,将输出音轨的幅度谱与混合音轨的相位谱组合为输出音频的复数谱,经istft变换回时域并得到各分离音轨最终输出的音轨数据:
[0167][0168]
本技术使用的dnn网络可以是循环神经网络(recurrent neural network,rnn),卷积神经网络(convolutional neural network,cnn),或rnn与cnn的组合。
[0169]
图5为本技术实施例中一种典型的cnn网络示意图,如图5所示,cnn网络为u-net网络,输入混合音频数据的幅度谱在经过输入层后,经连续n个编码块在时域和频域上两个维度上对特征图进行编码和降采样,直到到达瓶颈层。随后,再逐次经过相同数目的解码块进行升采样和解码。最后,通过一个输出层,输出分离目标音轨的幅度谱掩膜,该输出层采用了sigmoid激活操作,使得输出的范围在[0,1]之间。
[0170]
每个编码块由一个编码器和一个降采样器组成,每个解码块由一个解码器和一个升采样器组成,为了恢复降采样时所损失的细节信息,相同尺度的编码块和解码块之间有跳接,具体地,将每一个降采样之前编码器输出的特征图都会跳接到对应的解码块的解码器上,并与解码器原本的输入拼接在一起。
[0171]
在一些实施例中,第一音频分离网络和第二音频分离网络为同一网络,或者,第一音频分离网络和第二音频分离网络为不同网络。
[0172]
当为同一网络时,第一音频分离网络和第二音频分离网络统称为“音频分离网络”,先利用上一次训练后的音频分离网络对音频数据集中第一混合音频数据进行分离,再利用分离得到的干净的音轨数据及对应的第二混合音频数据,对音频分离网络进行训练。
[0173]
当为不同网络时,第一音频分离网络用于对音频数据集中第一混合音频数据进行分离,再利用分离得到的干净的音轨数据及对应的第二混合音频数据,对第二音频分离网络进行训练。
[0174]
为了能更加体现本技术的目的,在本技术上述实施例的基础上,对音频分离网络的训练方法进行进一步的举例说明,训练过程开始阶段,第一音频分离网络和第二音频分离网络为不同网络,训练过程中,第一音频分离网络和第二音频分离网络为同一网络,称为“音频分离网络”。如图6所示,该方法具体包括:
[0175]
步骤601:获取音频数据集;
[0176]
这里,音频数据集包括第一混合音频数据。
[0177]
步骤602:基于初始音频分离网络对音频数据集中的第一混合音频数据进行分离,输出目标音轨数据;
[0178]
在一些实施例中,初始音频分离网络可以是利用小规模的音频数据集训练得到的
小型音频分离网络,用于对音频数据集中的混合音频数据进行分离,得到音轨数据,对这些音轨数据按一定策略混合后作为训练数据,基于这些训练数据,构建音频分离网络并训练。即步骤602的初始音频分离网络(训练过程开始阶段作为第一音频分离网络)和步骤608中的音频分离网络(即第二音频分离网络)为不同网络。
[0179]
在另一些实施例中,也可以直接构建音频分离网络,利用音频分离网络直接对音频数据集进行分离,利用分离得到的干净的音轨数据及对应的第二混合音频数据,对音频分离网络进行训练。
[0180]
步骤603:基于预设混合策略对所述目标音轨数据进行混合,得到第二混合音频数据;
[0181]
步骤604:基于音频分离网络对音频数据集中的第一混合音频数据进行分离,输出目标音轨数据;
[0182]
步骤605:基于预设混合策略对所述目标音轨数据进行混合,得到第二混合音频数据;
[0183]
这里,第一混合音频数据为音频数据集中的混合音频数据,步骤602初始音频分离网络和步骤604音频分离网络的待分离的混合音频数据均称为“第一混合音频数据”。第二混合音频数据可以理解为本次训练过程中利用分离出的目标音轨数据混合后得到混合音频数据,用于训练音频分离网络。
[0184]
这里,步骤601至步骤603可以理解为在对构建的音频分离网络训练的开始阶段,利用初始音频分离网络对音频数据集中的第一混合音频数据进行分离,提取干净的音轨数据,对干净的音轨数据(比如人声音轨、乐器音轨等)进行混合,利用干净的音轨数据及其对应第二混合音频数据组成训练数据,训练音频分离网络。后续训练过程中利用更新后的音频分离网络对音频数据集进行音频分离,即执行步骤604至步骤605利用每次更新的音频分离网络对音频数据集进行分离,提取出更干净的音轨数据,提高训练数据质量,训练过程中步骤604和步骤606中的音频分离网络为同一网络。
[0185]
由于最初构建的音频分离网络还未经训练,分离效果较差,因此,可以在开始阶段使用现有已经训练好的音频分离网络(即初始音频分离网络)进行分离,提取干净的音轨数据。在训练过程中音频分离网络不断优化,分离效果不断提高,因此可以进行音频分离。
[0186]
步骤606:基于所述目标音轨数据和所述第二混合音频数据对音频分离网络进行训练,计算损失函数;
[0187]
步骤607:损失函数是否满足收敛条件,如果否,执行步骤608;如果是,执行步骤609;
[0188]
步骤608:损失函数不满足收敛条件,更新音频分离网络的网络参数,并利用更新后的音频分离网络执行步骤604;
[0189]
步骤609:损失函数满足收敛条件,得到训练好的第二音频分离网络。
[0190]
采用上述方案,利用初始音频分离网络从音频数据集中提取干净的音轨数据,对干净的音轨数据(比如人声音轨、乐器音轨等)进行混合,利用干净的音轨数据及其对应第二混合音频数据组成训练数据,训练音频分离网络,在训练过程中利用更新后的音频分离网络替换初始音频分离网络,直到损失函数满足收敛条件,得到训练好的音频分离网络。如此反复迭代,不断优化音频分离网络的同时,分离出更干净的音轨数据,提高训练数据质
量,从而提高音频分离网络的训练效果。
[0191]
为实现本技术实施例的方法,基于同一发明构思本技术实施例还提供了一种音频分离网络的训练装置,如图7所示,该装置70包括:
[0192]
获取单元701,获取音频数据集;
[0193]
第一处理单元702,用于基于第一音频分离网络对所述音频数据集中的第一混合音频数据进行分离,输出目标音轨数据;
[0194]
混合单元703,用于基于预设混合策略对所述目标音轨数据进行混合,得到第二混合音频数据;
[0195]
第二处理单元704,用于基于所述目标音轨数据和所述第二混合音频数据对第二音频分离网络进行训练,计算损失函数;损失函数不满足收敛条件,更新所述第二音频分离网络的网络参数,并将更新后的第二音频分离网络作为第一音频分离网络;损失函数满足收敛条件,得到训练好的第二音频分离网络。
[0196]
示例性的,在一些实施例中,第一处理单元702,具体用于将所述第一混合音频数据中的其他音轨数据移除,得到所述第一混合数据中目标音轨的第一音轨数据;将所述第一音轨数据输入到所述第一音频分离网络进行分离,输出所述目标音轨的第二音轨数据;将所述第二音轨数据作为所述目标音轨数据。
[0197]
示例性的,在一些实施例中,所述目标音轨数据为人声音轨数据,所述其他音轨数据为乐器音轨数据。
[0198]
示例性的,在一些实施例中,第一处理单元702,还用于确定所述目标音轨数据中目标音轨的能量和其他音轨的能量;所述目标音轨的能量大于等于第一能量阈值,所述其他音轨的能量小于第二能量阈值时,保留所述目标音轨数据;所述目标音轨的能量小于所述第一能量阈值,所述其他音轨的能量大于等于所述第二能量阈值时,丢弃所述第二音轨数据;其中,所述第一能量阈值大于所述第二能量阈值。
[0199]
示例性的,在一些实施例中,第一处理单元702,还用于所述目标音轨的能量大于等于第一能量阈值,所述其他音轨的能量小于第二能量阈值时,保留时长大于时长阈值的目标音轨数据。
[0200]
示例性的,在一些实施例中,第一处理单元702,还用于将保留的至少两段目标音轨数据进行拼接,得到最终的目标音轨数据。
[0201]
示例性的,在一些实施例中,第一处理单元702,还用于基于预设变换策略,对所述目标音轨数据进行变换;其中,所述预设变换策略包括以下至少一项:左声道和右声道平移,左声道和右声道互换,调整音量,调整频率,调整幅度,高通滤波,低通滤波,混响。
[0202]
实际应用中,上述装置可以是用于音频分离网络训练的电子设备,也可以是应用于电子设备的芯片。在本技术中,该装置可以通过或软件、或硬件、或软件与硬件相结合的方式,实现多个单元的功能,使该装置可以执行如上述任一实施例所提供的音频分离网络的训练方法。且该装置的各技术方案的技术效果可以参考音频分离网络的训练方法中相应的技术方案的技术效果,本技术对此不再一一赘述。
[0203]
基于上述装置中各单元的硬件实现,本技术实施例还提供了一种电子设备,如图8所示,该电子设备80包括:处理器801和配置为存储能够在处理器上运行的计算机程序的存储器802;
[0204]
其中,处理器801配置为运行计算机程序时,执行前述实施例中的方法步骤。
[0205]
当然,实际应用时,如图8所示,该电子设备中的各个组件通过总线系统803耦合在一起。可理解,总线系统803用于实现这些组件之间的连接通信。总线系统803除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统803。
[0206]
在实际应用中,上述处理器可以为特定用途集成电路(asic,application specific integrated circuit)、数字信号处理装置(dspd,digital signal processing device)、可编程逻辑装置(pld,programmable logic device)、现场可编程门阵列(field-programmable gate array,fpga)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本技术实施例不作具体限定。
[0207]
上述存储器可以是易失性存储器(volatile memory),例如随机存取存储器(ram,random-access memory);或者非易失性存储器(non-volatile memory),例如只读存储器(rom,read-only memory),快闪存储器(flash memory),硬盘(hdd,hard disk drive)或固态硬盘(ssd,solid-state drive);或者上述种类的存储器的组合,并向处理器提供指令和数据。
[0208]
在示例性实施例中,本技术实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,计算机程序可由电子设备的处理器执行,以完成前述方法的步骤。
[0209]
本技术实施例还提供了一种计算机程序产品,包括计算机程序指令。
[0210]
可选的,该计算机程序产品可应用于本技术实施例中的电子设备,并且该计算机程序指令使得计算机执行本技术实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
[0211]
本技术实施例还提供了一种计算机程序。
[0212]
可选的,该计算机程序可应用于本技术实施例中的电子设备,当该计算机程序在计算机上运行时,使得计算机执行本技术实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
[0213]
应当理解,在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。本技术中表述“具有”、“可以具有”、“包括”和“包含”、或者“可以包括”和“可以包含”在本文中可以用于指示存在对应的特征(例如,诸如数值、功能、操作或组件等元素),但不排除附加特征的存在。
[0214]
应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开,不必用于描述特定的顺序或先后次序。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
[0215]
本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0216]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,单元的划分,仅仅为一
种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0217]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0218]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0219]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献