语音合成模型的训练及语音合成方法、装置和相关设备与流程



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是本发明一实施例中另一类计算机设备的一示意图。
具体实施方式
42.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.本技术提供的语音合成模型的训练及语音合成方法,可应用在如图1的应用环境中其中,该计算机设备可以通过网络与外部设备进行通信,该外部设备例如服务器。其中,该计算机设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。该服务器可以用独立的服务器或者是多个服务器组成的服务器集来实现。
44.在一实施例中,如图2所示,提供一种语音合成模型的训练方法,所述语音合成模型包括矢量量化层,所述矢量量化层包括码书,以该方法应用在图1中的服务器为例进行说明,包括如下步骤s101至s108:
45.s101、将训练样本中包括的同一说话人的音频数据分类为配对音频和无配对音频。
46.具体地,所述配对音频包含了音频数据件和所述音频数据对应的文本数据。所述无配对音频只包含了音频数据,并未包含对应的文本数据。在传统的语音合成技术中,无法利用所述无配对音频进行模型的训练。而在本实施例中,首先,利用所述配对数据对所述语音合成模型进行有监督学习方式的训练,完成第一阶段训练。然后,在所述第一阶段训练的结果基础上,利用所述无配对数据对所述语音合成模型进行无监督学习方式的训练,完成第二阶段训练。最后,在所述第一阶段训练和所述第二阶段训练的结果基础上,利用所述配对数据和所述无配对数据对所述语音合成模型进行半监督学习方式的训练,完成第三阶段训练。在所述第三阶段训练结束后,得到训练好的语音合成模型。
47.s102、通过编码器将所述配对音频转换成与每个音频数据分别对应的第一连续变量。
48.s103、抽取所述第一连续变量并将抽取的第一连续变量输入至所述矢量量化层进行矢量化处理,得到第一离散变量和第一音素向量,将所述第一音素向量添加至所述码书,通过所述解码器将所述第一离散变量转换成第一重构音频,计算所述第一重构音频与所述配对音频的第一损失。
49.其中,所述码书包含了同一说话人的音素标签和音素标签对应的音频向量,但所述码书仅限于同一说话人使用,即所述码书中的音频向量都源于同一说话人的语音数据,在所述语音合成模型训练结束后,使用所述语音合成模型进行语音合成的过程中使用所述码书,得到的合成语音是只包含该说话人的语音物理属性,所述语音物理属性包括声音的音高、音强、音长和音。
50.具体地,首先通过所述矢量量化层中预设的距离公式,将所述第一连续变量进行矢量量化处理,得到第一离散变量。然后通过所述矢量量化层中预设的查函数在所述码书中查询,获取所述第一离散变量中每个变量对应的第一音素标签集合。再通过所述矢量量化层中预设的归一化指数函数筛选所述第一音素标签集合,使得所述第一离散变量中每个变量对应唯一的音素标签。最后将所述第一离散变量中每个变量和所述每个变量对应的唯一音素标签逐一转换成所述第一音素向量,并将所述第一音素向量添加至所述码书。其中,需要特别说明的是,所述将所述第一音素向量添加至所述码书之前,还可以查询所述码书中是否已经存在相同的所述第一音素向量,若存在,则不执行添加的步骤。所述第一离散变量还被发送至预先设置的解码器,所述解码器将所述第一离散变量转换成第一重构音频。通过预设的损失函数计算所述第一重构音频与所述配对音频的第一损失。
51.其中,所述通过解码器将所述第一离散变量转换成第一重构音频之前还包括:先将所述第一离散变量中对应相同音素标签的变量进行合并操作,得到合并后的离散变量;再将所述合并后的离散变量替换所述第一离散变量,然后将所述第一离散变量发送至解码器。所述合并操作将所述第一离散变量所包含的数据量进一步压缩,使得在后续解码器处理所述第一离散变量的任务量进一步缩小,让所述语音合成模型的整个训练过程的效率进一步提高。
52.其中,在一个具体的实施例中,如图3所示,所述矢量量化层预设的距离公式为l2距离(euclidean distance,欧氏距离),所述距离公式还可以替换为l1距离(manhattan,曼
哈顿距离)。所述l2距离公式和所述l1距离公式能够将连续变量处理后得到离散变量,具体的处理方法和原理在此不再赘述。所述查询函数采用argmin函数,所述查询函数还可以替换为argmax函数,argmin函数和argmax函数的数学特性及用法在此不再赘述。所述归一化指数函数采用softmin函数,所述归一化指数函数还可以替换为softmax函数,softmin函数和softmax函数的数学特性及用法在此不再赘述。所述损失函数为平均绝对误差损失函数或均方误差损失函数,或所述平均绝对误差损失函数和所述均方误差损失函数的改进版本。
53.s104、判断所述第一损失是否达到最小,若否,则根据所述第一损失优化所述矢量量化层的参数,并循环所述抽取所述第一连续变量至所述判断所述第一损失是否达到最小之间的步骤,直至所述第一损失达到最小,完成第一阶段训练。
54.具体地,根据所述第一损失优化所述矢量量化层中所述距离公式中的参数。因为矢量量化是一种有损数据压缩技术,优化所述距离公式中的参数能够使得所述第一连续变量在被有损压缩为所述第一离散变量的过程中,最大程度保留音频数据的特征。同时,因为采用了矢量量化这一有损数据压缩技术,使得在所述语音合成模型的训练过程中,后续的数据处理任务量和任务难度减小,整体的语音合成模型的训练过程效率得到提升。其中,根据所述第一损失优化所述查询函数,使得再查询所述码书时,可以获得匹配度更高的音素标签。其中,根据所述第一损失优化所述归一化指数函数,使得再使用所述归一化指数函数进行筛选所述第一音素标签集合时,能够保留匹配度更高的音标签。
55.其中,使用所述配对数据对所述语音合成模型进行循环的第一阶段,利用了配对数据中包含的音频数据和所述音频数据对应的文本数据,不断完善所述语音合成模型中的矢量量化层的码本,以及调整所述矢量量化层的各项参数,建立了将所述无配对数据以无监督方式学习进行训练的技术基础。
56.s105、通过编码器将所述无配对音频转换成与每个音频数据分别对应的第二连续变量。
57.s106、将所述第二连续变量输入至所述矢量量化层进行矢量化处理,通过所述码书后得到包含伪音素标签的第二音素向量,将所述第二音素向量添加至所述码书,得到更新后的矢量量化层。
58.具体地,首先通过所述矢量量化层中预设的距离公式,将所述第二连续变量进行矢量化处理,得到第三离散变量。然后通过预设查函数在完成第一阶段训练的所述码书中查询,获取所述第三离散变量中每个变量对应的伪音素标签。需要特别说明的是,因为所述第三离散变量是由无配对数据转换而来,所以不能确定准确的标签,但是可以根据第一阶段训练结束后被丰富的码书获取较为接近的伪音素标签。最后通过预设的锐化函数,将所述每个伪音素标签对应的变量进一步锐化,得到锐化后的变量与伪音素标签的对应关系,将所述对应关系转换成第二音素向量。将所述第二音素向量添加至所述码书,进一步丰富所述码书的内容,完成第二阶段训练。
59.其中,所述锐化函数可以是softmax函数或softmin函数,softmin函数和softmax函数的数学特性及用法在此不再赘述。需要特别说明的是,由于无配对数据的不确定性,在第二阶段的训练过程中,会存在所述第三离散变量中某些变量在所述码书中无法匹配到伪音素标签的情况,因为所述查函数是在预设第一范围内查音素标签作为伪音素标签,
当出现无法匹配的情况时所述查函数输出的是预设第二范围内的音素标签,可以知道的是所述第二范围必定大于所述第一范围,最后需要根据所述第二范围内的音素标签的个数判断是否需要生成新的音素标签,即在所述第二范围内的音素标签少于第一预设数目时根据预先设置的音素标签生成方法生成新的音素标签,并将所述新的音素标签和所述新的音素标签对应的变量转换为第二音素向量,将所述第二音素向量添加到所述码书。而当所述第二范围内的音标签的个数大于或等于第一预设数目时,将当前变量当作训练中的噪声数据进行丢弃处理。
60.s107、将所述第一连续变量和所述第二连续变量输入至所述更新后的矢量量化层进行处理,得到第二离散变量,通过所述解码器将所述第二离散变量转换成第二重构音频,计算所述第二重构音频与所述配对音频或所述无配对音频的第二损失。
61.其中,在分别使用所述配对数据和所述无配对数据完成对所述语音合成模型的第一阶段训练和第二阶段训练之后,所述语音合成模型的码书已经进行了充分的丰富,此时需要将所述配对数据和所述无配对数据一起重新发送至所述语音合成模型进行半监督学习方式的训练,进而进一步优化所述语音合成模型中矢量量化层的各个参数。
62.具体地,与所述第一训练阶段和所述第二训练阶段相比,此时的第三训练阶段的训练过程中,所述配对数据和所述无配对数据被一系列处理后得到的第二离散变量,所述第二离散变量直接从所述码书查询到对应的音素标签集合,然后进行前述的音素合并操作,最后通过解码器将进行过音素合并操作后的所述第二离散变量转换成第二重构音频。通过所述预设的损伤函数计算所述第二重构音频与所述配对数据中的音频数据或所述无配对数据中的音频数据的第二损失。
63.其中,此时第三阶段训练的过程并未对所述语音合成模型中的码书进行增添操作,所以根据所述第二损失只优化所述矢量量化层中的预设的距离公式的参数和预设的查函数的参数。
64.s108、判断所述第二损失是否达到最小,若否,则根据所述第二损失优化所述更新后的矢量量化层的参数,循环所述将所述第一连续变量和所述第二连续变量输入至所述更新后的矢量量化层进行处理至所述判断所述第二损失是否达到最小之间的步骤,直至所述第二损失达到最小,得到训练好的语音合成模型。
65.本实施例提出的语音合成模型的训练方法,通过先将配对数据发送至所述语音合成模型进行有监督学习方式的训练,然后将无配对数据发送至所述语音合成模型进行无监督学习方式的训练,最后将所述配对数据和无配对数据一起发送至所述语音合成模型进行半监督学习方式的训练,不仅利用了传统技术无法使用的大量无配对数据,通过无配对数据更加丰富了所述语音合成模型中的码书的内容,使得最终得到的合成语音内容更加准确,还通过矢量量化和音素同步的方法将训练过程中的数据进一步压缩处理,大大提升了所述语音合成模型的训练的效率。
66.图4是本发明一实施例中根据上述语音合成模型的训练方法训练得到的语音合成模型进行语音合成的方法的一流程图,根据本发明另一实施例提出了根据上述语音合成模型的训练方法训练得到的语音合成模型进行语音合成的方法,如图4所示,该方法包括以下步骤s201至s203。
67.s201、通过音素识别工具识别输入的文本,得到待合成音素标签。
68.其中,所述音素识别工具是事先经过较大数据量训练好的识别工具,能够精准地将输入的文本转换成对应的音素标签集合。需要特别说明的是,所述待合成音素标签均可以在所述语音合成模型的码书中被查到。
69.s202、将所述待合成音素标签输入至所述语音合成模型,所述语音合成模型根据预先选择的码书查询到所述待合成音素标签对应的待合成隐向量。
70.其中,在进行语音合成处理之前,需要预先选择对应的码书,所述预先选择的码书是根据目标说话人的语音数据进行前述语音合成模型的训练的方法获得。选择不同的码书,最终获得的合成后语音的物理属性不同,即从听觉上是不同的目标说话人在讲话。
71.s203、将所述待合成隐向量输入至所述语音合成模型中的解码器,得到目标合成语音。
72.其中,需要特别说明的是,所述待合成隐向量并不是由连续变量转换而来,所以在使用所述语音合成模型进行语音合成的过程中,并不需要对所述待合成隐向量进行音素合并操作,进一步缩短了语音合成的步骤,提升了语音合成过程的效率。
73.在一实施例中,提供一种语音合成模型的训练装置100,所述语音合成模型包括矢量量化层,所述矢量量化层包括码书,该语音合成模型的训练装置100与上述实施例中语音合成模型的训练方法一一对应。如图5所示,该语音合成模型的训练装置100包括音频数据分类模块11、第一数据转换模块12、第一损失计算模块13、第一损失循环模块14、第二数据转换模块15、伪音素标签模块16、第二损失计算模块17和第二损失循环模块18。各功能模块详细说明如下:
74.音频数据分类模块11,用于将训练样本中包括的同一说话人的音频数据分类为配对音频和无配对音频;
75.第一数据转换模块12,用于通过编码器将所述配对音频转换成与每个音频数据分别对应的第一连续变量;
76.第一损失计算模块13,用于抽取所述第一连续变量并将抽取的第一连续变量输入至所述矢量量化层进行矢量化处理,得到第一离散变量和第一音素向量,将所述第一音素向量添加至所述码书,通过所述解码器将所述第一离散变量转换成第一重构音频,计算所述第一重构音频与所述配对音频的第一损失;
77.第一损失循环模块14,用于判断所述第一损失是否达到最小,若否,则根据所述第一损失优化所述矢量量化层的参数,并循环所述抽取所述第一连续变量至所述判断所述第一损失是否达到最小之间的步骤,直至所述第一损失达到最小,完成第一阶段训练;
78.第二数据转换模块15,用于通过编码器将所述无配对音频转换成与每个音频数据分别对应的第二连续变量;
79.伪音素标签模块16,用于将所述第二连续变量输入至所述矢量量化层进行矢量化处理,通过所述码书后得到包含伪音素标签的第二音素向量,将所述第二音素向量添加至所述码书,得到更新后的矢量量化层;
80.第二损失计算模块17,用于将所述第一连续变量和所述第二连续变量输入至所述更新后的矢量量化层进行处理,得到第二离散变量,通过所述解码器将所述第二离散变量转换成第二重构音频,计算所述第二重构音频与所述配对音频或所述无配对音频的第二损失;
81.第二损失循环模块18,用于判断所述第二损失是否达到最小,若否,则根据所述第二损失优化所述更新后的矢量量化层的参数,循环所述将所述第一连续变量和所述第二连续变量输入至所述更新后的矢量量化层进行处理至所述判断所述第二损失是否达到最小之间的步骤,直至所述第二损失达到最小,得到训练好的语音合成模型。
82.进一步地,所述第一损失计算模块13还包括:
83.第一离散变量计算子模块,用于通过预设距离公式,将所述第一连续变量进行矢量量化处理,得到第一离散变量;
84.第一音素标签集合子模块,用于通过预设查函数在所述码书中查询,获取所述第一离散变量中每个变量对应的第一音素标签集合;
85.归一化处理子模块,用于通过预设归一化指数函数筛选所述第一音素标签集合,使得所述第一离散变量中每个变量对应唯一的音素标签;
86.第一音素向量子模块,用于将所述第一离散变量中每个变量和所述每个变量对应的唯一音素标签逐一转换成所述第一音素向量,将所述第一音素向量添加至所述码书;
87.音素标签合并子模块,用于将所述第一离散变量中对应相同音素标签的变量进行合并操作,得到合并后的离散变量;
88.离散变量发送子模块,用于将所述合并后的离散变量替换所述第一离散变量,然后将所述第一离散变量发送至解码器。
89.进一步地,所述伪音素标签模块16还包括:
90.第三离散变量计算子模块,用于通过预设距离公式,将所述第二连续变量进行矢量化处理,得到第三离散变量;
91.伪音素标签子模块,用于通过预设查函数在完成第一阶段训练的所述码书中查询,获取所述第三离散变量中每个变量对应的伪音素标签;
92.第二音素向量子模块,用于通过预设的锐化函数,将所述每个伪音素标签对应的变量进一步锐化,得到锐化后的变量与伪音素标签的对应关系,将所述对应关系转换成第二音素向量。
93.关于语音合成模型的训练装置的具体限定可以参见上文中对于语音合成模型的训练方法的限定,在此不再赘述。上述语音合成模型的训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
94.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储语音合成模型的训练方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音合成模型的训练方法。
95.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构
图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种语音合成模型的训练方法。
96.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中语音合成模型的训练方法的步骤,例如图2所示的步骤s101至步骤s108及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中语音合成模型的训练装置的各模块/单元的功能,例如图5所示模块11至模块18的功能。为避免重复,这里不再赘述。
97.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中语音合成模型的训练方法的步骤,例如图2所示的步骤s101至步骤s108及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中语音合成模型的训练装置的各模块/单元的功能,例如图5所示模块11至模块18的功能。为避免重复,这里不再赘述。
98.图6是本发明一实施例中语音合成装置200的结构示意图,如图6所示,该根据上述语音合成模型的训练装置100提供的语音合成模型进行语音合成的装置200包括音素识别模块21、音素查询模块22、目标语音合成模块23。各功能模块详细说明如下:
99.音素识别模块21,用于通过音素识别工具识别输入的文本,得到待合成音素标签;
100.音素查询模块22,用于将所述待合成音素标签输入至所述语音合成模型,所述语音合成模型根据预先选择的码书查询到所述待合成音素标签对应的待合成隐向量;
101.目标语音合成模块23,用于将所述待合成隐向量输入至所述语音合成模型中的解码器,得到目标合成语音。
102.其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本技术中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
103.关于语音合成装置的具体限定可以参见上文中对于语音合成方法的限定,在此不再赘述。上述语音合成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
104.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算
机设备的数据库用于存储语音合成方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音合成方法。
105.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种语音合成方法。
106.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中语音合成方法的步骤,例如图4所示的步骤s201至步骤s203及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中语音合成装置的各模块/单元的功能,例如图6所示模块21至模块23的功能。为避免重复,这里不再赘述。
107.所述处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
108.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
109.所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
110.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中语音合成方法的步骤,例如图4所示的步骤s201至步骤s203及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中语音合成装置的各模块/单元的功能,例如图6所示模块21至模块23的功能。为避免重复,这里不再赘述。
111.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,
诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
112.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
113.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

技术特征:


1.一种语音合成模型的训练方法,其特征在于,所述语音合成模型包括编码器、矢量量化层、解码器,所述矢量量化层包括码书,所述方法包括:将训练样本中包括的同一说话人的音频数据分类为配对音频和无配对音频;通过编码器将所述配对音频转换成与每个音频数据分别对应的第一连续变量;抽取所述第一连续变量并将抽取的第一连续变量输入至所述矢量量化层进行矢量化处理,得到第一离散变量和第一音素向量,将所述第一音素向量添加至所述码书,通过所述解码器将所述第一离散变量转换成第一重构音频,计算所述第一重构音频与所述配对音频的第一损失;判断所述第一损失是否达到最小,若否,则根据所述第一损失优化所述矢量量化层的参数,并循环所述抽取所述第一连续变量至所述判断所述第一损失是否达到最小之间的步骤,直至所述第一损失达到最小,完成第一阶段训练;通过编码器将所述无配对音频转换成与每个音频数据分别对应的第二连续变量;将所述第二连续变量输入至所述矢量量化层进行矢量化处理,通过所述码书后得到包含伪音素标签的第二音素向量,将所述第二音素向量添加至所述码书,得到更新后的矢量量化层;将所述第一连续变量和所述第二连续变量输入至所述更新后的矢量量化层进行处理,得到第二离散变量,通过所述解码器将所述第二离散变量转换成第二重构音频,计算所述第二重构音频与所述配对音频或所述无配对音频的第二损失;判断所述第二损失是否达到最小,若否,则根据所述第二损失优化所述更新后的矢量量化层的参数,循环所述将所述第一连续变量和所述第二连续变量输入至所述更新后的矢量量化层进行处理至所述判断所述第二损失是否达到最小之间的步骤,直至所述第二损失达到最小,得到训练好的语音合成模型。2.根据权利要求1所述的语音合成模型的训练方法,其特征在于,所述将所述第一连续变量输入至所述矢量量化层进行矢量化处理,得到第一离散变量和第一音素向量包括:通过预设距离公式,将所述第一连续变量进行矢量量化处理,得到第一离散变量;通过预设查函数在所述码书中查询,获取所述第一离散变量中每个变量对应的第一音素标签集合;通过预设归一化指数函数筛选所述第一音素标签集合,使得所述第一离散变量中每个变量对应唯一的音素标签;将所述第一离散变量中每个变量和所述每个变量对应的唯一音素标签逐一转换成所述第一音素向量,将所述第一音素向量添加至所述码书。3.根据权利要求2所述的语音合成模型的训练方法,其特征在于,所述将所述第二连续变量输入至所述矢量量化层进行矢量化处理,通过所述码书后得到包含伪音素标签的第二音素向量还包括:通过所述预设距离公式,将所述第二连续变量进行矢量化处理,得到第三离散变量;通过所述预设查函数在完成第一阶段训练的所述码书中查询,获取所述第三离散变量中每个变量对应的伪音素标签;通过预设的锐化函数,将所述每个伪音素标签对应的变量进一步锐化,得到锐化后的变量与伪音素标签的对应关系,将所述对应关系转换成所述第二音素向量。
4.根据权利要求1所述的语音合成模型的训练方法,其特征在于,所述通过所述解码器将所述第一离散变量转换成第一重构音频之前还包括:将所述第一离散变量中对应相同音素标签的变量进行合并操作,得到合并后的离散变量;将所述合并后的离散变量替换所述第一离散变量,然后将替换后的第一离散变量发送至解码器。5.根据权利要求1所述的语音合成模型的训练方法,其特征在于,所述损失函数为平均绝对误差损失函数或均方误差损失函数。6.根据权利要求1至5任一项所述方法得到的语音合成模型进行语音合成的方法,其特征在于,包括:通过音素识别工具识别输入的文本,得到待合成音素标签;将所述待合成音素标签输入至所述语音合成模型,所述语音合成模型根据预先选择的码书查询到所述待合成音素标签对应的待合成隐向量;将所述待合成隐向量输入至所述语音合成模型中的解码器,得到目标合成语音。7.一种语音合成模型的训练装置,其特征在于,所述语音合成模型包括编码器、矢量量化层、解码器,所述矢量量化层包括码书,所述装置包括:音频数据分类模块,用于将训练样本中包括的同一说话人的音频数据分类为配对音频和无配对音频;第一数据转换模块,用于通过编码器将所述配对音频转换成与每个音频数据分别对应的第一连续变量;第一损失计算模块,用于抽取所述第一连续变量并将抽取的第一连续变量输入至所述矢量量化层进行矢量化处理,得到第一离散变量和第一音素向量,将所述第一音素向量添加至所述码书,通过所述解码器将所述第一离散变量转换成第一重构音频,计算所述第一重构音频与所述配对音频的第一损失;第一损失循环模块,用于判断所述第一损失是否达到最小,若否,则根据所述第一损失优化所述矢量量化层的参数,并循环所述抽取所述第一连续变量至所述判断所述第一损失是否达到最小之间的步骤,直至所述第一损失达到最小,完成第一阶段训练;第二数据转换模块,用于通过编码器将所述无配对音频转换成与每个音频数据分别对应的第二连续变量;伪音素标签模块,用于将所述第二连续变量输入至所述矢量量化层进行矢量化处理,通过所述码书后得到包含伪音素标签的第二音素向量,将所述第二音素向量添加至所述码书,得到更新后的矢量量化层;第二损失计算模块,用于将所述第一连续变量和所述第二连续变量输入至所述更新后的矢量量化层进行处理,得到第二离散变量,通过所述解码器将所述第二离散变量转换成第二重构音频,计算所述第二重构音频与所述配对音频或所述无配对音频的第二损失;第二损失循环模块,用于判断所述第二损失是否达到最小,若否,则根据所述第二损失优化所述更新后的矢量量化层的参数,循环所述将所述第一连续变量和所述第二连续变量输入至所述更新后的矢量量化层进行处理至所述判断所述第二损失是否达到最小之间的步骤,直至所述第二损失达到最小,得到训练好的语音合成模型。
8.根据权利要求7提供的语音合成模型进行语音合成的装置,其特征在于,包括:音素识别模块,用于通过音素识别工具识别输入的文本,得到待合成音素标签;音素查询模块,用于将所述待合成音素标签输入至所述语音合成模型,所述语音合成模型根据预先选择的码书查询到所述待合成音素标签对应的待合成隐向量;目标语音合成模块,用于将所述待合成隐向量输入至所述语音合成模型中的解码器,得到目标合成语音。9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述方法的步骤。

技术总结


本发明公开了一种语音合成模型的训练方法,应用于人工智能领域。本发明提供的语音合成模型包括矢量量化层,所述矢量量化层包括码书,本发明提供的方法包括:将待训练的音频数据分类为配对音频和无配对音频,并通过编码器将所述配对音频和无配对音频对应转换成第一连续变量和第二连续变量;对所述第一连续变量进行有监督学习方式的训练,根据得到的第一损失优化所述矢量量化层的参数;对所述第二连续变量进行无监督学习方式的训练,完善所述码书;将所述第一连续变量和所述第二连续变量发送至所述语音合成模型进行半监督学习方式的训练,根据得到的第二损失优化所述矢量量化层的参数,直至所述第二损失最小,得到训练完成的语音合成模型。的语音合成模型。的语音合成模型。


技术研发人员:

张旭龙 王健宗 程宁

受保护的技术使用者:

平安科技(深圳)有限公司

技术研发日:

2022.05.13

技术公布日:

2022/8/8

本文发布于:2024-09-24 03:20:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/22742.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   音素   变量   语音合成
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议