音频合成方法、终端设备及计算机可读存储介质与流程

文档序号:28873906发布日期:2022-02-12 11:36阅读:138来源:国知局
音频合成方法、终端设备及计算机可读存储介质与流程

1.本发明涉及音频处理技术领域,尤其涉及一种音频合成方法、终端设备及计算机可读存储介质。


背景技术:

2.随着人工智能技术及音频处理技术的发展,满足多样化的音频合成需求逐渐成为了可能。例如,在不同的领域需求中,可以通过改变或保留原始音频的音高(音调),以实现修音的目的。目前,对原始音频的信号进行重采样就能实现变速变调的听感输出。在此基础上添加合适的变速模块,即可实现变调不变速的效果。然而,在对信号进行重采样时,无法避免因信号抽取丢失及插值估测错误带来的误差,该误差会使得合成音频的听感与原始音频在音质上差异较大,合成音频质量不高。


技术实现要素:

3.本技术实施例提供一种音频合成方法、终端设备及计算机可读存储介质,可以提高合成音频的音质。
4.第一方面,本技术实施例提供了一种音频合成方法,该方法包括:获取待合成音频;从待合成音频中提取第一基频和频谱包络,第一基频用于指示待合成音频的音高,频谱包络用于指示待合成音频的音色;调整第一基频,得到第二基频;根据第二基频和频谱包络得到合成音频,合成音频的频谱包络和待合成音频的频谱包络一致。基于第一方面所描述的方法,可以在改变输出音频的基频(音高)的同时,保持输出音频的频谱包络(音色)和输入的频谱包络一致。相较于现有的重采样技术,避免了信号抽取或者插值带来的误差,在达到修音目的的同时提高了合成音频的音质。
5.在一种可能实现方式中,根据第二基频和频谱包络得到合成音频,具体包括:调用训练完成的第一残差网络模型和训练完成的第二残差网络模型,对频谱包络进行处理,得到第一结果和第二结果;根据第一结果与第二基频的嵌入向量得到第三结果;将第二结果与第三结果叠加得到声学特征;调用训练完成的音频合成模型对声学特征进行处理,得到合成音频。
6.在一种可能实现方式中,训练完成的音频合成模型由一层卷积层和n层转置卷积层依次连接组成,n为大于1的正整数,调用训练完成的音频合成模型对声学特征进行处理,得到合成音频,具体包括:调用卷积层,对声学特征进行卷积处理,得到第四结果;调用n层转置卷积层对第四结果进行转置卷积处理,得到n个转置卷积结果;将n个转置卷积结果中的m个转置卷积结果进行线性差值变换后,逐层叠加得到合成音频;所述m为小于n的正整数。
7.在一种可能实现方式中,n层转置卷积层对应的n个通道缩小倍数的乘积与声学特征的维度分量相同。
8.在一种可能实现方式中,该方法还包括:基于训练样本集和训练样本集的合成音
频,确定第一训练损失值;调用判别模型,对训练样本集的合成音频进行真假判别,确定第二训练损失值;根据第一训练损失值和第二训练损失值,训练第一残差网络模型、第二残差网络模型、音频合成模型及判别模型中的参数,以得到训练完成的第一残差网络模型、训练完成的第二残差网络模型及训练完成的音频合成模型。
9.在一种可能实现方式中,判别模型包括均池化层、判别层,判别层由一层卷积层、一层最大池化层和两层卷积层依次连接组成;均池化层包括第一均池化层和第二均池化层,判别层包括第一判别层、第二判别层和第三判别层;调用判别模型,对所述训练样本集的合成音频进行真假判别,确定第二训练损失值,具体包括:调用第一判别层,对训练样本集的合成音频进行真假判别,得到第一判别结果;调用第一均池化层对训练样本集的合成音频进行均池化处理,得到第一均池化结果;调用第二判别层对第一均池化结果进行真假判别,得到第二判别结果;调用第二均池化层对第一均池化结果进行均池化处理,得到第二均池化结果;调用第三判别层对第二均池化结果进行真假判别,得到第三判别结果;根据第一判别结果、第二判别结果和第三判别结果,确定第二训练损失值。
10.在一种可能实现方式中,基于训练样本集和所述训练样本集的合成音频,确定第一训练损失值,包括:确定训练样本集的第一梅尔谱和训练样本集的合成音频的第二梅尔谱;确定第一训练损失值为第一梅尔谱和第二梅尔谱的最小均方误差。
11.在一种可能实现方式中,该方法还包括:获取原始样本集,原始样本集包括多个干音音频样本,多个干音音频样本中每个干音音频样本由音高分布向量表示;基于每个干音音频样本的音高分布向量确定每个干音音频样本的采样概率,采样概率用于使采样得到的训练样本集的音高均匀分布;基于每个干音音频样本的采样概率对原始样本集进行采样,得到训练样本集。
12.在一种可能实现方式中,训练样本集的合成音频基于训练样本集的基频和频谱包络得到。
13.第二方面,本技术实施例提供了一种终端设备,包括:存储器,处理器;上述存储器,用于存储计算机程序;上述处理器,用于从存储器调用计算机程序,使得终端设备执行上述第一方面中的任意一项方法。
14.第三方面,本技术实施例提供了一种计算机可读存储介质,计算机存储介质中存储有计算机可读指令,当计算机可读指令在上述第二方面的终端设备上运行时,使得该终端设备执行上述第一方面中的任意一项方法。
15.第四方面,本技术实施例提供一种计算机程序或计算机程序产品,包括代码或指令,当代码或指令在计算机上运行时,使得计算机执行上述第一方面中的任意一项方法。
附图说明
16.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
17.图1是本技术实施例提供的一种语音的频谱示意图;
18.图2是本技术实施例提供的一种音频合成方法的流程示意图;
19.图3是本技术实施例提供的一种音频合成方法的应用阶段的流程示意图;
20.图4是本技术实施例提供的一种滤波后正弦信号的示意图;
21.图5是本技术实施例提供的一种特征拼接网络的架构示意图;
22.图6是本技术实施例提供的一种残差网络模型的架构示意图;
23.图7是本技术实施例提供的一种音频合成模型的架构示意图;
24.图8是本技术实施例提供的一种音频处理模型的训练方法的流程示意图;
25.图9是本技术实施例提供的一种判别模型的架构示意图;
26.图10是本技术实施例提供的一种音频合成装置的结构示意图;
27.图11是本技术实施例提供的一种终端设备的结构示意图。
具体实施方式
28.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
29.在本技术的说明书、权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.为了更好地理解本技术的方案,下面先对本技术的专业术语进行介绍:
31.①
、音高:语音是由许多频率的简谐振动叠加而成的。在语音的频谱图中,频率最低的震动所对应的峰为基音、其余为泛音。音高为基音所对应的频率,也可被称为基频或者音调。平时所谈及的“跑调”指的就是唱歌者音高与音符的音高不匹配。
32.②
、频谱包络:声带振动产生的声波通过由口腔、鼻腔等构成的声道时将产生共振。共振的结果会使频谱的某些区域得到加强,形成峰。语音频谱上有多个峰,频谱上每个峰的高度是不一样的,这些峰的高度之比决定了人的音色。如果将这些峰值通过平滑的曲线连接起来就是频谱包络。图1为一种语音的频谱示意图,该图中第一个峰所对应的频率值为基频,连接各顶点的黑色光滑曲线即为频谱包络。
33.③
、周期信息与非周期信息:语音由周期信号和非周期信号组成。周期信号的频谱为离散谱,各个离散频点的峰值可组成频谱包络,非周期信号的频谱为连续谱,没有频谱包络。因此只有结合周期信号和非周期信号中的信息,才能完美地合成原始信号。
34.④
、梅尔频谱:人耳能听到的语音频率范围为20~20khz,但人耳对于hz标度的频谱并不是线性感知的关系。例如:当听众适应了1000hz的音调后,如果把音调的频率提高至2000hz,听众的耳朵只能察觉到频率提升了一点点,而不是提升了一倍。因此采用梅尔标度滤波器组将线性频谱组变换为梅尔频谱组,将线性频谱标度转化为梅尔频谱标度,以模拟人耳对频率的线性感知关系。也即是说,在梅尔频谱标度下,如果两段语音的梅尔频谱相差两倍,则人耳所感知到的音调也大概相差两倍。
35.⑤
、源-滤波器模型:该模型将声音看作由激励和相应的滤波器组成,激励相当于发声结构的声带,滤波器相当于人的声道以及共振腔。声源激励所产生的包括周期性脉冲序列生成的浊音信号和白噪声激励生成的静音信号。其中浊音信号为准周期信号,包含上
述的周期信息,静音信号为非周期信号,包括上述的非周期信息。
36.参见图2,为本技术实施例提供的一种音频合成方法的流程示意图。该流程可由音频合成装置实现,音频合成装置可以为终端设备,也可以是终端设备中的装置,或者是能够和终端设备匹配使用的装置。示例性地,终端设备可以为具有数据处理功能和输入输出功能的设备,包括但不限于计算机、智能手机、平板等设备。其中,音频合成装置包括音频处理模型,音频处理模型包括残差网络模型及音频合成模型,通过音频处理模型可以合成音质更高的合成音频。
37.图2所示的流程包括训练阶段和应用阶段。在训练阶段中,音频信号为音频的训练样本集,将训练样本集依次经过特征提取、特征组合得到声学特征,之后将该声学特征输入音频合成模型得到合成音频,合成音频输入判别模型进行真假判别。另外,对音频的训练样本集和合成音频进行提取梅尔谱的处理,根据得到的梅尔谱可以确定两者的最小均方误差,基于最小均方误差和真假判别的结果可以对残差网络模型(应用于图2的特征组合阶段)、音频合成模型、判别模型进行训练,以确定上述模型中的处理参数。
38.在应用阶段,音频信号为待合成音频,将待合成音频经过特征提取得到基频和频谱包络,然后通过对基频进行调整,并将调整后的基频与频谱包络进行特征组合(该阶段涉及的残差网络模型经过训练后已确定处理参数)得到声学特征,最后将该声学特征输入音频合成模型(该阶段涉及的音频合成模型经过训练后已确定处理参数)得到合成音频。
39.通过图2所示的流程,可以对音频合成方法中涉及到的模型参数进行训练,最终得到训练完成的模型。该模型用于对新输入的音频的基频进行调整,同时保持合成音频的频谱包络(音色)和新输入的频谱包络一致。相较于现有的重采样技术,避免了信号抽取或者插值带来的误差,在达到修音目的的同时提高了合成音频的音质。上述应用阶段的具体实现方式将结合下述图3的实施例进行详细描述,训练阶段的具体实现方式将结合下述图8的实施例进行详细描述。
40.参见图3,为本技术实施例提供的一种音频合成方法的应用阶段的流程示意图。该方法应用于上述音频合成装置,包括步骤s301~步骤s304,其中:
41.s301、获取待合成音频。
42.在本技术实施例中,待合成音频为不包含背景音频的纯净的干音音频。示例性地,当本技术应用于音乐软件的音频处理时,待合成音频可以为不包含伴奏或者音乐的人声歌唱音频。在一种可能实现方式中,获取待合成音频的方式可以为:通过上述音频合成装置中具有输入功能的模块(示例性地,麦克风等)获取用户实时录入的干音音频、调用存储在上述音频合成装置中的干音音频或者接收来自其余设备发送的干音音频等,本技术对此不作限制。
43.需要说明的是,当本技术实施例应用于具体产品和技术中时,在获取待合成音频等相关数据之前,需要获得用户许可或者同意,且这些相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
44.s302、从待合成音频中提取第一基频和频谱包络,第一基频用于指示待合成音频的音高,频谱包络用于指示所述待合成音频的音色。
45.本步骤的目的在于提取出待合成音频的音频特征,该音频特征与待合成音频的发声特点相关。
46.其中,第一基频的数值为待合成音频的最低振动频率,该数值越大,待合成音频的音高越高。当待合成音频为周期信号,由第一基频所对应的波形和二次谐波、三次谐波等组成。由于频率和时间的倒数关系,第一基频所对应的波形为上述波形中具有最长周期的波形,第一基频的数值为该波形的周期的倒数。
47.对于上述从待合成音频中提取第一基频,在一种可能实现方式中,包括:对待合成音频使用不同截止频率的低通滤波器进行滤波,计算每一个滤波后的信号(正弦信号)中的候选基频以及可信度,从中挑选出可信度最高的候选基频为第一基频。示例性地,如图4所示,为一种滤波后的正弦信号,该正弦信号包含间隔(1)、(2)、(3)、(4),四个间隔的大小基本相等。候选基频为四个间隔的平均值的倒数,候选基频的可信度为四个间隔的标准差。若四个间隔的标准差越小,则说明四个间隔的长短差异不大,该候选基频的可信度较高。
48.对于上述从待合成音频中提取第一基频,在另一种可能实现方式中,包括:当待合成音频具有周期性时,待合成音频的自相关函数也具有周期性,且周期与待合成音频的周期相同。在周期信号的周期的整数倍上,信号的自相关函数可以达到最大值,因此可以不考虑信号的起始时间,只需要估计两个取得最大自相关函数值之间的移位距离,该移位距离也即是信号的周期(基频的倒数)。
49.由于音频信号均为非平稳的信号,因此在对待合成音频处理时,采用短时自相关函数对待合成音频使用短时窗截取,并做短时自相关计算。示例性地,可以先对待合成音频进行采样、分帧,对每一帧音频求取自相关函数,自相关函数的表达式如公式1-1所示,其中s(n)表示音频帧在第n点处的采样值,w(m)表示窗函数,n表示窗函数的宽,τ表示移位距离。通过表达式求取自相关函数取值最大时对应的τ即可估算出第一基频的大小。
[0050][0051]
需要说明的是,从待合成音频中提取第一基频还可由其余方式实现,本技术对此不作限制。
[0052]
在语音信号的频率-振幅图中,将每个频率的共振峰用平滑的曲线连接起来,这条平滑的曲线就是频谱包络。对于上述从待合成音频中提取频谱包络,在一种可能实现方式中,可以先对待合成音频的进行加窗处理,计算加窗后的功率谱;其次,对功率谱进行平滑处理,并求取功率谱的倒谱(进行逆傅里叶变换)。由于功率谱的倒谱的低频部分的图像与频谱包络大致相同,所以将该倒谱输入一个低通滤波器进行滤波即可获得待合成音频的频谱包络。需要说明的是,从待合成音频中提取频谱包络还可由其余方式实现,本技术对此不作限制。
[0053]
此外,可以理解的是,上述的第一基频和频谱包络只能用于体现待合成音频为周期信号时所包含的音频特征。当待合成音频还包括非周期信息时,还可结合上述的第一基频、频谱包络或者待合成音频的波形对其余音频特征进行提取。
[0054]
s303、调整第一基频,得到第二基频。
[0055]
经过上述步骤得到的第一基频包含了待合成音频的原有音高信息,但在具体的应用场景中,用户需要对第一基频进行调整以达到改变音高的目的。示例性地,在卡拉ok场景下,第一基频来自于用户的歌唱干音音频,该第一基频的数值与原唱(或者伴奏)的音高不一致,用户则可通过第一基频与原唱(或者伴奏)的区别调整第一基频的数值,以得到第二基频,可以达到修正歌声的目的。或者,用户在某些场景下(例如,在设计安全保密的应用场
景中要求对声音进行伪装)需要将男声转变为女声或者转变为其他音高的声音,由于男声的音高普遍高于女声的音高,则可适当增加第一基频的数值以得到类似女声的第二基频。又或者,在日常生活中,可以通过上述步骤对手机语音助手、问答机器人、电子读书和虚拟歌姬的音高进行改变。
[0056]
s304、根据第二基频和频谱包络得到合成音频,合成音频的频谱包络与待合成音频的频谱包络一致。
[0057]
在一种可能实现方式中,步骤s304具体包括:调用训练完成的第一残差网络模型和训练完成的第二残差网络模型,对频谱包络进行处理,得到第一结果和第二结果;根据第一结果与第二基频的嵌入向量得到第三结果;将第二结果与所述第三结果叠加得到声学特征;调用训练完成的音频合成模型对所述声学特征进行处理,得到合成音频。
[0058]
该可能实现方式,通过对上述处理得到的第二基频和频谱包络进行特征拼接,得到声学特征并作为训练完成的音频合成模型的输入。具体地,图5是本技术提供的一种特征拼接网络的架构示意图。其中,频谱包络经过两个训练完成的残差网络处理,得到第一结果和第二结果。示例性地,两个残差网络的示意图如图6所示,包括残差部分601和直接映射部分602,也即是说,残差网络模型的输入和输出的关系可由公式1-2表示。
[0059]
x

=x+f(x,w)
ꢀꢀꢀꢀꢀꢀ
(1-2)
[0060]
其中:f(x,w)表示残差部分,一般由两个或者三个卷积操作构成,w表示残差部分中的所有网络参数。示例性地,图6所示的残差部分包括了两个卷积核大小为3*3的卷积操作,两个卷积操作中使用批量归一化处理(batch normalization,bn)。由于在训练残差网络模型等深度神经网络时,除输入层的输入数据以外(输入层的输入数据会进行归一化预处理),后面网络的每一层输入数据的分布都会受到前面网络调参的影响,从而导致训练速度的下降。因此bn处理可以使得所有网络的输入数据都归一化至均值为0,方差为1的正态分布,从而可以在训练整个网络时,使用更大的学习率,大幅提高训练的速度。可以理解的是,为避免bn处理对上一层网络学习到特征的影响,可引入重构参数,恢复出原始某层学习到的特征。该bn处理也用于残差部分601中卷积核和线性整流函数之间。此外,残差部分使用激活函数,用于增加模型的非线性映射能力。示例性地,图6中的残差部分使用线性整流函数(rectified linear unit,relu)作为激活函数,relu函数通过使网络中的一部分输出为0,从而提高了网络的稀疏性,缓解了过拟合问题的发生。需要说明的是,针对不同的训练环境(输入数据不同等),激活函数的选择不一定相同,本技术只以relu函数为例进行说明,对激活函数的具体使用情况不作限定。
[0061]
上述表达式中的x表示直接映射部分602,在一种可能实现方式中,直接映射部分和残差部分的输出特征图数量不同,则可对直接映射部分的输出使用卷积操作对其进行升维或者降维。
[0062]
可以理解的是,上述训练完成的第一残差网络模型和训练完成的第二残差网络模型的架构大体相同(可参见图6的示例),训练完成的第一残差网络模型和训练完成的第二残差网络模型中的参数可以相同,可以部分相同,或者完全不同。频谱包络分别通过这两个残差网络得到第一结果和第二结果,该第二结果包含音频的非线性信息。且第一结果用于与基频的嵌入向量相乘,以得到第三结果,该第三结果用于指示音频中的线性信息。示例性地,基频的嵌入向量需要预先构建一个基频向量表,每一个基频可按照其数值在基频向量
表中查找到指定维度的向量。每一个维度对应基频的一种频率特征。示例性的,基频向量表的维度可以为1200*1025,其中,每个基频都从该基频向量表中查到自身的维度对应的维度为1025的向量。
[0063]
在一种可能实现方式中,上述训练完成的音频合成模型由一层卷积层和n层转置卷积层依次连接组成,n为大于1的正整数,上述调用训练完成的音频合成模型对声学特征进行处理,得到合成音频,具体包括:调用卷积层,对声学特征进行卷积处理,得到第四结果;调用n层转置卷积层对第四结果进行转置卷积处理,得到n个转置卷积结果;将n个转置卷积结果中的m个转置卷积结果进行线性差值变换后,逐层叠加得到合成音频;m为小于n的正整数。
[0064]
示例性地,图7为一种训练完成的音频合成模型的架构示意图。其中,将经过上述处理得到的声学特征输入一层卷积层,卷积后的结果依次经过5次转置卷积对卷积特征进行上采样放大。可以理解的是,深度学习中的上采样方法在计算机视觉领域主要应用于将低分辨率图像恢复到高分辨率图像,当该方法应用于本技术时,可以对音频中的声学特征进行进一步提取并放大,以达到合成音频的音质高于原始音频音质的效果。由于传统的上采样方法(例如,最近邻插值、双线性插值等)中的插值类似于人工建立的特征工程,音频合成模型所基于的神经网络在训练中并不会对此进行学习,而使用上述的转置卷积具有可学习的参数,可以最优地进行上采样。
[0065]
此外,每一层的转置卷积会对时间维度进行放大,通道维度进行缩小,通道维度之所以进行缩小是因为随着层数的增加、每一层提取到的特征图尺寸缩小,每一个特征图所包含的特征更多,因此对通道数进行缩小,减少每一层输出的特征图的数量。
[0066]
在一种可能实现方式中,上述n个缩小或者放大的倍速的乘积与声学特征的维度分量相同。示例性地,输入声学特征维度为(t,512),经过5层转置卷积,转置卷积放大或者缩小的倍数分别为[8、4、4、2、2],则其输出的合成音频维度为(t*512,1)。其中t为声学特征的帧数,512表示一帧所包含的采样数目,例如,若对待合成音频采样至32khz,每帧音频数据为16ms,则一帧所包含的采样数目为32*16=512。需要说明的是,上述转置卷积的个数n和n个转置卷积的放大或者缩小的倍数还可能有其余取值,本技术对此不作限制。
[0067]
从上述n个转置卷积中选取m个转置卷积结果进行线性差值变换后,逐层叠加得到合成音频;m为小于n的正整数。例如,在图7所示的音频合成模型中,从5层转置卷积层的转置卷积结果中选择了第二层、第三层、第四层和第五层转置卷积层的转置卷积结果。将第二层转置卷积层的转置卷积结果进行线性差值变换后与第三层转置卷积层的转置结果叠加,得到第一叠加结果。将第一叠加结果进行线性差值变换后与第四层转置卷积层的转置卷积结果叠加,得到第二叠加结果。将第二叠加结果进行线性差值变换后与第五层转置卷积层的转置卷积结果叠加得到第三叠加结果,该第三叠加结果即为合成音频。
[0068]
其中,提取多个转置卷积的结果(多个特征图)可以提高通过特征图合成音频的质量,且由于特征图尺寸逐层增加,需要经过线性插值变换操作再逐层叠加,得到合成音频。
[0069]
需要说明的是,上述训练完成的音频合成模型中所使用的的卷积核的超参数(例如卷积核的大小(一般取奇数1、3、5、7)、个数、步长等)取决于实际的应用场景,本技术对此不做限定。
[0070]
基于图3所描述的实施例,可以使用神经网络对从频谱包络和基频中提取的特征
进行非线性建模。在改变基频的同时,保证输出音频的频谱包络和输入音频的频谱包络一致(保持音色特点)。相较于现有的重采样技术,该方法避免了信号抽取或者插值带来的误差,在达到修音目的的同时提高了输出音频的音质。
[0071]
上述内容中,介绍了使用本技术实施例的音频合成装置对待合成音频进行音频合成的方法,以下内容将对该音频合成装置中音频处理模型的训练方法进行进一步的介绍。
[0072]
参见图8,为本技术实施例提供的一种音频处理模型的训练方法的流程示意图。音频处理模型包括第一残差网络模型、第二残差网络模型、音频合成模型和判别模型,这些模型可以为神经网络模型,音频处理模型的训练方法应用于上述音频合成装置,包括步骤s801~步骤s803,其中:
[0073]
s801、基于训练样本集和训练样本集的合成音频,确定第一训练损失值。
[0074]
其中,在步骤s801之前还需要获取训练样本集,获取训练样本集的方式包括:获取原始样本集,原始样本集包括多个干音音频样本,多个干音音频样本中每个干音音频样本由音高分布向量表示;基于每个干音音频样本的音高分布向量确定每个干音音频样本的采样概率,采样概率用于使采样得到的训练样本集的音高均匀分布;基于每个干音音频样本的采样概率对原始样本集进行采样,得到训练样本集。其中,当本技术实施例应用于具体产品和技术中时,在获取训练样本集等相关数据之前,需要获得用户许可或者同意,且这些相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。采样概率可以理解为每个干音音频样本被作为训练样本的概率值,通常来说,某个音高分布范围的干音音频样本的数量越多,该音高分布范围所对应的干音音频样本的采样概率就越小,也即是说,该音高分布范围中的某个干音音频样本作为训练样本的可能性较小。基于该方式,可以使得用于训练音频合成方法的训练样本集中包括的样本的音高分布均衡,进而使得音频处理模型的训练效果更好,泛化能力更高。
[0075]
示例性地,人的发声频率在60hz~1200hz之间,为了使得最终训练完成的音频处理模型对该频率段的音频都具有很好的合成能力且合成音频的音频有所提升,所以训练样本集需要覆盖60hz~1200hz,并且训练样本集的音高需在该频段上均匀分布。例如,原始样本集包括l个干音音频样本,每个干音音频样本的获取方式可参见上述步骤s301中介绍的获取待合成音频的方式,此处不再赘述。对每个干音音频样本进行分析,得到每个干音音频样本所对应的音高分布向量n。示例性地,该音高分布向量n的维度可以为1200维(通常来说,维度的选择是依据需要覆盖的频率的最大值)。其中,每个干音音频样本所对应的音高分布向量n用于表示该干音音频样本在每个音高的帧数,或理解为在每个音高下的分布情况。示例性地,某个干音音频样本的总时长为1600毫秒,干音音频样本中每一帧的时长为16毫秒,则该1600毫秒的干音音频样本包括1000帧。若这1000帧中有0帧分布在60hz,则该干音音频样本的音高分布向量n在60hz所对应的维度取值为0;若这1000帧中有10帧分布在300hz,则该干音音频样本的音高分布向量n在300hz所对应的维度取值为10等,针对其他音高对应的取值在此不再逐一举例说明。因此,针对m个干音音频样本,可以获得一个l*n的音高分布矩阵a。为了实现音高分布均衡,需要根据该音高分布矩阵a求解l个干音音频样本对应的样本采样概率,该样本采样概率的计算方式可以参照公式1-3:
[0076]at
x=b,s.t.xi》0
[0077]bi
=sum(a)/l
ꢀꢀꢀꢀꢀꢀ
(1-3)
[0078]
其中,a为一个l*n的音高分布矩阵,x为音频样本分布对应的样本采样概率,b为维度为n*1的向量,且b向量的每个元素都相等。通过上述表达式,可以求取使得b中每一个向量相等(也即是说,音高分布均匀)的x的取值,x中每一个元素的取值即为l个干音音频样本中每个干音音频样本的采样概率。
[0079]
可以理解的是,在具体实施过程中,对于采样概率较高的干音音频样本,可以通过复制该干音音频样本实现。具体地,若训练样本集需要1000个干音音频样本,原始样本集包括500个干音音频样本,500个干音音频样本的采样概率为[0.005、0.004、0.002、...],则1000个干音音频样本需要从原始样本集获取的数量对应为[5、4、2、

],则需要将第一个干音音频样本复制5份加入训练样本集中,将第2个干音音频样本复制4份加入训练样本集中,将第3个干音音频样本复制2份加入训练样本集中,以此类推。上述实现采样概率还可以有其他方式,比如可以通过复制干音音频样本的标识(如文件名等),本技术实施例对此不做限制。
[0080]
其中,上述训练样本集的合成音频基于训练样本集的基频和频谱包络得到。具体地,假设训练样本集包括x个干音音频样本,可将x个干音音频样本划分为s批,每批包含有y个干音音频样本。每次将一批干音音频样本输入音频处理模型进行训练。针对y个干音音频样本中的的每一个干音音频样本,从该干音音频样本中提取基频和频谱包络,基频用于指示该干音音频样本的音高,频谱包络用于指示该干音音频样本的音色。将y个干音音频样本的y对(基频,频谱包络)进行特征组合,获得y个干音音频样本的声学特征。将y个干音音频样本的声学特征输入音频合成模型,生成y个合成音频。其中,特征组合的方式参见上述图5及图6的详细描述,合成音频的方式参见上述图7的详细描述,在此不赘述。
[0081]
其中,针对上述y个干音音频样本的y个合成音频,对每个干音音频样本以及其对应的合成音频进行梅尔谱提取。具体地,对每个干音音频样本、每个合成音频所包括的多个音频帧中的每个音频帧进行梅尔谱提取,以获得第一梅尔谱和第二梅尔谱。其中,第一梅尔谱或者第二梅尔谱包括起始帧与结束帧之间的连续多个梅尔频谱数据。
[0082]
示例性地,第一音频为一个干音音频样本或者一个干音音频样本的合成音频,以第一音频为例,接下来对梅尔谱提取的具体过程进行说明。首先,需要对第一音频进行分帧处理,以得到多个第一音频的音频帧,进行提取每个音频帧的梅尔谱,该梅尔谱与人耳听觉感知接近,有利于用户对合成音频与干音音频之间的误差进行判定。在本技术实施例中,可通过对每个音频帧进行傅里叶变换,再将每个音频帧经傅里叶变换得到的线性频谱输入至梅尔滤波器组,可得到通过梅尔滤波器组输出的梅尔频谱图(即梅尔谱)。这里以构成128
×
r维的梅尔频谱图为例进行说明,其中,128表示梅尔滤波器组的数量,r表示音频的帧长。然后,从第一音频包括的多个音频帧对应的多个梅尔谱中,获取起始帧与结束帧之间的连续多个梅尔频谱数据作为第一音频的梅尔谱。
[0083]
基于上述处理得到y个干音音频样本的第一梅尔谱和y个合成音频的第二梅尔谱后,对音频合成模型的损失函数(第一训练损失值)按照公式1-4进行确定:
[0084]
lossg=mes(mel(y),mel(y

))
ꢀꢀꢀꢀ
(1-4)其中,mel(y),mel(

)分别表示对一个干音音频样本y和一个干音音频样本对应的合成音频y

进行梅尔谱提取的第一梅尔谱和第二梅尔谱。mes表示均方误差计算,也即是y个干音音频样本的第一梅尔谱和y个合成音频的第二梅尔谱之间的欧氏距离。利用上述公
式计算第一梅尔谱和第二梅尔谱之间的欧氏距离,从而促使干音音频样本对应的合成音频的音频特征互相靠近,即具有相似的基频和频谱包络,并且合成音频的音质有所提高。当损失函数的数值随着训练不断缩小至预设阈值或者趋于稳定时,代表训练阶段结束,每次训练时,损失函数的数值由当前批次的y个干音音频样本和其对应的y个合成音频的损失函数确定。
[0085]
可以理解的是,上述损失函数计算第一梅尔谱和第二梅尔谱之间的距离除了可以是欧氏距离,也可以是曼哈顿距离、切比雪夫距离等,具体根据实际应用场景确定,本技术在此不做限制。
[0086]
s802、调用判别模型,对训练样本集的合成音频进行真假判别,确定第二训练损失值。
[0087]
参见图9,是本技术提供的一种判别模型的架构示意图。其中,判别模型包括均池化层、判别层,判别层由一层卷积层、一层最大池化层和两层卷积层依次连接组成;均池化层包括第一均池化层和第二均池化层,判别层包括第一判别层、第二判别层和第三判别层;调用判别模型,对训练样本集的合成音频进行真假判别,确定第二训练损失值,具体包括:调用第一判别层,对训练样本集的合成音频进行真假判别,得到第一判别结果;调用第一均池化层对训练样本集的合成音频进行均池化处理,得到第一均池化结果;调用第二判别层对第一均池化结果进行真假判别,得到第二判别结果;调用第二均池化层对第一均池化结果进行均池化处理,得到第二均池化结果;调用第三判别层对第二均池化结果进行真假判别,得到第三判别结果;根据第一判别结果、第二判别结果和第三判别结果,确定第二训练损失值。
[0088]
经过上述步骤s801获得的合成音频虽然在整体频谱图上与干音音频样本接近,但高频部分的音质优化能力较差(低频部分的音质优化能力较好),从而存在高频模糊,降低合成音频的真实性(示例性地,人耳能够感觉出是人工合成的音频,甚至可能存在明显的电音效果)。因此,本技术在训练阶段加入判别模型对合成音频进行真假判别,进而从多尺度上提升合成音频的真实性。
[0089]
具体地,以一个干音音频样本和其所对应的合成音频为例进行说明。可以理解的是,干音音频样本为真实的音频数据,则标签为真,合成音频为人工合成的音频数据,则标签为假,将具有标签的干音音频样本和合成音频输入判别层,判别层会对干音音频样本和合成音频中的特征进行学习(判别层包含三个卷积层,且使用一个均池化层减少参数的计算量,防止训练过拟合),并得到输入判别模型的音频为真或者为假的概率。将该概率输入使用下述交叉熵损失函数(公式1-5),对判别模型的损失(第二训练损失值)进行计算:
[0090][0091]
其中,y表示当前批次输入的干音音频样本的数量或者合成音频的数量;yi为输入判别模型的音频的标签,当标签为真时,yi取值为1,当标签为假时,yi取值为0;pi为判别模型将输入判别模型的音频判断为真的概率,1-i
为判别模型将输入判别模型的音频判断为假的概率。利用上述公式计算判别模型每次训练的损失,从而促使判别模型将真音频判断为真以及假音频判断为假的概率提升,也即是说判别模型能够尽可能地准确区分出输入音频的真假。当该损失函数的数值随着训练不断缩小至预设阈值或者趋于稳定时,代表训练
阶段结束。
[0092]
s803、根据第一训练损失值和第二训练损失值,训练第一残差网络模型、第二残差网络模型、音频合成模型、判别模型中的参数,以得到训练完成的第一残差网络模型、训练完成的第二残差网络模型及训练完成的音频合成模型。
[0093]
在一种可能实现方式中,可以根据上述处理得到的第一训练损失值和第二训练损失值更新整个音频处理模型中的参数,进而将多次更新之后且去除判别模型的音频处理模型用于图3所示的实施例合成音质更高的音频。
[0094]
其中,由上述损失函数可见,音频合成模型的训练目标是干音音频样本的其对应的合成音频的音频特征互相靠近,即具有相似的基频和频谱包络;而判别模型的目标是为了将干音音频样本判断为真以及合成音频判断为假的概率尽可能趋近于1;也即是说音频合成模型和判别模型的训练目标是相互对抗的。因此,在训练整个音频处理模型时,采取交替迭代训练(示例性地,先训练一次判别模型,再训练一次音频合成模型,再训练判别模型等等)。
[0095]
具体地,针对第一批包含有y个干音音频样本的训练数据,首先将该批训练数据依次经过上述处理(首次处理时,音频处理模型中的参数为初始默认值)得到对应的y个合成音频,此时音频处理模型拥有了可以输入判别模型的真假数据集,真数据集为干音音频样本,假数据集为合成音频。将真假数据集输入判别模型,进行真假判别并获得第二训练损失值。固定音频合成模型的参数,根据第二训练损失值更新其余模型(两个残差网络模型和判别模型)的参数。将第二批包含有y个干音音频样本的训练数据输入音频处理模型得到y个合成音频,并得到第一训练损失值。固定判别模型的参数,根据第一训练损失值对其余模型的参数进行更新。完成更新后,再次输入下一批次训练数据,并固定音频合成模型的参数,对除音频合成模型以外的其余模型参数进行更新,不断重复上述过程,直至第一训练损失值和第二训练损失值趋于稳定或达到预设训练次数,最终确定音频处理模型模型中的参数。
[0096]
需要说明的是,上述根据第一训练损失值或者第二训练损失值更新音频处理模型模型中参数时,采用梯度反向传播算法并按照预设学习率,依次获取各个模型中每层网络中参数的变化值。并且,上述交替迭代训练的方法还可以按照训练多次判别模型,再训练一次音频合成模型或者训练多次音频合成模型,再训练一次判别模型,训练过程的设置根据具体的实施场景确定,本技术对此不做限制。
[0097]
基于图8所描述的实施例,可以在训练过程中加入判别模型,对整个音频处理模型进行训练,并更新音频处理模型中的参数值。训练完成后的第一残差网络模型、第二残差网络模型以及音频合成模型可用于图3所示的实施例,以合成音质更高的音频数据。
[0098]
参见图10,为本技术实施例提供的一种音频合成装置的结构示意图。该音频装置包括10包括获取单元1001及处理单元1002。其中:
[0099]
获取单元1001,用于获取待合成音频;
[0100]
处理单元1002,用于从待合成音频中提取第一基频和频谱包络,第一基频用于指示待合成音频的音高,频谱包络用于指示待合成音频的音色;
[0101]
处理单元1002,还用于调整第一基频,得到第二基频;
[0102]
处理单元1002,还用于根据第二基频和频谱包络得到合成音频,合成音频的频谱
包络与待合成音频的频谱包络一致。
[0103]
在一种可能实现方式中,处理单元1002在用于根据第二基频和频谱包络得到合成音频时,具体包括:
[0104]
调用第一残差网络模型和第二残差网络模型,对频谱包络进行处理,得到第一结果和第二结果;
[0105]
根据第一结果与第二基频的嵌入向量得到第三结果;
[0106]
将第二结果与第三结果叠加得到声学特征;
[0107]
调用音频合成模型对声学特征进行处理,得到合成音频。
[0108]
在一种可能实现方式中,上述音频合成模型由一层卷积层和n层转置卷积层依次连接组成,n为大于1的正整数;处理单元1002,在用于调用音频合成模型对声学特征进行处理,得到合成音频时,具体包括:
[0109]
调用卷积层,对声学特征进行卷积处理,得到第四结果;
[0110]
调用n层转置卷积层对第四结果进行转置卷积处理,得到n个转置卷积结果;
[0111]
将n个转置卷积结果中的m个转置卷积结果进行线性差值变换后,逐层叠加得到合成音频;m为小于n的正整数。
[0112]
在一种可能实现方式中,上述n层转置卷积层对应的n个通道缩小倍数的乘积与声学特征的维度分量相同。
[0113]
在一种可能实现方式中,处理单元1002,还用于基于训练样本集和训练样本集的合成音频,确定第一训练损失值;
[0114]
调用判别模型,对训练样本集的合成音频进行真假判别,确定第二训练损失值;
[0115]
根据第一训练损失值和第二训练损失值,训练第一残差网络模型、第二残差网络模型、音频合成模型、判别模型中的参数,以得到训练完成的第一残差网络模型、训练完成的第二残差网络模型及训练完成的音频合成模型。
[0116]
在一种可能实现方式中,判别模型包括均池化层、判别层,判别层由一层卷积层、一层最大池化层和两层卷积层依次连接组成;均池化层包括第一均池化层和第二均池化层,判别层包括第一判别层、第二判别层和第三判别层;处理单元1002在用于调用判别模型,对训练样本集的合成音频进行真假判别,确定第二训练损失值时,具体包括:
[0117]
调用第一判别层,对训练样本集的合成音频进行真假判别,得到第一判别结果;
[0118]
调用第一均池化层对训练样本集的合成音频进行均池化处理,得到第一均池化结果;调用第二判别层对第一均池化结果进行真假判别,得到第二判别结果;
[0119]
调用第二均池化层对第一均池化结果进行均池化处理,得到第二均池化结果;调用第三判别层对第二均池化结果进行真假判别,得到第三判别结果;
[0120]
根据第一判别结果、第二判别结果和第三判别结果,确定第二训练损失值。
[0121]
在一种可能实现方式中,处理单元1002在基于训练样本集和训练样本集的合成音频,确定第一训练损失值时,具体包括:
[0122]
确定训练样本集的第一梅尔谱和训练样本集的合成音频的第二梅尔谱;
[0123]
确定第一训练损失值为第一梅尔谱和第二梅尔谱的最小均方误差。
[0124]
在一种可能实现方式中,获取单元1001,还用于获取原始样本集,原始样本集包括多个干音音频样本,多个干音音频样本中每个干音音频样本由音高分布向量表示;
[0125]
处理单元1002,还用于基于每个干音音频样本的音高分布向量确定每个干音音频样本的采样概率,采样概率用于使采样得到的训练样本集的音高均匀分布;
[0126]
基于每个干音音频样本的采样概率对原始样本集进行采样,得到训练样本集。
[0127]
在一种可能实现方式中,处理单元1002还用于基于训练样本集的基频和频谱包括得到训练样本集的合成音频。
[0128]
需要说明的是,本技术实施例的音频合成装置的各单元模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,在此不作赘述。
[0129]
参见图11,是本技术实施例提供的一种终端设备的结构示意图。该终端设备11可以包括:一个或多个处理器1101、存储器1102和收发器1103。上述处理器1101、存储器1102和收发器1103通过总线1104连接。存储器1102用于存储计算机程序,该计算机程序包括程序指令,处理器1101和收发器1103用于执行存储器702存储的程序指令,执行如下操作:
[0130]
获取待合成音频;
[0131]
从待合成音频中提取第一基频和频谱包络,第一基频用于指示待合成音频的音高,频谱包络用于指示待合成音频的音色;
[0132]
调整第一基频,得到第二基频;
[0133]
根据第二基频和频谱包络得到合成音频,合成音频的频谱包络与待合成音频的频谱包络一致。
[0134]
应当理解,在一些可行的实施方式中,上述处理器1101可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器1102可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器1102的一部分还可以包括非易失性随机存取存储器。例如,存储器1102还可以存储设备类型的信息。
[0135]
具体实现中,上述终端设备可通过其内置的各个功能模块执行如上述图3或图8中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
[0136]
本技术实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的音频合成装置所执行的计算机可读指令,且该计算机可读指令包括程序指令,当处理器执行上述程序指令时,能够执行上述图3、图9所对应实施例中的方法,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。作为示例,程序指令可以被部署在一个计算机设备上,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
[0137]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使
得该计算机设备可以执行上述图3、图8所对应实施例中的方法,因此,在此不再进行赘述。
[0138]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0139]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1