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.图1是根据本公开提供的语音风格迁移方法的第一实施例的示意图;
28.图2是根据本公开提供的语音风格迁移方法的第二实施例的示意图;
29.图3是根据本公开提供的语音风格迁移方法的第三实施例的示意图;
30.图4是本公开中训练内容编码模型的流程示意图;
31.图5是根据本公开提供的语音风格迁移方法的一种流程示意图;
32.图6是本公开中训练风格编码模型和声谱解码模型的流程示意图;
33.图7是本公开中训练、测试各模型的流程示意图;
34.图8是根据本公开提供的语音风格迁移装置的第一实施例的示意图;
35.图9是用来实现本公开实施例的语音风格迁移方法的电子设备的框图。
具体实施方式
36.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
37.为了能较好的迁移语音风格,本公开提供了一种语音风格迁移方法、装置、电子设备及存储介质。下面首先对本公开提供的语音风格迁移方法进行说明。
38.如图1所示,图1是本公开根据本公开提供的语音风格迁移方法的第一实施例的示意图,该方法可以包括以下步骤:
39.步骤s110,获取待迁移的目标音频以及待合成音素序列。
40.本公开实施例中,上述待迁移的目标音频可以是说话人通过麦克风等声音输入设备输入的任意内容的一句话,上述说话人可以是用户本人,也可以是虚拟人物(如动漫角色等)。
41.在语言学中,音素指的是根据语音的自然属性划分出来的最小语音单位,音节中的一个发音动作构成一个音素。例如,“普通话”一词,就可以分为"p,u,t,o,ng,h,u,a"八个音素。本公开实施例中,上述待合成音素序列则可以是任意内容的文本序列,上述文本序列可以是其他用户输入的、需要生成有说话人风格的文本序列,也可以是其他用户通过语音输入相应音频,由电子设备对该音频进行特征提取等操作得到相应的音素序列,本公开中对此不做具体限定。
42.步骤s120,对所述待迁移的目标音频进行声谱特征提取以及音素时长特征提取,得到所述目标音频的声谱特征和音素时长特征。
43.本公开实施例中,上述待迁移的目标音频的声谱特征可以反映说话人的声音特征,上述音素时长特征则可以反映说话人的语速。
44.本公开实施例中,可以通过对目标音频信号进行分帧加窗,对每一帧做fft(快速傅里叶变换),把每一帧fft后的频域信号(频谱图)在时间上堆叠起来得到声谱图后,针对声谱图提取其声谱特征。
45.本公开实施例中,上述音素时长特征可以是针对目标音频内部的各个音素进行提取,即得到的可以是各个内部音素的时长特征。
46.步骤s130,对所述待合成音素序列进行内容特征提取以及音素时长预测,得到所述待合成音素序列的内容特征以及每个待合成音素的预测基本时长。
47.本实施例中,可以使用预设的内容特征提取算法对待合成音素序列进行内容特征提取。本公开实施例中,上述内容特征可以表征音素代表的内容信息与其上下文的关联信息以及语义信息,作为一种具体实施方式,上述内容特征可以是以向量形式表达。
48.本公开实施例中,上述每个待合成音素的预测基本时长可以将待合成音素序列输入预先训练好的时长预测模型后获得。该时长预测模型,可以是通过开源数据aishell3中的音频的音素标注以及时长标注预先训练的lstm-ctc、cnn-rnn-t、las、chain、gmm-hm等语音识别模型。预测结果可以用单位时长的数量来表征。例如:可以设置一个单位时长为10ms,如果某个待合成音素的预测结果为3个单位时长,则其实际时长就是30ms。
49.步骤s140,基于所述目标音频的音素时长特征,对所述每个待合成音素的预测基本时长进行调整,得到所述每个待合成音素的目标时长;
50.该步骤可以使得各待合成音素的时长与目标音频中的音素时长接近,即使得合成音频的语速与目标音频的语速接近。
51.步骤s150,基于所述目标音频的声谱特征、待合成音素序列的内容特征以及每个待合成音素的目标时长,获取所述待合成音素序列对应的具有目标音频风格的目标声谱;
52.步骤s160,将所述目标声谱转化为音频,得到所述待合成音素序列对应的具有目标音频风格的合成音频。
53.本公开实施例中,可以通过ifft(inverse fast fourier transform,快速傅里叶逆变换)将一帧一帧的声谱信号变换成一小段一小段的时域信号,再将他们拼接起来,得到音频,本公开中对此不做具体限定。
54.本公开提供的语音风格迁移方法中,对待迁移的目标音频进行声谱特征提取和音素时长特征提取,得到其声谱特征和音素时长特征,对待合成音素序列进行内容特征提取以及音素时长预测,得到各音素的内容特征和预测基本时长,之后基于目标音频的音素时长特征对待合成音素序列中各音素的预测基本时长进行调整,得到各待合成音素的目标时长,并基于目标音频的声谱特征以及各待合成音素的内容特征和目标时长,得到所述待合成音素序列对应的具有目标音频风格的目标声谱,并对其进行音频转换,得到所述待合成音素序列对应的具有目标音频风格的合成音频。应用本公开实施例,通过结合对待迁移目标音频风格影响较大的语速,进行语音风格迁移,使得音频迁移效果更好,提高音频迁移准确度。
55.在本公开的一种实施例中,上述目标音频的音素时长特征可以具体可以是音素时长的均值和方差,因此,参见图2,图1所示的步骤s120具体可以细化为以下步骤:
56.步骤s121,对所述待迁移的目标音频进行声谱特征提取,得到所述目标音频的声谱特征;以及对所述待迁移的目标音频中包含的各个音素进行时长计算,得到所述目标音频的音素时长的均值和方差。
57.如上所述,音素是最小的语音单位,本公开实施例中可以针对目标音素中的各个音素进行音素时长计算,得到的目标音素时长的均值和方差,就可以较好的反映出说话人的语速变化,使得语音风格迁移的效果更好。
58.这样,如图2所示,图1中的步骤s140就可以相应的被细化为以下步骤:
59.步骤s141,根据所述目标音频的音素时长的均值和方差,对所述每个待合成音素的预测基本时长进行调整,得到所述每个待合成音素的符合目标音频语速的目标时长。
60.作为本公开实施例的一种具体实施方式,每个待合成音素的目标时长可以是各待合成音素的预测基本时长*方差+均值,该方差和均值就是上述对目标音频中的每个音素进行音素时长计算得到的音素时长的均值和方差。例如:预测的基本时长是2个单位,方差为0.5个单位,均值是2个单位,则调整后的时长为2*0.5+2=3个单位时长。
61.如图3所示,在本公开的一种实施例中,图1中的步骤s150之前,还可以包括:
62.步骤s350,基于所述目标音频的声谱特征,提取所述目标音频的风格特征。
63.通常,说话人的行为由有意识和无意识的活动组成,一般变化性很强。从声谱角度出发可以包括3类特征,一个是内在的稳定的粗粒度的特性,这部分是由说话人的生理结构特点决定的,不同的说话人不一样,从主观听觉上感受不同,表现在声谱的低频区域,例如平均的基音频率(pitch,或音高),反映声道冲激响应的频谱包络(spectral envelope),共振峰(formant)的相对幅度与位置等。另外一个是不稳定的短时声学特性,发音的快慢急剧抖动(sharp and rapid)情况,基音频率,响度(intensity),频谱的精细化结构等,这些能够反映说话人心理或精神方面的变化,在交谈时可以通过改变这些来表达不同的情绪与意图。其次是重音(stress),停顿(pause)等与说话人本身无关的,但也影响了主观听觉。
64.因此,本公开实施例中,可以对说话人的上述风格特征进行提取,这样,可以将说话人的待迁移目标音频声谱特征中的风格特征与内容特征分离,降低目标音频的内容对其风格的影响,使得语音风格迁移更加准确。
65.参见图3,如图3所示,图1中的步骤s150就可以细化为以下步骤:
66.步骤s151,基于所述待合成音素序列中每个待合成音素的目标时长,对所述待合成音素序列中每个音素对应的内容特征进行复制和组合,得到所述待合成音素序列的目标内容特征。
67.如上所述,本公开实施例中,提取的是每个待合成音素的内容特征向量,因此,在得到各个待合成音素的目标时长后,就可以针对每个待合成音素,将其内容特征向量结合其目标时长进行复制,得到该待合成音素的目标内容特征,进而将各待合成音素的目标内容特征进行组合得到整个待合成音素序列的目标内容特征。
68.如上所述,各待合成音素的目标时长可以是以单位时长的形式表示,因此,作为本公开实施例的一种具体实施方式,可以按照待合成音素目标时长包含的单位时长的个数对其内容特征向量进行复制。例如:若待合成音素序列包含3个音素,分别为音素a、音素b、音素c,其内容特征向量分别记为a、b、c。计算得到音素a目标时长为3个单位时长,音素b的目标时长为2个单位时长,音素c的目标时长为2个单位时长,那么,该待合成音素序列的内容特征中就包含3个音素a的内容特征向量、2个音素b的内容特征向量、2个音素c的内容特征向量,即对该待合成音素序列来说,将各待合成音素的内容特征向量进行复制组合后得到的目标内容特征就是aaabbcc。
69.步骤s152,基于所述待合成音素序列的目标内容特征及所述目标音频的风格特征,对待合成音素序列进行解码,获取所述待合成音素序列对应的具有目标音频风格的目标声谱。
70.本公开实施例中,上述针对目标音频的声谱特征提取、风格特征提取、针对待合成音素序列的内容特征提取、音素时长预测,以及获取目标声谱和目标音频的步骤,都可通过预先训练好的内容编码模型、时长预测模型、风格编码模型以及声谱解码模型等等模型执行。
71.作为一种具体实施方式,本公开实施例中,上述对待迁移的目标音频进行声谱特征提取的步骤就可以包括:
72.将所述待迁移的目标音频输入预设的声谱特征提取模型,得到所述目标音频的声谱特征。
73.本公开实施例中,上述声谱特征可以是mfcc(mel-frequency cepstral coefficients,梅尔倒谱系数)、plp(perceptual linear prediction,感知线性预测系数)或fbank(filter bank)特征等等。以mfcc特征为例,其提取过程可以包括:对语音信号进行预加重、分帧和加窗;对于每一个短时分析窗(即分出的每一帧),通过fft得到对应的频谱;将计算得到的频谱通过mel滤波器组,得到mel频谱;在mel频谱上进行倒谱分析(取对数、逆变换),获得mel频谱倒谱系数mfcc。
74.上述说话人特征可以通过预训练的说话人识别模型进行提取。作为本公开实施例的一种具体实施方式,上述说话人识别模型可以由多层tdnn(time delay neural network,时延神经网络)构成。在训练该模型时,可以基于开源数据集aishelll~3进行训
练,将每帧音频的声谱特征作为模型的输入,上述每帧音频的声谱特征也可以是mfcc、plp或fbank等等,上述每帧音频的声谱特征维度可以是20,每帧的时长可以是25ms、帧移可以是10ms。模型输出的则可以是预测的各个说话人的概率。本实施例中,训练的损失函数可以是ce(cross entropy,交叉熵),即可以基于模型输出的预测的各说话人概率与音频对应的真实说话人得到上述损失函数值,并基于该损失函数值更新说话人识别模型中各层网络的参数,计算时可以带有一定数量的上下文(例如,前后各2帧),来提高计算准确性。训练好后,可以从该说话人识别模型的倒数第2层进行抽取,将抽取得到的数据作为说话人特征,当然也可以从其它层抽取,本公开不做具体限定。
75.本公开实施例中,上述对待合成音素序列进行内容特征提取以及音素时长预测的步骤就可以包括:
76.将所述待合成音素序列输入预设的内容编码模型,得到待合成音素序列的内容特征;以及将所述待合成音素序列输入预设的时长预测模型,得到每个待合成音素的预测基本时长。
77.接下来分别对上述内容编码模型和时长预测模型进行说明。
78.本公开实施例中,上述内容编码模型可以由多层{conv1d+relu(激活函数)层+in层+dropout层}网络构成,上述conv1d一种卷积神经网络,relu层是为了加入非线性因素,增强模型表达能力,in(instance normalization,实体规整)层则可以用来对数据进行归一化,来保证每层网络的输入数据分布是相同的,进而加快神经网络的收敛速度,dropout层则可以避免模型出现过拟合问题。
79.in层是从空间各个维度相互独立的假设出发的,并对各个维度分别进行规整,针对内容编码模型的每一层网络,对输入到该层的特征x,从不同维度计算均值与方差,然后规整,规范化后分布均值为0,方差为1,具体的计算公式如下所示:
[0080][0081]
该公式中,γ、β表示待迁移目标音频的风格,σ和μ分别是均值和标准差,x则是输入到该层的待合成音素序列的特征,in(x)则是in层的输出。
[0082][0083]
该公式中h、w分别表示输入特征的两个维度,x则是相应的输入特征,n,c可分别代表x的样本索引和特征通道索引。
[0084][0085]
该公式中,ε是一个很小的常量(例如,0.1),来避免出现方差为0的情况。
[0086]
本公开实施例中,内容编码模型相当于将音素通过神经网络映射到高维空间,将音素本身代表的内容信息,与其上下文的关联信息,语义信息表征出来,使得提取到的音素特征更加完整。如上所述,该内容编码模型提取到的具体可以是待合成音素序列的内容特征向量(content embedding)。
[0087]
本公开实施例中,可以基于开源数据aishell3(多说话人普通话数据)对待训练的内容编码模型进行训练,来得到上述内容编码模型。
[0088]
作为一种具体实施方式,如图4所示,上述内容编码模型可以采用以下步骤训练得到:
[0089]
步骤s410,将第一样本音频输入至预先训练完成的说话人识别模型,得到第一样本音频对应的样本说话人特征。
[0090]
上述第一样本音频可以是上述开源数据aishell3中的音频数据,使用上述说话人识别模型对该第一样本音频进行处理,就可以得到该样本音频对应的说话人特征。
[0091]
步骤s420,将第一样本音频的第一音素序列输入待训练的内容编码模型,得到第一样本音素序列中各个音素的第一样本内容特征。
[0092]
步骤s430,基于第一样本音素序列中每个音素的时长,对各个音素的第一样本内容特征进行复制和组合,得到第一样本音素序列中各个音素的第一样本目标内容特征。
[0093]
本实施例中,可以利用gmm-hmm、cnn、rnn-t、chain、las等等模型,可以将音频转成文字,并且带有时间信息(包括:每个音素的时间点和持续时长),基于上述时间信息,即可计算内部音素的时长,以及音素时长的均值与方差。
[0094]
作为本实施例的一种具体实施方式,可以由上述声谱解码模型对各个音素的第一样本内容特征,结合音素的时长进行复制和组合,得到上述各个音素的第一样本目标内容特征。
[0095]
步骤s440,将所述说话人特征及各个第一样本目标内容特征输入至待训练的声谱解码模型,得到第一样本声谱特征;
[0096]
步骤s450,基于第一样本声谱特征与第一样本音频的真实声谱特征的误差,对待训练的内容编码模型的参数进行更新,直至待训练的内容编码模型收敛。
[0097]
本公开实施例中,可以将得到的第一样本声谱特征与该音频真实的声谱特征通过mse(mean square error,均方误差)计算损失,进而更新整个网络。
[0098]
通过训练得到的内容编码模型,提取待合成音素序列的内容特征,在提取时会关联音素的前后音素以及语义信息,使得提取到的内容特征更加准确。
[0099]
本公开实施例中,上述时长预测模型可以由1层self-attention(自注意力机制网络层),2层{conv1d+relu},1层linear(线性层)构成,输入可以是各个待合成音素,输出则是相应音素的预测基本时长。如上所述,该时长预测模型可以是通过开源数据aishell3中的音频的音素标注以及时长标注预先训练的语音识别模型,该语音识别模型可以是lstm-ctc,cnn-rnn-t,las,chain,gmm-hmm等等。
[0100]
上述时长预测模型还可以基于上述待迁移目标音频的时长均值与方差对预测基本时长进行调整,来得到各待合成音素的目标时长。
[0101]
通常,语速是说话风格中主观体验的至关重要的一个因素,本公开实施例中,使用单独模型调整待合成音素的时长(语速),提高各个待合成音素时长调整的便利性。
[0102]
本公开实施例中,上述基于所述目标音频的声谱特征,提取所述目标音频的风格特征的步骤,可以包括:
[0103]
将所述目标音频的声谱特征输入预设的风格编码模型,得到所述目标音频的风格特征。
[0104]
上述基于所述待合成音素序列的目标内容特征及所述目标音频的风格特征,对待合成音素序列进行解码,获取所述待合成音素序列对应的具有目标音频风格的目标声谱的
步骤就可以包括:
[0105]
将所述待合成音素序列的目标内容特征及所述目标音频的风格特征输入预设的声谱解码模型,得到所述待合成音素序列对应的具有目标音频风格的目标声谱。
[0106]
参见图5,图5是本公开提供的语音迁移方法的一种流程示意图,具体可以包括以下步骤:
[0107]
①
、对待迁移目标音频进行声谱特征提取以及音素时长计算,得到目标音频的目标声谱特征以及其音素时长的均值和方差。
[0108]
②
、对待合成音素序列通过时长预测模型,得到各待合成音素的预测基本时长,并结合目标音频的音素时长的均值和方差进行调整,得到各音素的目标时长。
[0109]
③
、对待合成音素序列通过内容编码模型,得到各待合成音素的内容特征向量,并结合各音素的目标时长对相应的内容特征向量进行复制和组合,得到待合成音素序列的目标内容特征向量。
[0110]
④
、将目标音频的声谱特征输入至风格编码模型,得到目标音频的风格特征(包括目标音频声谱的均值方差等)。
[0111]
⑤
、将步骤
③
中得到的待合成音素序列的目标内容特征向量输入至声谱解码模型,并结合步骤
④
中得到的目标音频风格特征,得到合成声谱。
[0112]
⑥
、对合成声谱进行音频转换,得到待合成音素序列对应的具有待迁移目标音频风格的合成音频。
[0113]
本公开实施例中,上述风格编码模型和声谱解码模型可以构成u型网络。其中,上述风格编码模型可以为第一u型网络模型,上述声谱解码模型则可以是第二u型网络模型。
[0114]
因此,所述将所述目标音频的声谱特征输入预设的风格编码模型,得到所述目标音频的风格特征的步骤,可以包括:
[0115]
将所述目标音频的声谱特征输入所述第一u型网络模型,进行内容特征提取,将第一u型网络模型的中间层输出的特征,作为所述目标音频的风格特征。
[0116]
通过使用独立的风格编码模型对待迁移音频的风格进行提取,可以减少内容对于音频风格的影响,使得提取到的待迁移音频的风格信息更加准确。
[0117]
所述将所述待合成音素序列的目标内容特征及所述目标音频的风格特征输入预设的声谱解码模型,得到所述待合成音素序列对应的具有目标音频风格的目标声谱的步骤,就可以包括:
[0118]
将所述待合成音素序列的目标内容特征及所述目标音频的风格特征输入所述第二u型网络模型,得到所述第二u型网络模型输出的所述待合成音素序列对应的具有目标音频风格的目标声谱。
[0119]
通过使用上述u型网络进行语音风格迁移,可以将音频中的说话特点(speaking style,说话风格)与内容(content)进行解耦,分开建模,降低互相影响,提高待迁移音频的内容特征和风格特征的提取精度。
[0120]
如上所述,从声谱角度来说,说话人的音频特征可以分为内在稳定的粗粒度特性、不稳定的短时声学特征以及重音、停顿等特征。因此,本公开实施例中,可以使用多层卷积网络对目标音频的风格特征和内容特征进行提取,获取不同层级的目标音频的风格特征以及内容特征,该风格特征可以包括目标音频的均值、方差、将各中间层的输出等等。
[0121]
在对风格编码模型进行训练时,输入的可以是样本音频真实的声谱特征,输出的则是预测的内容特征向量。之后基于该预测的内容特征向量与上述内容编码模型输出的该音频的内容特征向量,通过mse(mean square error,均方误差)计算误差损失,反向更新风格编码模型。
[0122]
作为一种具体实施方式,本公开实施例中,上述风格编码模型可以由多个{rescon1d+in}层构成,每个rescon1d由2层{conv1d+relu}构成。
[0123]
本公开实施例中,上述声谱解码模型可以由多个{adain+rescon1d}层构成,每个rescon1d由2层{conv1d+relu}构成,adain(adaptive instance normalization,自适应的实体规整)层,跟in类似,只是两边的系数发生了变化,如下:
[0124][0125]
该公式中,x和y分别是内容特征和风格特征,σ和μ分别是均值和方差,该均值和方差即上述风格编码模型输出的均值与方差,该公式将内容特征的均值和方差与风格特征对齐。该声谱解码模型相当于给定内容,然后将目标音频的风格应用在该内容上,得到目标声谱的过程。
[0126]
在对声谱编码模型进行训练时,输入的可以是音素的内容特征向量,并结合风格编码模型的部分输出(风格特征),输出是则是预测的声谱特征,之后基于预测的声谱特征以及音频真实的声谱特征,通过mse(mean square error,均方误差)计算误差损失,反向更新声谱解码模型。
[0127]
这样,结合风格编码模型的部分信息,构成完整的u型网络,能够更精准的预测声学细致的信息(例如,音高(pitch),和声(harmonic),频谱包络,响度等)以及句子级别的随机性较强的说话风格(例如,停顿重音等)。
[0128]
如上所述,上述风格编码模型和声谱解码模型共同构成u型网络,本公开实施例中,可以同时训练上述风格编码模型和声谱解码模型。作为本公开实施例的一种具体实施方式,如图6所示,上述u型网络可以采用以下步骤训练得到:
[0129]
步骤s610,计算第二样本音频的音素时长的均值和方差及真实声谱特征。
[0130]
如上所述,本实施例中,可以利用gmm-hmm、cnn、rnn-t、chain、las等等模型,将第二样本音频转成带有时间信息(包括:每个音素的时间点和持续时长)的文字,基于该时间信息来计算内部音素的时长均值与方差。
[0131]
步骤s620,利用已训练完成的内容编码模型和已训练完成的时长预测模型,对第二样本音频的第二样本音素序列进行内容特征提取以及音素时长预测,得到第二样本内容特征以及每个样本音素的样本预测基本时长;
[0132]
步骤s630,基于所述第二样本音频的音素时长的均值和方差,对所述第二样本音素序列中的每个音素的预测基本时长进行调整,得到所述第二样本音素序列中各个音素的样本目标时长。
[0133]
上述步骤s620、s630已在上面进行详细说明,此处不再赘述。
[0134]
步骤s640,基于各个样本目标时长,对所述第二样本音素序列中每个音素对应的第二样本内容特征进行复制和组合,得到所述第二样本音素序列的第二样本目标内容特征,作为第二样本音频的真实内容特征。
[0135]
本公开实施例中,对于第二样本序列中的各个音素来说,可以将音素的内容特征按照目标时长中包含单位时长的个数进行复制并组合,来得到第二样本目标内容特征。
[0136]
步骤s650,将所述第二样本音频的真实声谱特征输入至待训练的风格编码模型,得到第二样本音频的样本风格特征和样本音频内容特征。
[0137]
如上所述,风格编码模型将风格与内容进行解耦,分开建模。因此,待训练的风格编码模型可以输出第二音频的内容特征和风格特征。
[0138]
步骤s660,基于所述样本音频内容特征与所述真实内容特征的误差,对待训练的风格编码模型的参数进行更新,直至待训练的风格编码模型收敛,得到待定风格编码模型。
[0139]
如上所述,可以通过mse(mean square error,均方误差)计算样本音频内容特征与所述真实内容特征之间的误差损失。
[0140]
本公开实施例中,风格编码模型与声谱解码模型共同构成u型网络,因此,在后续对声谱解码模型进行训练时,会更新整个u型网络的参数,所以此处得到的并不是训练好的风格编码模型。
[0141]
步骤s670,将所述真实内容特征和待定风格编码模型输出的样本风格特征输入至待训练的声谱解码模型,得到样本声谱特征。
[0142]
如上所述,待定风格编码模型输出的样本风格特征可以包括样本音频的均值、方差,以及多层卷积网络中各层的输出。
[0143]
步骤s680,基于样本声谱特征与真实声谱特征的误差,对待训练的声谱解码模型和待定风格编码模型的参数进行更新,直至待训练的声谱解码模型和待定风格编码模型收敛。
[0144]
本公开实施例中,通过结合风格编码模型的输出风格特征,对声谱解码模型以及风格编码模型构成的u型网络进行参数更新,使得u型网络可以更精准的预测细致的声学信息,提高语音风格迁移的准确性。
[0145]
接下来对本公开中对整个语音风格迁移网络进行训练、测试的过程进行介绍。
[0146]
参见图7,图7示出了本公开实施例中,对语音风格迁移网络进行预训练、训练及测试的过程:
[0147]
在预训练阶段,通过开源数据aishell1~3,在多层tdnn-xvector网络上训练说话人识别模型,该说话人识别模型可以对说话人特征(speaker embedding)进行提取。
[0148]
然后通过样本音频的说话人特征和该样本音频的音素序列训练内容编码(content encoder)模型和声谱解码(mel decoder)模型组合的多说话人合成系统,来得到内容编码模型。
[0149]
具体的,可以是将样本音频的样本音素序列输入至待训练的内容编码模型中,得到待训练的内容编码模型输出的各样本音素的内容特征(图7中,样本音素序列包含3个样本音素)。之后基于各样本音素的时长对各音素的内容特征进行复制和组合,得到样本音素序列的内容特征,将该内容特征以及说话特征输入至待训练声谱解码模型,得到待训练声谱解码模型输出的样本音素序列的目标声谱,并基于目标声谱和样本音频的声谱特征计算损失函数,来更新内容编码模型的参数,直至模型收敛,得到训练好的内容编码模型。
[0150]
预训练阶段,还可以对音素时长预测模型进行训练,即通过开源数据aishell3中的音频的音素标注以及时长标注训练得到。
[0151]
在训练阶段,训练数据中的每条样本音频都有音素标注,结合具体的样本音频,即可计算得到样本音频的各样本音素时长的均值(mean)和方差(std),而通过样本音频可以计算得到其声谱特征,将样本音频的样本音素序列输入至训练好的内容编码模型,就可以得到各样本音素的内容特征向量。
[0152]
然后将上述样本音素序列输入至与训练好的时长预测模型,得到各样本音素的预测基本时长,并结合计算得到的各样本音素时长的均值和方差加以调节,获得最终的目标时长信息。基于该目标时长对上述训练好的内容编码模型输出的内容特征向量进行复制和组合,就可以得到样本音频的真实内容特征向量。
[0153]
将样本音频的真实声谱特征输入到风格编码模型(由多个{rescnn1d层+in层}构成),计算得到中间各个层的风格特征以及输出层的内容特征向量,与上述样本音频真实的内容特征向量计算误差(loss2),并反向更新网络
[0154]
将上述真实的内容特征向量再输入到声谱解码模型(由多个{rescnn1d层+adain层}构成),并结合风格编码模型各中间层输出的风格特征(包括真实声谱的均值、方差),生成带有样本音频风格的目标声谱,与真实的声谱计算误差(loss1),反向更新整个u型网络,这样迭代多轮至收敛即可完成训练。
[0155]
在测试阶段,对待迁移的目标音频,提取声谱特征,以及计算内部音素的时长均值与方差。
[0156]
对待合成音素序列,通过时长预测模型得到预测基本时长信息,然后再根据目标音频的时长均值方差进行调整,得到目标音频语速指导下的目标时长。另外,待合成音素序列通过内容编码模型,得到内容特征向量,结合目标时长进行复制和组合。
[0157]
目标音频提取的声谱特征通过风格编码模型计算风格特征信息(包括声谱的均值、方差等),将上述得到的内容特征向量输入到声谱解码模型,结合上述风格特征信息,共同合成具有目标音频风格的目标声谱,最后再转换成音频,从而得到具有目标音频风格的合成音频。
[0158]
可见,与现有技术中通过内容方面的特征提取(phoneme),说话人特性的提取(speaker),音频声谱特征的预测(mel-spectrogram),最后将声谱通过现有的声码器(vocoder)转换为音频进行语音风格迁移造成的缺乏说话人动态或随机细粒度的特征相比,本公开实施例提供的语音风格迁移方法,设计了时长预测模型结合规整的手段,实现了合成的音频语速与目标音频的匹配,奠定了风格迁移的基础,另外设计了风格编码模型,通过与声谱解码模型的联合训练,很好的将内容信息与说话人说话风格解耦开来,降低了互相的影响,最后通过声谱重建的u型网络,最大精度的预测声学细致的信息,例如音高,和声,频谱包络,响度等,以及句子级别的随机性较强的说话风格,比如停顿重音等,实现了基于一句话的语音风格迁移。
[0159]
根据本公开的实施例,本公开还提供了一种语音风格迁移装置,如图8所示,该装置可以包括:
[0160]
音频及音素序列获取模块810,用于获取待迁移的目标音频以及待合成音素序列;
[0161]
目标音频特征获取模块820,用于对所述待迁移的目标音频进行声谱特征提取以及音素时长特征提取,得到所述目标音频的声谱特征和音素时长特征;
[0162]
待合成音素序列特征提取模块830,用于对所述待合成音素序列进行内容特征提
取以及音素时长预测,得到所述待合成音素序列的内容特征以及每个待合成音素的预测基本时长;
[0163]
音素时长调整模块840,用于基于所述目标音频的音素时长特征,对所述每个待合成音素的预测基本时长进行调整,得到所述每个待合成音素的目标时长;
[0164]
目标声谱获取模块850,用于基于所述目标音频的声谱特征、待合成音素序列的内容特征以及每个待合成音素的目标时长,获取所述待合成音素序列对应的具有目标音频风格的目标声谱;
[0165]
合成音频获取模块860,用于将所述目标声谱转化为音频,得到所述待合成音素序列对应的具有目标音频风格的合成音频。
[0166]
本公开提供的语音风格迁移装置中,对待迁移的目标音频进行声谱特征提取和音素时长特征提取,得到其声谱特征和音素时长特征,对待合成音素序列进行内容特征提取以及音素时长预测,得到各音素的内容特征和预测基本时长,之后基于目标音频的音素时长特征对待合成音素序列中各音素的预测基本时长进行调整,得到各待合成音素的目标时长,并基于目标音频的声谱特征以及各待合成音素的内容特征和目标时长,得到所述待合成音素序列对应的具有目标音频风格的目标声谱,并对其进行音频转换,得到所述待合成音素序列对应的具有目标音频风格的合成音频。应用本公开实施例,通过结合对待迁移目标音频风格影响较大的语速,进行语音风格迁移,使得音频迁移效果更好,提高音频迁移准确度。
[0167]
在本公开的一种实施例中,所述目标音频特征获取模块820,对所述待迁移的目标音频进行音素时长特征提取,包括:对所述待迁移的目标音频中包含的各个音素进行时长计算,得到所述目标音频的音素时长的均值和方差;
[0168]
所述音素时长调整模块840,用于根据所述目标音频的音素时长的均值和方差,对所述每个待合成音素的预测基本时长进行调整,得到所述每个待合成音素的符合目标音频语速的目标时长。
[0169]
在本公开的一种实施例中,上述装置还可以包括风格特征提取模块(图中未示出),用于基于所述目标音频的声谱特征,提取所述目标音频的风格特征;
[0170]
所述目标声谱获取模块850,用于基于所述待合成音素序列中每个待合成音素的目标时长,对所述待合成音素序列中每个音素对应的内容特征进行复制和组合,得到所述待合成音素序列的目标内容特征;
[0171]
基于所述待合成音素序列的目标内容特征及所述目标音频的风格特征,对待合成音素序列进行解码,获取所述待合成音素序列对应的具有目标音频风格的目标声谱。
[0172]
在本公开的一种实施例中,所述目标音频特征获取模块820,可以用于将所述待迁移的目标音频输入预设的声谱特征提取模型,得到所述目标音频的声谱特征;
[0173]
所述待合成音素序列特征提取模块830,用于将所述待合成音素序列输入预设的内容编码模型,得到待合成音素序列的内容特征;以及将所述待合成音素序列输入预设的时长预测模型,得到每个待合成音素的预测基本时长;
[0174]
所述风格特征提取模块,用于将所述目标音频的声谱特征输入预设的风格编码模型,得到所述目标音频的风格特征;
[0175]
所述目标声谱获取模块850,用于将所述待合成音素序列的目标内容特征及所述
目标音频的风格特征输入预设的声谱解码模型,得到所述待合成音素序列对应的具有目标音频风格的目标声谱。
[0176]
在本公开一种实施例中,所述预设的风格编码模型为第一u型网络模型;
[0177]
所述风格特征提取模块,用于将所述目标音频的声谱特征输入所述第一u型网络模型,进行内容特征提取,将第一u型网络模型的中间层输出的特征,作为所述目标音频的风格特征。
[0178]
在本公开其他实施例中,所述预设的声谱解码模型为第二u型网络模型;
[0179]
所述目标声谱获取模块850,用于将所述待合成音素序列的目标内容特征及所述目标音频的风格特征输入所述第二u型网络模型,得到所述第二u型网络模型输出的所述待合成音素序列对应的具有目标音频风格的目标声谱。
[0180]
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0181]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0182]
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0183]
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
[0184]
设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0185]
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如语音风格迁移方法。例如,在一些实施例中,语音风格迁移方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的语音风格迁移方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行语音风格迁移方法。
[0186]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0187]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0188]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0189]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0190]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0191]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0192]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例
如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0193]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。