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

语音合成方法、模型训练方法、设备及存储介质与流程

2022-04-06 19:10:50 来源:中国专利 TAG:


1.本技术涉及语音合成技术领域,尤其涉及一种语音合成方法、模型训练方法、设备及存储介质。


背景技术:

2.语音合成(speechsynthesis)又称文语转换(text-to-speech,tts),旨在实现将输入文本转换为流畅自然的输出语音,是实现智能人机语音交互的关键技术。
3.传统的语音合成技术中,构建一个特定说话人的语音合成模型,需要该特定说话人10-20h的录音数据,并且录音数据质量越好,合成语音的效果越好。随着应用场景的多样化,如手机助理、车载导航、亲人声音复刻等,每个应用场景都要求其代表性发言人大量的录音数据,难度大成本高。然而,现有基于少量训练数据建模得到的语音合成模型,很容易拟合噪声,且合成的语音机械感严重,不够流畅,与说话人的音色、韵律等说话风格也相差甚远。


技术实现要素:

4.本技术提供了一种语音合成方法、模型训练方法、设备及存储介质,旨在提升语音合成模型的泛化能力和鲁棒性,使得语音合成模型能够合成与特定说话人的说话风格更为契合的高质量自然流畅语音。
5.第一方面,本技术提供了一种语音合成方法,所述方法包括:
6.获取待合成文本,输入到训练好的目标语音合成模型,得到所述待合成文本对应的目标语音,其中,所述训练好的目标语音合成模型通过如下方法得到:
7.根据预训练集对预设的语音合成模型进行预训练,得到语音合成模型,其中,所述预训练集包括多个说话人的语音样本,所述语音合成模型包括时长预测网络;
8.确定目标应用场景对应的目标时长预测网络,并采用所述目标时长预测网络替换所述语音合成模型的时长预测网络,得到目标语音合成模型;
9.获取目标训练集,其中,所述目标训练集包括目标说话人的语音样本;
10.从所述预训练集中获取与所述目标说话人的同类说话人的语音样本,对所述同类说话人的语音样本进行mask加噪处理,得到加噪语音样本;
11.根据所述目标训练集和所述加噪语音样本对所述目标语音合成模型进行训练,得到所述训练好的目标语音合成模型。
12.第二方面,本技术提供了一种语音合成模型的训练方法,所述方法包括:
13.根据预训练集对预设的语音合成模型进行预训练,得到语音合成模型,其中,所述预训练集包括多个说话人的语音样本,所述语音合成模型包括时长预测网络;
14.确定目标应用场景对应的目标时长预测网络,并采用所述目标时长预测网络替换所述语音合成模型的时长预测网络,得到目标语音合成模型;
15.获取目标训练集,其中,所述目标训练集包括目标说话人的语音样本;
16.从所述预训练集中获取与所述目标说话人的同类说话人的语音样本,对所述同类说话人的语音样本进行mask加噪处理,得到加噪语音样本;
17.根据所述目标训练集和所述加噪语音样本对所述目标语音合成模型进行训练,得到训练好的目标语音合成模型。
18.第三方面,本技术还提供了一种计算机设备,所述计算机设备包括:
19.存储器和处理器;
20.其中,所述存储器与所述处理器连接,用于存储程序;
21.所述处理器用于通过运行所述存储器中存储的程序,实现如本技术实施例提供的任一项所述的语音合成方法的步骤,或者实现如本技术实施例提供的任一项所述的语音合成模型的训练方法的步骤。
22.第四方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如本技术实施例提供的任一项所述的语音合成方法的步骤,或者实现如本技术实施例提供的任一项所述的语音合成模型的训练方法的步骤。
23.本技术公开的语音合成方法、模型训练方法、设备及存储介质,该语音合成方法,获取待合成文本,输入到训练好的目标语音合成模型,得到待合成文本对应的目标语音,其中,训练好的目标语音合成模型通过如下方法得到:预训练阶段采用多个说话人的语音样本预训练得到语音合成模型,然后采用目标应用场景对应的目标时长预测网络替换掉语音合成模型中的时长预测网络,得到目标语音合成模型,从而在微调阶段采用目标说话人少量的语音样本以及目标说话人的同类说话人的加噪语音样本,对目标语音合成模型进行微调,得到训练好的目标语音合成模型。一方面,相比采用多个说话人的语音样本预训练得到的时长预测网络,目标应用场景对应的目标时长预测网络稳定性更高,在目标应用场景对应的目标时长预测网络上微调,使得训练好的目标语音合成模型能够预测与目标说话人的发音风格更为契合的音素时长,从而使得训练好的目标语音合成模型合成的语音的韵律,与目标说话人的真实语音更为接近,提升了合成的语音的自然度和流畅度;另一方面,目标说话人的同类说话人的加噪语音样本是对预训练阶段使用过的目标说话人的同类说话人的语音样本进行mask加噪处理得到的,在对目标语音合成模型进行微调时可以防止目标语音合成模型将历史信息“搬运”过来预测现在,有效降低训练好的目标语音合成模型过拟合,从而提升训练好的目标语音合成模型的泛化能力,使得训练好的目标语音合成模型对噪声场景也具有极高的鲁棒性,进而提高了合成的语音的质量。
24.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
25.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1a是本技术的实施例提供的一种现有fewshot技术构建个性化语音合成系统的示意图;
27.图1b是本技术的实施例提供的一种现有oneshot技术构建个性化语音合成系统的示意图;
28.图2是本技术的实施例提供的一种语音合成方法的步骤示意流程图;
29.图3是本技术的实施例提供的一种预设的语音合成模型的结构示意图;
30.图4是本技术的实施例提供的一种对目标说话人的同类说话人的语音样本进行mask加噪处理的示例图;
31.图5是本技术的实施例提供的一种将声学特征表征为图像的示例图;
32.图6是本技术的实施例提供的一种语音合成模型的训练方法的步骤示意流程图;
33.图7是本技术的实施例提供的一种计算机设备的示意框图。
34.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
具体实施方式
35.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
36.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
37.应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
38.应当理解,为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一图像集和第二图像集仅仅是为了区分不同的图像集,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
39.还应当进理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
40.目前基于少量训练数据获得的主流语音合成模型均基于序列到序列建模:1)其中带attention结构的模型如taco等,其模型使用基于内容(content-based)的注意力机制来实现输入文本特征序列与输出声学特征序列之间的对齐。此时的注意力权值基于查询(query)和键值(key)进行计算,没有任何单调性和局部信息的约束。这样导致合成语音时会出现重复发音、漏读、错误发音、无法结束等由于对齐错误带来的稳定性问题,尤其当合成训练集数据量过少时尤为明显。2)无attention结构的模型,由于时长预测模型和声学模型分开建模,导致合成的流畅性不够。
41.相关技术中,还采用fewshot技术和oneshot(又称zeroshot)技术构建个性化语音合成模型。如图1a所示,fewshot技术采用多人数据训练一个多说话人模型,再利用单人的
少量数据对模型进行微调,目的是想利用大量的多人数据指导模型学习,后面利用知识迁移进行单人微调,获得个性化的模型。然而,由于多种应用场景,录音数据中有不同的噪声,微调模型时,由于数据量少,模型很容易拟合噪声,导致个性化合成模型中带有不同的噪声。同时时长预测模型是一个统计模型,5-10min的训练数据很难统计出时长,导致个性化模型时长机械感严重。如图1b所示,oneshot通过音色提取网络(如声纹特征i-vector,d-vector等)对输入音频提取特征作为condition输入到多人模型中去,测试时只需要利用发音人的一句话提取声纹输入到多人模型中去即可获得个性化的模型。然而,oneshot方案由于没有微调模型,模型参数没有改变,存在两点问题:1)导致个性化模型音色不太像;2)个性化合成模型没有说话人的韵律信息。
42.为此,本技术提供一种语音合成方法、模型的训练方法、设备和存储介质。其中,该语音合成方法,基于预训练集预训练得到语音合成模型,采用目标应用场景对应的目标时长预测网络替换掉语音合成模型中的时长预测网络得到目标语音合成模型,再基于目标说话人的语音样本以及目标说话人的同类说话人的加噪语音样本,对目标语音合成模型进行微调,得到训练好的目标语音合成模型,最终利用训练好的目标语音合成模型合成目标说话人的待合成文本对应的目标语音。训练好的目标语音合成模型的泛化能力和鲁棒性得到了提升,在用于合成特定说话人的专属语音时,能够合成与特定说话人的说话风格更为契合的高质量自然流畅语音。
43.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
44.请参阅图2,图2是本技术实施例提供的一种语音合成方法,该方法可以应用计算机设备,具体可以应用于语音合成的计算机设备,比如包括gpu等。
45.如图2所示,该语音合成方法包括步骤s101至步骤s106。
46.s101、获取待合成文本,输入到训练好的目标语音合成模型,得到所述待合成文本对应的目标语音。
47.其中,训练好的目标语音合成模型为目标说话人专属的个性化语音合成模型。
48.获取待合成文本,将待合成文本输入到训练好的目标语音合成模型,即可得到目标语音合成模型输出的待合成文本对应的目标语音。可以理解的是,该目标语音与目标说话人的真实语音相差甚微。
49.训练好的目标语音合成模型通过以下方法得到:
50.s102、根据预训练集对预设的语音合成模型进行预训练,得到语音合成模型,其中,所述预训练集包括多个说话人的语音样本,所述语音合成模型包括时长预测网络。
51.训练得到训练好的目标语音合成模型,主要包括两个过程:一是基于预训练集中多个说话人的语音样本对预设的语音合成模型进行预训练,得到预训练语音合成模型;二是基于个性化训练集中目标说话人的少量语音样本对预训练语音合成模型再次进行个性化微调训练,得到训练好的目标语音合成模型。
52.需要说明的是,预设的语音合成模型,是多说话人语音合成模型。预训练集中的多个说话人的语音样本,不包括目标说话人的语音样本。
53.可以理解的是,根据预训练集对预设的语音合成模型进行预训练,得到语音合成模型之前,先建立预训练集,具体为:从预设语音库中获取多个说话人对应的第一音频数据
和所述第一音频数据的文本,以及所述第二音频数据和所述第二音频数据的文本,其中,所述第一音频数据的质量高于所述第二音频数据;根据所述第一音频数据和所述第一音频数据的文本,以及所述第二音频数据和所述第二音频数据的文本,建立预训练集。
54.为了快速建立预训练集,可以从预设语音库中采集有限的原始预训练数据,对原始预训练数据进行处理,从而建立预训练集。具体地,先从预设语音数据库中采集多个说话人对应的第一音频数据和第二音频数据,以及第一音频数据对应的文本和第二对应的文本,其中,第一音频数据的质量高于第二音频数据的质量。第一音频数据可以表征为音频的失真度低、强度高、频率高和/或信噪比高的高质量音频数据,第二音频数据可以表征为音频的失真度高、强度低、频率低和/或信噪比低的低质量音频数据。此外,每个说话人对应的第一音频数据和第二音频数据可以分别为一句话的音频文件,满足一定的语音时长,比如5min-10min。
55.之后,提取第一音频数据对应的声学特征,对第一音频数据标注clean标签,并确定第一音频数据的文本对应的音素时长,以及提取第二音频数据对应的声学特征,对第二音频数据标注noise标签,并确定第二音频数据的文本对应的音素时长。
56.考虑到从预设语音库中采集的原始预训练数据有限,需要进行数据扩充,因此基于所采集的第一音频数据扩展得到扩展音频数据。示例性的,对第一音频数据进行加噪处理,例如随机加5-25db的噪声,噪声场景覆盖多样。对扩展音频数据标注noise标签。
57.最终根据第一音频数据对应的声学特征和clean标签、第一音频数据的文本对应的音素时长,第二音频数据对应的声学特征和noise标签、第二音频数据的文本对应的音素时长,结合扩展音频数据对应的noise标签,建立预训练集。示例性的,建立预训练集的方式例如,所述预训练样本集是一个集合,集合里面的元素是一个个说话人的语音样本,即:
58.预训练集={说话人1的语音样本1,说话人2的语音样本2,...,说话人n的语音样本n,扩展语音样本x}
59.={(说话人1的音频数据的声学特征1,标注的标签1,音素时长1),(说话人2的音频数据的声学特征2,标注的标签2,音素时长2),...,(说话人n的音频数据的声学特征n,标注的标签n,音素时长n),(扩展音频数据的声学特征x,标注的标签x,音素时长x)}
60.={[(说话人1的第一音频数据的声学特征1’,标签clean1’,音素时长1’),(说话人1的第二音频数据的声学特征1”,标签noise1”,音素时长1”)],[(说话人2的第一音频数据的声学特征2’,标签clean2’,音素时长2’),(说话人2的第二音频数据的声学特征2”,标签noise2”,音素时长2”)],...,[(说话人n的第一音频数据的声学特征n’,标签cleann’,音素时长n’),(说话人n的第二音频数据的声学特征n”,标签noisen”,音素时长n”)],(扩展音频数据的声学特征x,标签noisex,音素时长x)}。
[0061]
也即,预训练集中多个说话人的语音样本包括多个说话人的音频数据的声学特征和标签,以及多个说话人的音频数据的文本对应的音素时长。其中,多个说话人的音频数据的声学特征和标签包括多个说话人的第一音频数据的声学特征和clean标签,以及第二音频数据的声学特征和noise标签,多个说话人的音频数据的文本对应的音素时长包括多个说话人的第一音频数据的文本对应的音素时长,以及第二音频数据的文本对应的音素时长。
[0062]
可以理解是,由于扩展音频数据是在第一音频数据的基础上加噪得到的,所以扩
展音频数据的声学特征与第一音频数据的相同,扩展音频数据的文本与第一音频数据的文本相同,从而扩展音频数据的文本对应的音素时长与第一音频数据的文本对应的音素时长相同。
[0063]
在一些实施例中,确定第一音频数据的文本对应的音素时长,具体是获取第一音频数据的文本对应的音素序列,将该音素序列与第一音频数据的文本强制对齐获取该音素序列中每个音素的音素时长。
[0064]
为了确定第一音频数据的文本对应的音素时长,对第一音频数据的文本进行前端处理,获取第一音频数据的文本对应的音素序列(也可称作发音序列);然后利用预先训练好的asr(automatic speech recognition)模型将第一音频数据的文本对应的音素序列与第一音频数据的文本强制对齐,获取第一音频数据的文本对应的音素序列中每个音素的音素时长。
[0065]
同样的,为了确定第二音频数据的文本对应的音素时长,对第二音频数据的文本进行前端处理,获取第二音频数据的文本对应的音素序列;然后利用预先训练好的asr模型将第二音频数据的文本对应的音素序列与第二音频数据的文本强制对齐,获取第二音频数据的文本对应的音素序列中每个音素的音素时长。
[0066]
其中,预先利用第一音频数据的文本和第一音频数据的文本对应的音素序列,以及第二音频数据的文本和第二音频数据的文本对应的音素序列,在开源语音识别工具kaldi训练asr模型,得到训练好的asr模型。
[0067]
在获得预训练集后,根据预训练集对预设的语音合成模型进行预训练,以生成预训练语音合成模型。
[0068]
请参阅图3,图3为预设的语音合成模型的结构示意图。预设的语音合成模型包括自回归无attention机制的序列到序列(sequence2sequence)网络、时长预测网络和方差预测网络。其中,自回归无attention机制的sequence2sequence网络作为声学模型,包括编码(encoder)端和解码(decoder)端,自回归的引入是为了让语音合成系统合成的音频更加顺畅自然;时长预测网络包括两层双向lstm((long short-term memory,长短期记忆)网络。对预设的语音合成模型预训练时有两个目标:一个是自回归无attention机制的sequence2sequence网络学习预测声学特征,一个是时长预测网络学习预测每个音素的持续时长。
[0069]
在一些实施例中,所述根据预训练集对预设的语音合成模型进行预训练,得到语音合成模型,具体为:根据预训练集对预设的语音合成模型的所述序列到序列网络和时长预测网络进行预训练,保存所述序列到序列网络和时长预测网络的参数,得到语音合成模型。
[0070]
根据预训练集对自回归无attention机制的sequence2sequence网络和时长预测网络同时进行预训练,保存自回归无attention机制的sequence2sequence网络和时长预测网络的参数,得到语音合成模型。
[0071]
在一些实施例中,所述根据预训练集对预设的语音合成模型的所述序列到序列网络和时长预测网络进行预训练,具体为:将所述预训练集中多个说话人的语音样本输入至预设的语音合成模型中,在所述序列到序列网络的编码端对所述声学特征和所述音素时长进行编码,得到声学特征编码向量和音素时长编码向量;在所述序列到序列网络的解码端
增加对噪声的嵌入操作得到噪声嵌入向量;以所述音素时长编码向量作为输入,所述音素时长作为预测目标,训练所述时长预测网络;基于所述声学特征编码向量、所述音素时长编码向量和所述噪声嵌入向量,以所述声学特征作为预测目标,训练所述序列到序列网络网络。
[0072]
将预训练集中多个说话人的语音样本输入至预设的语音合成模型,在编码端对多个说话人的语音样本中的声学特征和音素时长进行深度编码(encoding),得到编码端输出的声学特征编码向量和音素时长编码向量。以编码端输出的音素时长编码向量作为输入,多个说话人的语音样本中的音素时长作为预测目标,训练时长预测网络。
[0073]
值得说明的是,在解码端增加一个noise的embedding来吸收信道的噪声信息,让自回归无attention机制的sequence2sequence网络在输入的标签为clean标签时的目标是干净的声学特征;在输入的标签为noise标签时的目标是带噪的或者质量较低的声学特征,这样就可以通过noise标签和clean标签控制语音合成模型合成的语音是否干净。即,在解码端增加对噪声的嵌入操作,得到噪声嵌入向量。
[0074]
基于编码端输出的声学特征编码向量和音素时长编码向量,以及噪声嵌入向量,以多个说话人的语音样本中的声学特征作为预测目标,训练自回归无attention机制的sequence2sequence网络。
[0075]
在一些实施例中,该语音合成模型的训练方法还包括:在训练所述时长预测网络时,计算所述时长预测网络的第一损失函数;在训练所述序列到序列网络时,计算所述序列到序列网络的第二损失函数;根据所述第一损失函数和所述第二损失函数,计算所述预设的语音合成模型的损失函数,直至所述损失函数收敛,得到语音合成模型。
[0076]
在训练时长预测网络时,获取时长预测网络输出的预测音素时长,根据预测音素时长与预训练集中的实际音素时长构建时长预测网络的损失函数(定义为第一损失函数)。
[0077]
在训练自回归无attention机制的sequence2sequence网络时,获取自回归无attention机制的sequence2sequence网络输出的预测声学特征,根据预测声学特征与预训练集中的实际声学特征构建自回归无attention机制的sequence2sequence网络的损失函数(定义为第二损失函数)。
[0078]
在一些实施例中,所述在训练所述序列到序列网络时,计算所述序列到序列网络的第二损失函数,具体为:根据所述声学特征编码向量、所述音素时长编码向量和所述噪声嵌入向量获得融合预测向量;在所述序列到序列网络的解码端对所述融合预测向量进行自回归解码,以使所述序列到序列网络在所述标签为clean标签时学习预测clean声学特征、所述标签为noise标签时学习预测noise声学特征,计算所述序列到序列网络网络的第二损失函数。
[0079]
编码端输出的音素时长编码向量还作为方差预测模块的输入,将时长预测网络输出的预测音素时长与方差预测模块输出的方差进行均值方差归一化后,与编码端输出的声学特征编码向量一起进行高斯上采样,得到高斯上采样向量;还对时长预测网络输出的预测音素时长进行位置编码,得到位置编码向量。
[0080]
将位置编码向量、高斯上采样向量与噪声嵌入向量进行融合,得到融合预测向量,将融合预测向量输入至解码端进行自回归解码,自回归无attention机制的sequence2sequence网络将多个说话人的语音样本中的声学特征作为预测目标,在多个说
话人的语音样本中的标签为clean标签时学习预测clean声学特征、为noise标签时学习预测noise声学特征,从而获得预测声学特征,再根据预测声学特征与预训练集中的实际声学特征构建第二损失函数。
[0081]
进一步地,根据第一损失函数和第二损失函数,计算预设的语音合成模型的损失函数,直至损失函数收敛,得到预训练语音合成模型。具体地,语音合成模型的损失包括两部分,一部分是自回归无attention机制的sequence2sequence网络的损失,另一部分是时长预测网络的损失。语音合成模型的损失函数l如下:
[0082]
l=l
spec
λl
dur
[0083][0084][0085]
其中,l
spec
表示自回归无attention机制的sequence2sequence网络的损失函数,t表示声学特征的帧数、k表示声学特征的维度(声学特征的形状为t*k),y和y

表示两个预测声学特征,y
*
表示实际声学特征;
[0086]
l
dur
表示时长预测网络的损失函数,n表示音素个数,d表示预测音素时长,d
*
表示实际音素时长;
[0087]
λ表示超参,其数值可根据实际灵活进行设置,例如λ=1.0。
[0088]
也即,将自回归无attention机制的sequence2sequence网络的损失与时长预测网络的损失相加,即可得到语音合成模型的损失函数。通过迭代训练,直至语音合成模型的损失函数收敛,即可得到预训练语音合成模型。预训练语音合成模型中的自回归无attention机制的sequence2sequence网络用于预测文本的声学特征,时长预测网络用于预测文本的每个音素的时长。
[0089]
进一步地,在一些实施例中,还可以控制加噪的噪声类别或者程度,使用不同程度的噪声标签进行控制,这样预训练语音合成模型就可以控制合成的语音的干净程度。
[0090]
预训练完成得到预训练语音合成模型后,对预训练语音合成模型进行微调,也即对预训练语音合成模型进行个性化训练。
[0091]
步骤s103、确定目标应用场景对应的目标时长预测网络,并采用所述目标时长预测网络替换所述语音合成模的时长预测网络,得到目标语音合成模型。
[0092]
我们通过预先统计不同说话人的音素时长,发现不同说话人的音素时长存在共性,例如大家说“中华人民共和国”时,停顿和每个字的发音时间基本上差不多。而时长预测网络是一个统计模型,低资源场景下(训练数据较少)时长预测网络很难从几句话中统计时长信息,也就是说,由于预训练集中的语音样本数量不多,上述采用预训练集对预设的语音合成模型进行预训练时,所得到的时长预测网络的稳定性并不高。同时由于各种应用场景(比如客服场景、车载场景等)具有很多的训练数据可以统计出很好的时长预测模型来,因此,提出微调阶段不在预训练阶段所得到的时长预测网络上微调,而是在同领域音库级说话人对应的时长预测网络上微调(微调过程中剔除异常音素时长,例如去除音素时间少于30ms或者大于500ms,保障时长预测模型的稳定性)。
[0093]
具体地,在对预训练语音合成模型进行微调之前,先获取个性化应用场景(也就是目标说话人的目标应用场景)对应的时长预测网络(定义为目标时长预测网络),然后采用
目标应用场景对应的目标时长预测网络替换掉预训练时所得到的时长预测网络,将替换了时长预测网络的预训练语音合成模型定义为目标语音合成模型。
[0094]
可以理解的是,每种应用场景对应的时长预测网络是预先根据每种应用场景下的代表性发音人的大量语音样本训练得到的。示例性的,例如目标应用场景为客服场景,就采用客服场景音库级说话人对应的时长预测模型来替换预训练语音合成模型中的时长预测网络。
[0095]
在一些实施例中,所述确定目标应用场景对应的目标时长预测网络,具体为:从预设多种应用场景对应的时长预测网络中选取与所述时长预测网络余弦距离最近的时长预测网络,作为目标应用场景对应的目标时长预测网络;或从预设多种应用场景对应的时长预测网络中确定目标应用场景对应的目标时长预测网络。
[0096]
确定目标应用场景对应的目标时长预测网络的方式之一是,从预先训练好的多种应用场景对应的时长预测网络中选取与时长预测网络余弦距离最近的时长预测网络,作为目标应用场景对应的目标时长预测网络。具体地,提取预训练集中多个说话人的音频数据的声纹特征,还从每种应用场景的代表性发音人的语音样本中提取声纹特征,分别计算预训练集对应的声纹特征与每种应用场景代表性发音人的语音样本对应的声纹特征之间的余弦距离,将计算的各个余弦距离按照从大到小进行排序,余弦距离越小,说明预训练时所得到的时长预测网络与对应应用场景对应的时长预测网络之间的余弦距离越小,选取与时长预测网络余弦距离最近的时长预测网络,作为目标应用场景对应的目标时长预测网络。
[0097]
在一些实施例中,所述确定目标应用场景对应的目标时长预测网络,具体为:从预设多种应用场景对应的时长预测网络中匹配目标应用场景对应的时长预测网络,作为目标时长预测网络。
[0098]
确定目标应用场景对应的目标时长预测网络的方式之二是,明确目标应用场景,将个性化场景与多种应用场景进行匹配,直接从预先训练好的多种应用场景对应的时长预测网络中,匹配目标应用场景对应的时长预测网络,作为目标时长预测网络。
[0099]
步骤s104、建立目标训练集,其中,所述目标训练集包括目标说话人的语音样本。
[0100]
为了在目标语音合成模型的基础上微调得到个性化语音合成模型,需建立目标说话人对应的个性化训练集(定义为目标训练集),目标训练集包括目标说话人(用户)的语音样本,目标说话人的语音样本包括目标说话人的音频数据的声学特征和标签,以及目标说话人的音频数据对应的文本的音素时长。可以理解的是,目标说话人的语音样本是少量的,其中目标说话人的音频数据可以为目标说话人的一句话的音频文件,满足一定的语音时长,比如5-10min。
[0101]
步骤s105、从所述预训练集中挑选出所述目标说话人的同类说话人的语音样本,对所述同类说话人的语音样本进行mask加噪处理,得到加噪语音样本。
[0102]
其中,由于自回归无attention机制的sequence2sequence网络在训练时,其decoder端除了接受encoder端的输入外,还有历史信息的输入,但是声学特征是一个非常平滑且前后相关性非常大的特征,在训练数据较少时,自回归无attention机制的sequence2sequence网络非常容易学到将历史信息“搬运”过来预测现在,导致自回归无attention机制的sequence2sequence网络不从encoder中学习信息,自回归无attention机制的sequence2sequence网络容易过拟合(过拟合是指模型在训练集上准确率高,而在验证
集上准确率低)。因此创造性地将tf-mask加噪手段应用在微调当中,有效降低过拟合,其中,tf-mask加噪手段是指在时域和频域上进行掩膜加噪的手段。
[0103]
具体地,从预训练集中挑选出目标说话人的同类说话人的语音样本,目标说话人的同类说话人包括与目标说话人性别、年龄、说话风格和/或说话环境属于同一类别的说话人,目标说话人的同类说话人的语音样本也就是自回归模型微调时容易“搬运”的历史信息。对同类说话人的语音样本进行mask加噪处理,将mask加噪处理后的同类说话人的语音样本定义为加噪语音样本。
[0104]
在一些实施例中,所述对所述同类说话人的语音样本进行mask加噪处理,具体为:对所述同类说话人的语音样本中的声学特征在时域和频域上进行加噪。
[0105]
对同类说话人的语音样本进行mask加噪处理,也即对目标说话人的同类说话人的语音样本的声学特征在时域和频域上进行加噪,如图4所示。
[0106]
步骤s106、根据所述目标训练集和所述加噪语音样本对所述目标语音合成模型进行训练,得到所述训练好的目标语音合成模型。
[0107]
由此,根据目标训练集和加噪语音样本对目标语音合成模型进行微调,得到训练好的目标语音合成模型,训练好的目标语音合成模型为目标说话人对应的个性化语音合成模型。
[0108]
在一些实施例中,步骤s105具体为:将所述目标训练集中目标说话人的语音样本和所述加噪语音样本输入至所述目标语音合成模型进行训练,重新定义损失函数,直至所述重新定义的损失函数收敛,得到所述训练好的目标语音合成模型。
[0109]
在一些实施例中,所述重新定义损失函数,具体为:将所述序列到序列网络的第二损失函数重新定义为结构相似性ssim损失函数;根据所述ssim损失函数重新定义所述目标语音合成模型的损失函数。
[0110]
将目标训练集中目标说话人的语音样本和加噪语音样本输入至目标语音合成模型进行训练,其中,考虑到自回归无attention机制的sequence2sequence网络的损失函数实质是均方差mse损失函数,mse损失函数容易使模型偏向于平均水平(average),因此将自回归无attention机制的sequence2sequence网络的损失函数重新定义为ssim损失函数,ssim损失函数是结构相似性structural similarity的度量,公式如下:
[0111][0112]
其中,c1、c2表示常数;
[0113]
声学特征表征为t*d的图像,记为x,u
x
为x的均值;
[0114]
预测声学特征表征为t*d的另一张图像,记为y,uy为y的均值;
[0115]
σ
xy
为x与y的协方差矩阵,为x的方差,为y的方差。
[0116]
ssim比mse更能反映人类视觉系统对两幅图像相似性的判断。如图5所示,中间和右边的图像mse值相同,但是明显中间的图像噪点更多,ssim的值右边明显高于中间(ssim越高越好),因此我们在个性化微调时增加ssim loss,事实上在实际实验中也验证了增加这种loss会使频谱变的更亮更干净。
[0117]
随着自回归无attention机制的sequence2sequence网络的损失函数重新定义为
ssim损失函数,目标语音合成模型的损失函数也将定义为ssim损失函数与时长预测网络的损失函数之和,通过迭代训练至目标语音合成模型重新定义的损失函数收敛,即可生成个性化语音合成系统。
[0118]
由此,利用目标说话人的少量语音样本对目标语音合成模型进行微调,即可得到目标说话人专属的个性化语音合成模型。
[0119]
那么,将待合成文本输入到训练好的目标语音合成模型,通过目标时长预测网络预测目标音素时长,进而通过自回归无attention机制的sequence2sequence网络预测目标声学特征,最终根据目标音素时长和目标声学特征合成待合成文本对应的目标语音。由此,通过目标说话人专属的个性化语音合成模型,就可以合成目标说话人的任意待合成文本对应的个性化语音。
[0120]
上述各实施例提供的语音合成方法,获取待合成文本,输入到训练好的目标语音合成模型,得到待合成文本对应的目标语音,其中,训练好的目标语音合成模型通过如下方法得到:预训练阶段采用多个说话人少量的语音样本预训练得到语音合成模型,然后采用目标应用场景对应的目标时长预测网络替换掉语音合成模型中的时长预测网络,得到目标语音合成模型,从而在微调阶段采用目标说话人少量的语音样本以及目标说话人的同类说话人的加噪语音样本,对目标语音合成模型进行微调,得到训练好的目标语音合成模型。一方面,相比采用多个说话人的语音样本预训练得到的时长预测网络,目标应用场景对应的目标时长预测网络稳定性更高,在目标应用场景对应的目标时长预测网络上微调,使得训练好的目标语音合成模型能够预测与目标说话人的发音风格更为契合的音素时长,从而使得训练好的目标语音合成模型合成的语音的韵律,与目标说话人的真实语音更为接近,提升了合成的语音的自然度和流畅度;另一方面,目标说话人的同类说话人的加噪语音样本是对预训练阶段使用过的目标说话人的同类说话人的语音样本进行mask加噪处理得到的,在对目标语音合成模型进行微调时可以防止目标语音合成模型将历史信息“搬运”过来预测现在,有效降低训练好的目标语音合成模型过拟合,从而提升训练好的目标语音合成模型的泛化能力,使得训练好的目标语音合成模型对噪声场景也具有极高的鲁棒性,进而提高了合成的语音的质量。
[0121]
请参与图6,图6是本技术实施例提供的一种语音合成模型的训练方法,该方法可以应用计算机设备,具体可以应用于专用模型训练的计算机设备,比如包括gpu等。
[0122]
如图6所示,该语音合成模型的训练方法包括步骤s201至步骤s205。
[0123]
s201、根据预训练集对预设的语音合成模型进行预训练,得到语音合成模型,其中,所述预训练集包括多个说话人的语音样本,所述语音合成模型包括时长预测网络;
[0124]
s202、确定目标应用场景对应的目标时长预测网络,并采用所述目标时长预测网络替换所述语音合成模型的时长预测网络,得到目标语音合成模型;
[0125]
s203、获取目标训练集,其中,所述目标训练集包括目标说话人的语音样本;
[0126]
s204、从所述预训练集中获取与所述目标说话人的同类说话人的语音样本,对所述同类说话人的语音样本进行mask加噪处理,得到加噪语音样本;
[0127]
s205、根据所述目标训练集和所述加噪语音样本对所述目标语音合成模型进行训练,得到训练好的目标语音合成模型。
[0128]
该语音合成模型的训练方法,主要包括两个过程:一是基于预训练集中多个说话
人的语音样本对预设的语音合成模型进行预训练,得到预训练语音合成模型;二是基于个性化训练集中目标说话人的少量语音样本对预训练语音合成模型再次进行个性化微调训练,生成目标说话人专属的个性化语音合成模型。
[0129]
其中,具体的预训练过程和个性化微调训练过程请参阅上述实施例,此处不再赘述。
[0130]
该语音合成模型的训练方法,提升了语音合成模型的泛化能力和鲁棒性,使得训练好的目标语音合成模型能够合成与特定说话人的说话风格更为契合的高质量自然流畅语音。
[0131]
请参阅图7,图7是本技术实施例提供的一种计算机设备的示意性框图。如图7所示,该计算机设备700包括一个或多个处理器701和存储器702,处理器701和存储器702通过总线连接,该总线比如为i2c(inter-integrated circuit)总线。
[0132]
其中,一个或多个处理器701单独地或共同地工作,用于执行上述实施例提供的语音合成模型的训练方法或动作图像生成方法的步骤。
[0133]
具体地,处理器701可以是微控制单元(micro-controller unit,mcu)、中央处理单元(central processing unit,cpu)或数字信号处理器(digital signal processor,dsp)等。
[0134]
具体地,存储器702可以是flash芯片、只读存储器(rom,read-only memory)磁盘、光盘、u盘或移动硬盘等。
[0135]
其中,处理器701用于运行存储在存储器702中的计算机程序,并在执行所述计算机程序时实现上述实施例提供的语音合成方法或语音合成模型的训练方法的步骤。
[0136]
示例性的,处理器701用于运行存储在存储器702中的计算机程序,并在执行所述计算机程序时,实现如下步骤:
[0137]
获取待合成文本,输入到训练好的目标语音合成模型,得到所述待合成文本对应的目标语音,其中,所述训练好的目标语音合成模型通过如下方法得到:根据预训练集对预设的语音合成模型进行预训练,得到语音合成模型,其中,所述预训练集包括多个说话人的语音样本,所述语音合成模型包括时长预测网络;确定目标应用场景对应的目标时长预测网络,并采用所述目标时长预测网络替换所述语音合成模型的时长预测网络,得到目标语音合成模型;获取目标训练集,其中,所述目标训练集包括目标说话人的语音样本;从所述预训练集中获取与所述目标说话人的同类说话人的语音样本,对所述同类说话人的语音样本进行mask加噪处理,得到加噪语音样本;根据所述目标训练集和所述加噪语音样本对所述目标语音合成模型进行训练,得到所述训练好的目标语音合成模型。
[0138]
在一些实施例中,所述预设的语音合成模型包括序列到序列网络和时长预测网络;所述处理器在实现所述根据预训练集对预设的语音合成模型进行预训练,得到语音合成模型时,具体还实现如下步骤:
[0139]
根据预训练集对预设的语音合成模型的所述序列到序列网络和时长预测网络进行预训练,保存所述序列到序列网络和时长预测网络的参数,得到语音合成模型。
[0140]
在一些实施例中,所述多个说话人的语音样本包括所述多个说话人的音频数据的声学特征,以及所述多个说话人的音频数据的文本对应的音素时长;所述处理器在实现所述根据预训练集对预设的语音合成模型的所述序列到序列网络和时长预测网络进行预训
练时,具体还实现如下步骤:
[0141]
将所述预训练集中多个说话人的语音样本输入至预设的语音合成模型中,在所述序列到序列网络的编码端对所述声学特征和所述音素时长进行编码,得到声学特征编码向量和音素时长编码向量;在所述序列到序列网络的解码端增加对噪声的嵌入操作得到噪声嵌入向量;以所述音素时长编码向量作为输入,所述音素时长作为预测目标,训练所述时长预测网络;基于所述声学特征编码向量、所述音素时长编码向量和所述噪声嵌入向量,以所述声学特征作为预测目标,训练所述序列到序列网络网络。
[0142]
在一些实施例中,所述处理器执行所述计算机程序时,具体还实现如下步骤:
[0143]
在训练所述时长预测网络时,计算所述时长预测网络的第一损失函数;在训练所述序列到序列网络时,计算所述序列到序列网络的第二损失函数;根据所述第一损失函数和所述第二损失函数,计算所述预设的语音合成模型的损失函数,直至所述损失函数收敛,得到语音合成模型。
[0144]
在一些实施例中,所述多个说话人的语音样本包括所述多个说话人的音频数据对应的标签,所述标签包括clean标签和noise标签;所述处理器在实现所述在训练所述序列到序列网络时,计算所述序列到序列网络的第二损失函数时,具体还实现如下步骤:
[0145]
根据所述声学特征编码向量、所述音素时长编码向量和所述噪声嵌入向量获得融合预测向量;在所述序列到序列网络的解码端对所述融合预测向量进行自回归解码,以使所述序列到序列网络在所述标签为clean标签时学习预测clean声学特征、所述标签为noise标签时学习预测noise声学特征,计算所述序列到序列网络网络的第二损失函数。
[0146]
在一些实施例中,所述处理器在实现所述根据所述目标训练集和所述加噪语音样本对所述目标语音合成模型进行训练,得到所述训练好的目标语音合成模型时,具体还实现如下步骤:
[0147]
将所述目标训练集中目标说话人的语音样本和所述加噪语音样本输入至所述目标语音合成模型进行训练,重新定义损失函数,直至所述重新定义的损失函数收敛,得到训练好的目标语音合成模型。
[0148]
在一些实施例中,所述处理器在实现所述重新定义损失函数时,具体还实现如下步骤:
[0149]
将所述序列到序列网络的第二损失函数重新定义为结构相似性ssim损失函数;根据所述ssim损失函数重新定义所述目标语音合成模型的损失函数。
[0150]
在一些实施例中,所述处理器在实现所述根据预训练集对预设的语音合成模型进行预训练,得到语音合成模型之前,具体还实现如下步骤:
[0151]
从预设语音库中获取多个说话人对应的第一音频数据和所述第一音频数据的文本,以及所述第二音频数据和所述第二音频数据的文本,其中,所述第一音频数据的质量高于所述第二音频数据;
[0152]
根据所述第一音频数据和所述第一音频数据的文本,以及所述第二音频数据和所述第二音频数据的文本,建立预训练集。
[0153]
在一些实施例中,所述处理器在实现所述确定目标应用场景对应的目标时长预测网络,并采用所述目标时长预测网络替换所述语音合成模的时长预测网络,得到目标语音合成模型时,具体还实现如下步骤:
[0154]
从预设多种应用场景对应的时长预测网络中选取与所述时长预测网络余弦距离最近的时长预测网络,作为目标应用场景对应的目标时长预测网络;或从预设多种应用场景对应的时长预测网络中匹配目标应用场景对应的时长预测网络,作为目标时长预测网络。
[0155]
在一些实施例中,所述处理器在实现所述对所述同类说话人的语音样本进行mask加噪处理时,具体还实现如下步骤:
[0156]
对所述同类说话人的语音样本中的声学特征在时域和频域上进行加噪。
[0157]
示例性的,处理器701用于运行存储在存储器702中的计算机程序,并在执行所述计算机程序时,实现如下步骤:
[0158]
根据预训练集对预设的语音合成模型进行预训练,得到语音合成模型,其中,所述预训练集包括多个说话人的语音样本,所述语音合成模型包括时长预测网络;确定目标应用场景对应的目标时长预测网络,并采用所述目标时长预测网络替换所述语音合成模型的时长预测网络,得到目标语音合成模型;获取目标训练集,其中,所述目标训练集包括目标说话人的语音样本;从所述预训练集中获取与所述目标说话人的同类说话人的语音样本,对所述同类说话人的语音样本进行mask加噪处理,得到加噪语音样本;根据所述目标训练集和所述加噪语音样本对所述目标语音合成模型进行训练,得到训练好的目标语音合成模型。
[0159]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现上述实施例提供的语音合成方法或语音合成模型的训练方法的步骤。
[0160]
其中,所述计算机可读存储介质可以是前述任一实施例所述的计算机设备的内部存储单元,例如所述终端设备的硬盘或内存。所述计算机可读存储介质也可以是所述终端设备的外部存储设备,例如所述终端设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
[0161]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献