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

一种语音合成模型的训练方法及装置与流程

2021-06-29 21:50:00 来源:中国专利 TAG:语音 装置 模型 训练 智能


1.本发明涉及智能语音技术领域,尤其涉及一种语音合成模型的训练方法及装置。


背景技术:

2.语音合成是从文本到语音的过程,文本输入到声学模型得到声学特征,再输入到合成器,得到音频,其中,现有技术中采用高并行声学模型fputs(fully parallel ufans

based end

to

end text

to

speech system)进行语音合成,ftpus声学模型的示意图如图1所示,其中,编码器,对齐模块,解码器均为神经网络构成。一般的生成音频过程为:从说话人的id(例如0

100)得到说话人矢量(是一个n维的向量,不同说话人有不同的说话人矢量);说话人矢量和文本输入编码器进行编码;说话人和文本输入对齐模块得到音频的发音时长信息(这个模块决定了最终音频的发音时长,说话语速等);发音时间信息以及编码器出来的编码进入到解码器进行解码,得到最终音频。
3.fptus模型需要预先进行训练,训练完成后,才可以进行语音识别,针对ptpus的训练过程如图2所示,第一步是训练对齐模块。见图2(a)。此时模型主要结构为说话人矢量,编码器,对齐模块和一个结构非常简单的解码器(解码器结构简单对训练对齐模块非常重要)。配合数据进行训练得到训练好的对齐模块;第二步是训练说话人矢量,编码器和解码器。见图2(b),模型主要构成为编码器,从第一步中训练好的对齐模块,(复杂以及最终的)解码器。此处对齐模块固定,不参与训练。
4.发明人对fptus模型的训练过程进行研究发现,当输入文本较短时,由于输入文本的数据量少,在以字为单位划分音素时,输入文本包含的音素特征少,导致训练过程中,语音合成的精度低。


技术实现要素:

5.有鉴于此,本发明提供了一种语音合成模型的训练方法及装置,用以解决现有技术中对fptus模型的训练过程中,当输入文本较短时,由于输入文本的数据量少,在以字为单位划分音素时,输入文本包含的音素特征少,导致语音合成的精度低的问题。具体方案如下:
6.一种语音合成模型的训练方法,包括:
7.对历史语音合成模型进行训练,得到多说话人模型;
8.获取当前训练数据中的当前说话人id和当前输入文本,其中,所述当前输入文本的数据量少于所述多说话人模型在训练过程中历史输入文本的数据量,所述当前输入文本的音素以韵母为单位;
9.基于所述多说话人模型、所述当前说话人id和所述当前输入文本对当前语音合成模型进行训练。
10.上述的方法,可选的,对历史语音合成模型进行训练,得到多说话人模型,其中,所述历史语音合成模型包括:历史编码器、历史解码器和历史对齐模块,所述解码器包括第一
历史解码器和第二历史解码器;所述多说话人模型包括:第一说话人模型和第二说话人模型,训练过程包括:
11.获取训练数据中的历史说话人id和历史输入文本;
12.基于所述历史说话人id,确定历史说话人矢量,基于所述历史说话人矢量,所述历史输入文本,所述历史编码器和所述历史第一解码器对所述历史对齐模块进行训练,得到第一说话人模型,其中,所述第一说话人模型中包括:历史目标对齐模块;
13.基于所述历史说话人矢量,所述历史输入文本,所述历史编码器、所述第二历史解码器和所述目标历史对齐模块进行训练,得到第二说话人模型。
14.上述的方法,可选的,还包括:
15.所述历史输入文本中的音素以字为单位。
16.上述的方法,可选的,基于所述多说话人模型、所述说话人id和所述输入文本对当前语音合成模型进行训练,其中,所述当前语音合成模型包括:当前编码器、当前解码器和当前对齐模块,所述解码器包括第一当前解码器和第二当前解码器,训练过程包括:
17.对所述第一说话人模型和所述当前说话人id进行线性组合,确定第一说话人矢量;
18.采用所述第一说话人矢量,所述当前输入文本,所述当前编码器和所述第一当前解码器对所述当前对齐模块进行训练,得到目标当前对齐模块;
19.基于所述第二说话人模型和所述当前说话人id,确定第二说话人矢量,采用所述第二说话人矢量,所述当前输入文本,所述当前编码器、所述第二当前解码器和所述目标当前对齐模块训练所述第二说话人矢量、所述当前编码器和所述第二当前解码器。
20.上述的方法,可选的,还包括:
21.获取所述第一说话人模型中的第一历史解码器第一训练结果和所述第二说话人模型中第二历史解码器的第二训练结果;
22.将所述第一训练结果赋给所述第一当前解码器作为初始值;
23.将所述第二训练结果赋给所述第二当前解码器作为初始值。
24.一种语音合成模型的训练装置,包括:
25.第一训练模块,用于对历史语音合成模型进行训练,得到多说话人模型;
26.获取模块,用于获取当前训练数据中的当前说话人id和当前输入文本,其中,所述当前输入文本的数据量少于所述多说话人模型在训练过程中历史输入文本的数据量,所述当前输入文本的音素以韵母为单位;
27.第二训练模块,用于基于所述多说话人模型、所述当前说话人id和所述当前输入文本对当前语音合成模型进行训练。
28.上述的装置,可选的,所述历史语音合成模型包括:历史编码器、历史解码器和历史对齐模块,所述解码器包括第一历史解码器和第二历史解码器;所述多说话人模型包括:第一说话人模型和第二说话人模型,所述第一训练模块包括:
29.第一获取单元,用于获取训练数据中的历史说话人id和历史输入文本;
30.第一训练单元,用于基于所述历史说话人id,确定历史说话人矢量,基于所述历史说话人矢量,所述历史输入文本,所述历史编码器和所述历史第一解码器对所述历史对齐模块进行训练,得到第一说话人模型,其中,所述第一说话人模型中包括:历史目标对齐模
块;
31.第二训练单元,用于基于所述历史说话人矢量,所述历史输入文本,所述历史编码器、所述第二历史解码器和所述目标历史对齐模块进行训练,得到第二说话人模型。
32.上述的装置,可选的,还包括:
33.所述历史输入文本中的音素以字为单位。
34.上述的装置,可选的,所述当前语音合成模型包括:当前编码器、当前解码器和当前对齐模块,所述解码器包括第一当前解码器和第二当前解码器,所述第二训练模块包括:
35.确定单元,用于对所述第一说话人模型和所述当前说话人id进行线性组合,确定第一说话人矢量;
36.第三训练单元,用于采用所述第一说话人矢量,所述当前输入文本,所述当前编码器和所述第一当前解码器对所述当前对齐模块进行训练,得到目标当前对齐模块;
37.第四训练单元,用于基于所述第二说话人模型和所述当前说话人id,确定第二说话人矢量,采用所述第二说话人矢量,所述当前输入文本,所述当前编码器、所述第二当前解码器和所述目标当前对齐模块训练所述第二说话人矢量、所述当前编码器和所述第二当前解码器。
38.上述的装置,可选的,还包括:
39.第二获取单元,用于获取所述第一说话人模型中的第一历史解码器第一训练结果和所述第二说话人模型中第二历史解码器的第二训练结果;
40.第一赋值单元,用于将所述第一训练结果赋给所述第一当前解码器作为初始值;
41.第二赋值单元,用于将所述第二训练结果赋给所述第二当前解码器作为初始值。
42.与现有技术相比,本发明包括以下优点:
43.本发明实施例中一种语音合成模型的训练方法及装置,包括:对历史语音合成模型进行训练,得到多说话人模型;获取当前训练数据中的当前说话人id和当前输入文本,其中,所述当前输入文本的数据量少于所述多说话人模型在训练过程中历史输入文本的数据量,所述当前输入文本的音素以韵母为单位;基于所述多说话人模型、所述当前说话人id和所述当前输入文本对当前语音合成模型进行训练。上述的训练过程中,在所述输入文本的音素数量少于所述多说话人模型在训练过程中历史输入文本的音素数量的前提下,基于多说话人模型、当前说话人id和当前输入文本对当前语音合成模型进行训练,由于多说话人模型已经预先经过训练可以提高训练过程中的准确度,进一步的,在输入文本数据量减少时,由于输入文本以韵母为单位,输入文本的音素数量不会减少,进一步保证了语音识别的精度,避免了现有技术中由于输入文本包含的因素音素特征少,导致语音合成的精度低的问题。
附图说明
44.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1为现有技术中的一种fptus模型示意图;
46.图2为现有技术中的一种fptus模型训练过程示意图;
47.图3为本申请实施例公开的一种语音合成模型的训练方法流程图;
48.图4为本申请实施例公开的一种fptus模型训练过程示意图;
49.图5为本申请实施例公开的一种语音合成模型的训练装置结构框图。
具体实施方式
50.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
52.本发明公开了一种语音合成模型的训练方法及装置,应用于基于fputs的语音合成模型的训练过程中,现有技术中,fptus模型的训练过程中当输入文本较短时,由于输入文本的数据量少,在以字为单位划分音素时,输入文本包含的音素特征少,导致训练过程中,语音合成的精度低。为了解决上述问题,本发明提供了一种语音合成模型的训练方法,所述训练方法的执行流程如图3所示,包括步骤:
53.s101、对历史语音合成模型进行训练,得到多说话人模型;
54.本发明实施例中,语音合成是将文本合成语音的过程,所述历史语音合成模型(fptus模型)包括:历史编码器、历史解码器和历史对齐模块,所述解码器包括第一历史解码器和第二历史解码器;所述多说话人模型包括:第一说话人模型和第二说话人模型,对所述历史语音合成模型进行训练的过程与图2所示训练过程相同,第一步是训练对齐模块,获取训练数据中的历史说话人id和历史输入文本,其中,所述训练数据是预先给定的,所述训练数据包括历史说话人id和与该id对应的历史输入文本,所述历史说话人id是基于经验或者具体情况预先分配,基于所述历史说话人id,确定历史说话人矢量,基于所述历史说话人矢量,所述历史输入文本,所述历史编码器和所述历史第一解码器对所述历史对齐模块进行训练,得到第一说话人模型,其中,所述第一说话人模型中包括:历史目标对齐模块;第二步是训练说话人矢量,编码器和解码器,基于所述历史说话人矢量,所述历史输入文本,所述历史编码器、所述第二历史解码器和所述目标历史对齐模块进行训练,得到第二说话人模型。
55.s102、获取当前训练数据中的当前说话人id和当前输入文本,其中,所述当前输入文本的数据量少于所述多说话人模型在训练过程中历史输入文本的数据量,所述当前输入文本的音素以韵母为单位;
56.本发明实施例中,所述当前训练数据是预先给定的,所述当前训练数据包括当前说话人id和该id对应的当前输入文本,获取当前训练数据中的当前说话人id和当前输入文本,其中,所述当前说话人id可以基于经验或者具体情况进行设定,所述当前输入文本的数
据量所述多说话人模型在训练过程中历史输入文本的数据量,输所述当前输入文本是一系列音素,例如,所述当前输入文本为“yi xi lie yin su”,在所述历史语音合成模型的使用场景中,是以拼音为单位,此例中’yi’,’xi’,

lie’,

yin’,

su’为五个不同的音素单元,这种因素系统共有460个左右不同因素。对于高数量数据,自然可以使用这种音素系统,但对于低数量数据,可能无法覆盖完全,因此,本发明实施例中,修改音素系统为以声韵母为单位。上例变为’y i x i l ie y in s u’。这种音素系统下,只有80多个不同的音素,低数量数据仍然可以完全覆盖,但对模型训练的精度要求变大。
57.s103、基于所述多说话人模型、所述当前说话人id和所述当前输入文本对当前语音合成模型进行训练。
58.本发明实施例中,如图4所示,所述多说话人模型包括:第一说话人模型和第二说话人模型,所述第一说话人模型为如图2所示第一个训练步骤得到的说话人矢量,编码器,对齐模块,(简单)解码器,标记为多说话人矢量mul,1,编码器mul,1,对齐模块mul,1,(简单)解码器mul,1。所述第二说话人模型包括第二个训练步骤中得到的说话人矢量,编码器,对齐模块,(复杂)解码器,标记为多说话人矢量mul,2,编码器mul,2,对齐模块mul,2,(复杂)解码器mul,2。注意对齐模块mul,1和对齐模块mul,2是一样的。
59.说话人矢量决定合成音频的发音时长,语速及音调等特征。在编码器,对齐模块,解码器一样的情况下,不同的说话人矢量合成不同的声音。在多说话人模型中,假设共有n个说话人的数据参与了训练,那么共有n个不同的说话人矢量h
i
,i=1...n。
60.因此,首先需要确定所述当前输入文本的说话人矢量。为充分利用所述多说话人的模型,定义此说话人的说话人矢量为
61.l=∑p
i
×
h
i
ꢀꢀꢀꢀꢀ
(1)
62.其中,p
i
是可训练变量,l是多说话人矢量的线性组合。在图4中标为线型组合。
63.如图4(a)所示,说话人矢量为如图2所示所述多说话人模型第一训练步骤中的说话人矢量的线性组合。
64.多说话人模型中的编码器(当前编码器)部分,是对所述当前输入文本进行抽象的过程,此模块在训练中未接收到说话人矢量信息,在训练少数据量数据时,此部分直接从多说话人模型中取得,并保持固定。
65.对齐模块(当前对齐模块)和(简单)解码器(第一当前解码器)则使用图2所示多说话人模型中第一训练步骤中的对应部分作为初始值,但仍需要训练。这样可以加速收敛,并且使得最终精度提升。
66.如图4(b)所示,
67.第二训练步骤中的说话人矢量为图2所示所述多说话人模型第二训练步骤中的说话人矢量的线性组合。
68.多说话人模型中的编码器(当前编码器)部分,是对输入的文本进行抽象的过程,此模块在训练中未接收到说话人矢量信息,在训练少数据量数据时,此部分直接从多说话人模型中取得,并保持固定。
69.对齐模块使用图4(a)训练得到的对齐模块并保持固定。
70.(复杂)解码器(第二当前解码器)使用图2所示多说话人模型中第二训练步骤中的对应部分作为初始值,但仍需要训练
71.本发明实施例中一种语音合成模型的训练方法,包括:对历史语音合成模型进行训练,得到多说话人模型;获取当前训练数据中的当前说话人id和当前输入文本,其中,所述当前输入文本的数据量少于所述多说话人模型在训练过程中历史输入文本的数据量,所述当前输入文本的音素以韵母为单位;基于所述多说话人模型、所述当前说话人id和所述当前输入文本对当前语音合成模型进行训练。上述的训练过程中,在所述输入文本的音素数量少于所述多说话人模型在训练过程中历史输入文本的音素数量的前提下,基于多说话人模型、当前说话人id和当前输入文本对当前语音合成模型进行训练,由于多说话人模型已经预先经过训练可以提高训练过程中的准确度,进一步的,在输入文本数据量减少时,由于输入文本以韵母为单位,输入文本的音素数量不会减少,进一步保证了语音识别的精度,避免了现有技术中由于输入文本包含的因素音素特征少,导致语音合成的精度低的问题。
72.本发明实施例中,通过现有的成熟的基于fputs的合成算法结合特定的迁移算法,实现了数据成本降低到至多五分之一,并且可以保证合成质量基本不受影响。
73.基于上述的一种语音合成模型训练方法,本发明实施例中,提供了一种语音合成模型训练装置,所述训练装置的结构框图如图5所示,包括:
74.第一训练模块201、获取模块202和第二训练模块203。
75.其中,
76.所述第一训练模块201,用于对历史语音合成模型进行训练,得到多说话人模型;
77.所述获取模块202,用于获取当前训练数据中的当前说话人id和当前输入文本,其中,所述当前输入文本的数据量少于所述多说话人模型在训练过程中历史输入文本的数据量,所述当前输入文本的音素以韵母为单位;
78.所述第二训练模块203,用于基于所述多说话人模型、所述当前说话人id和所述当前输入文本对当前语音合成模型进行训练。
79.本发明实施例中一种语音合成模型的训练装置,包括:对历史语音合成模型进行训练,得到多说话人模型;获取当前训练数据中的当前说话人id和当前输入文本,其中,所述当前输入文本的数据量少于所述多说话人模型在训练过程中历史输入文本的数据量,所述当前输入文本的音素以韵母为单位;基于所述多说话人模型、所述当前说话人id和所述当前输入文本对当前语音合成模型进行训练。上述的训练过程中,在所述输入文本的音素数量少于所述多说话人模型在训练过程中历史输入文本的音素数量的前提下,基于多说话人模型、当前说话人id和当前输入文本对当前语音合成模型进行训练,由于多说话人模型已经预先经过训练可以提高训练过程中的准确度,进一步的,在输入文本数据量减少时,由于输入文本以韵母为单位,输入文本的音素数量不会减少,进一步保证了语音识别的精度,避免了现有技术中由于输入文本包含的因素音素特征少,导致训练过程中,语音合成的精度低的问题。
80.本发明实施例中,所述历史语音合成模型包括:历史编码器、历史解码器和历史对齐模块,所述解码器包括第一历史解码器和第二历史解码器;所述多说话人模型包括:第一说话人模型和第二说话人模型,所述第一训练模块201包括:
81.第一获取单元204、第一训练单元205和第二训练单元206。
82.其中,
83.所述第一获取单元204,用于获取训练数据中的历史说话人id和历史输入文本;
84.所述第一训练单元205,用于基于所述历史说话人id,确定历史说话人矢量,基于所述历史说话人矢量,所述历史输入文本,所述历史编码器和所述历史第一解码器对所述历史对齐模块进行训练,得到第一说话人模型,其中,所述第一说话人模型中包括:历史目标对齐模块;
85.所述第二训练单元206,用于基于所述历史说话人矢量,所述历史输入文本,所述历史编码器、所述第二历史解码器和所述目标历史对齐模块进行训练,得到第二说话人模型。
86.本发明实施例中,所述第一训练模块201还包括:
87.所述历史输入文本中的音素以字为单位。
88.本发明实施例中,所述当前语音合成模型包括:当前编码器、当前解码器和当前对齐模块,所述解码器包括第一当前解码器和第二当前解码器,所述第二训练模块203包括:
89.确定单元207、第三训练单元208和第四训练单元209。
90.其中,
91.所述确定单元207,用于对所述第一说话人模型和所述当前说话人id进行线性组合,确定第一说话人矢量;
92.所述第三训练单元208,用于采用所述第一说话人矢量,所述当前输入文本,所述当前编码器和所述第一当前解码器对所述当前对齐模块进行训练,得到目标当前对齐模块;
93.所述第四训练单元209,用于基于所述第二说话人模型和所述当前说话人id,确定第二说话人矢量,采用所述第二说话人矢量,所述当前输入文本,所述当前编码器、所述第二当前解码器和所述目标当前对齐模块训练所述第二说话人矢量、所述当前编码器和所述第二当前解码器。
94.本发明实施例中,所述第二训练模块203还包括:
95.第二获取单元210、第一赋值单元211和第二赋值单元212。
96.其中,
97.所述第二获取单元210,用于获取所述第一说话人模型中的第一历史解码器第一训练结果和所述第二说话人模型中第二历史解码器的第二训练结果;
98.所述第一赋值单元211,用于将所述第一训练结果赋给所述第一当前解码器作为初始值;
99.所述第二赋值单元212,用于将所述第二训练结果赋给所述第二当前解码器作为初始值。
100.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
101.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那
些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
102.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
103.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
104.以上对本发明所提供的一种语音合成模型的训练方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜