首页> 中国专利> 一种可在线训练个性化音色库的语音合成方法和系统

一种可在线训练个性化音色库的语音合成方法和系统

摘要

本申请实施例提供了一种可在线训练个性化音色库的语音合成方法及系统。其中,该方法包括:使用至少两组语料训练预训练语音合成模型,每一组语料包括文本及其录制语音,每一组语料的录制语音具有一种音色,不同组语料中的录制语音的音色不同;使用目标发音人的语料基于预训练语音合成模型训练语音合成模型,目标发音人的语料包括目标发音人的至少一句文本及其录制语音;将语音合成模型部署在语音合成系统中,以使得语音合成系统用于根据输入的文本合成目标音色的语音,目标音色为目标发音人的音色。本申请的技术方案使用少量的目标发音人的语料,快速且准确地训练得到一个语音合成模型,通过该模型可以准确地合成出与目标发音人音色一致的语音。

著录项

  • 公开/公告号CN113035169A

    专利类型发明专利

  • 公开/公告日2021-06-25

    原文格式PDF

  • 申请/专利权人 北京帝派智能科技有限公司;

    申请/专利号CN202110271444.9

  • 发明设计人 牛歌;

    申请日2021-03-12

  • 分类号G10L13/02(20130101);G10L13/04(20130101);G10L13/08(20130101);

  • 代理机构11363 北京弘权知识产权代理有限公司;

  • 代理人郭放;许伟群

  • 地址 100080 北京市海淀区海淀大街34号8层820室

  • 入库时间 2023-06-19 11:35:49

说明书

技术领域

本申请涉及自然语言处理技术领域,尤其涉及一种可在线训练个性化音色库的语音合成方法和系统。

背景技术

基于语音合成技术,用户(人类)与机器(例如:机器人、手机、智能音箱等)可以实现语音对话等人机交互功能。当用户对机器说话时,机器会以预设的话术回复用户。一般来说,预设话术可以包括固定文本和变量文本。其中,固定文本指的是不会根据任何情况而发生变化的文本,变量文本指的是会根据特定情况而实时变化的文本。

在目前的人机交互场景中,固定文本会使用录音员录制好的语音,而变量文本会使用语音合成技术合成为与录音员录制好的语音具有相同音色的语音(以下简称同音色语音),然后再将录音员录制好的语音与同音色语音拼接在一起,得到回复给用户的语音内容。

目前,同音色语音主要通过语音合成模型来生成,但是目前的语音合成模型普遍存在训练成本高,因此存在偏差的问题。

发明内容

本申请实施例提供了一种可在线训练个性化音色库的语音合成方法和系统,能够使用少量的目标发音人的语料,快速且准确地训练得到一个语音合成模型,通过该语音合成模型可以准确地合成出与目标发音人音色一致的语音。

第一方面,本申请实施例提供了一种可在线训练个性化音色库的语音合成方法,包括:使用至少两组语料训练预训练语音合成模型,每一组语料包括文本及其录制语音,每一组语料的录制语音具有一种音色,不同组语料中的录制语音的音色不同;使用目标发音人的语料基于预训练语音合成模型训练语音合成模型,目标发音人的语料包括至少一句文本及由目标发音人发音录制的至少一句文本的语音;将语音合成模型部署在语音合成系统中,以使得语音合成系统用于根据输入的文本合成目标音色的语音,目标音色为目标发音人的音色;其中,预训练语音合成模型和语音合成模型具有相同的模型结构。

在一种实现方式中,语音合成模型从输入到输出依次包括:第一词嵌入层、编码器、重复编组层、解码器和后处理网络;第一词嵌入层、编码器、重复编组层、解码器和后处理网络依次耦合,以形成数据流;语音合成模型还包括发音单元嵌入层,发音单元嵌入层的输出耦合至数据流中。

在一种实现方式中,发音单元嵌入层的输出耦合至数据流中的方式包括以下任意一种或多种:发音单元嵌入层的输出耦合至编码器的输入;发音单元嵌入层的输出耦合至解码器的输入;发音单元嵌入层的输出耦合至处理网络的输入。

在一种实现方式中,使用至少两组语料训练预训练语音合成模型,包括:以至少两组语料中的文本作为第一词嵌入层的输入信号,以录制语音对应的频谱信号作为后处理网络输出的监督信号,训练预训练语音合成模型。

在一种实现方式中,使用至少两组语料训练预训练语音合成模型,还包括:以每一组语料对应的音色标识作为发音单元嵌入层的输入信号,不同组语料对应的音色标识不同;以及,预留至少一个音色标识作为目标发音人的音色标识。

在一种实现方式中,使用目标发音人的语料基于预训练语音合成模型训练语音合成模型,包括:以目标发音人的至少一句文本作为第一词嵌入层的输入信号,以目标发音人的音色标识作为发音单元嵌入层的输入信号,以目标发音人录制的语音作为后处理网络输出的监督信号,在所述预训练语音合成模型的基础上训练语音合成模型。

在一种实现方式中,还包括:使用目标发音人的语料训练语音合成模型时的迭代次数小于等于预设阈值。

在一种实现方式中,语音合成模型在训练中的连续两个迭代的验证数据上的模型损失未低于历次迭代的最低损失时,结束训练语音合成模型;验证数据包括目标发音人的语料中的至少一句文本。

在一种实现方式中,使用目标发音人的语料训练语音合成模型,还包括:固化或者冻结语音合成模型的部分参数,包括使部分参数在语音合成模型的训练过程中不被调整,也不进行梯度计算,部分参数不包括发音单元嵌入层的参数;和/或者,设置发音单元嵌入层的训练优先级大于语音合成模型的其他部分的优先级。

第二方面,本申请实施例提供了一种语音合成系统,包括:预训练模块,用于使用至少两组语料训练预训练语音合成模型,每一组语料包括文本及其录制语音,每一组语料的录制语音具有一种音色,不同组语料中的录制语音的音色不同;训练模块,用于使用目标发音人的语料基于预训练语音合成模型训练语音合成模型,目标发音人的语料包括至少一句文本及由目标发音人发音录制的至少一句文本的语音;部署模块,用于将语音合成模型部署在语音合成系统中,以使得语音合成系统用于根据输入的文本合成目标音色的语音,目标音色为目标发音人的音色;其中,预训练语音合成模型和语音合成模型具有相同的模型结构。

本申请实施例的技术方案,采用了预训练和训练两个阶段的训练方式,在训练阶段,只需要目标发音人的少量语料就可以训练语音合成模型,效率高、速度快,能够实现在线实时或准实时地完成目标发音人对应的语音合成模型的训练;另外,在预训练阶段,可以仅使用几个常见音色的少量语料预训练语音合成模型,对发音人的数量要求低,易于实施;另外,由于本申请实施例的语音合成模型在传统模型基础上增加了训练目标发音人对应的发音单元嵌入层,因此该模型能够更准确地学习目标发音人的音色特征,从而,该模型对目标发音人的音色还原效果更好;另外,由于预训练和训练两个阶段是相对独立进行的,因此本申请实施例可以在训练阶段自由选择不同的目标发音人的语料,从而得到不同目标发音人的语音合成模型,提高了语音合成模型的音色覆盖程度。

附图说明

图1是本申请实施例示出的语音合成模型的逻辑结构图;

图2是本申请实施例提供的可在线训练个性化音色库的语音合成方法的流程图;

图3是本申请实施例提供的语音合成系统的结构示意图;

图4是本申请实施例提供的语音合成系统的模块示意图。

具体实施方式

语音合成是指人工合成人类语音的技术。在计算机领域,语音合成可以通过软件程序和/或硬件组成的语音合成系统实现。语音合成系统一般以文本作为输入,输出文本对应的语音。通俗来说,语音合成系统可以实现让计算机像人类一样朗读文字。

基于语音合成技术,用户(人类)与机器(例如:机器人、手机、智能音箱等)可以实现语音对话等人机交互功能。当用户对机器说话时,机器会以预设的话术回复用户。一般来说,预设话术可以包括固定文本和变量文本。其中,固定文本指的是不会根据任何情况而发生变化的文本,变量文本指的是会根据特定情况而实时变化的文本,例如,变量文本可以是根据用户的个人信息而变化的文本,如姓名、性别、金额等,或者根据日期而变化的文本,如节假日信息等。进一步举例来说,在“您尾号为0081的信用卡”中,“您尾号为”“的信用卡”属于固定文本,“0081”则是与用户的银行卡号有关的变量文本。

在目前的人机交互场景中,固定文本会使用录音员录制好的语音,而变量文本会使用语音合成技术合成为与录音员录制好的语音音色相同的语音(以下简称同音色语音),然后再将录音员录制好的语音与同音色语音拼接在一起,得到回复给用户的语音内容。

目前,同音色语音例如可以通过以下两种方案合成:

方案一:首先采用特定的音色特征对固定文本进行录制,得到固定语音;然后根据该音色特征对变量文本进行语音合成,得到与固定语音具有相同音色特征的变量语音;最后将固定语音和变量语音拼接,得到具有该音色特征的语音。其中,这里采用的音色特征包括声音的基频、语速、音调以及符号间隔时长中的一项或几项。

方案一期望通过设定音色特征的方式来同时规约固定语音和变量语音的音色,使得两者的音色特征一致或者接近。然而,本领域技术人员应当理解的是:语音的音色是由多种因素决定的,不局限于基频、语速、音调以及符号间隔时长等,还包括波形、声压、频谱、声带的震动特性等,而基于基频、语速、音调以及符号间隔时长的音色特征主要代表的是录音员的发音风格或者习惯,并不是准确的音色,因此该方案并不能有效的获得与固定语音的音色一致或接近的语音。

方案二:首先训练一个超大发音人规模的通用语音合成系统模型,该系统模型除了接受文本作为输入之外,还以目标发音人的一小段语音片段或其频谱特征作为额外的输入,以提取该语音片段的声音特征,之后就可以通过该系统模型,完成目标音色(即目标发音人的音色)的语音合成。

方案二的缺点在于:需要事先准备一个超大发音人规模的语音合成系统模型,发音人的数量和音色覆盖种类决定了其适用程度和效果,如果想得到很好的效果和适用程度,就需要准备大量的发音人的语音作为语料,因此模型构建成本极高。另外,在使用阶段,该方案在合成的语音的音色和目标音色存在明显差异时无法弥补。

本申请实施例提供了一种语音合成方法,能够使用少量的目标发音人的录音,快速且准确地训练得到一个语音合成模型,通过该语音合成模型可以准确地合成出与目标音色一致的语音。

本申请实施例提供的语音合成模型是基于多层神经网络实现的。图1是该语音合成模型的逻辑结构图。其中,语音合成模型从输入到输出的数据流整体上从图1的下方向上方传递。具体来说,该语音合成模型从输入侧到输出侧依次包括第一词嵌入层embedding1、编码器encoder、重复编组层repeat、解码器decoder和后处理网络Postnet,其中,在上述各层网络中,前一层网络的输出与后一层网络的输入耦合。另外该语音合成模型还可以包括发音单元嵌入层embedding 2,发音单元嵌入层embedding 2的输出用于耦合至语音合成模型的数据流中,例如耦合至编码器encoder的输入、或者耦合至解码器decoder的输入、或者耦合至后处理网络Postnet的输入。具体耦合方式可以是将原有模块的输出与发音单元嵌入层embedding 2的输入进行向量拼接、向量直接相加(当维度相同时)或者神经网络可用的其他的耦合方式,本申请实施例对此不做限定。但需要注意的是,耦合后的向量维度需要满足其将要输入的神经网络层的输入维度要求。

下面结合图1示出的语音合成模型的逻辑结构,对本申请实施例提供的语音合成方法进行具体说明。

图2是本申请实施例提供的可在线训练个性化音色库的语音合成方法的流程图。在一个实施例中,该方法如图2所示可以包括以下步骤:

步骤S101,使用至少两组语料训练一个多音色的预训练语音合成模型,每一组语料包括文本和文本的录制语音,每一组语料的录制语音具有一种音色,不同组语料的录制语音的音色不同。

其中,根据用户在对话中常见的场景,当语料包括两组时,一组语料可以由男性发音人录制,即包含男性音色的录制语音,另一组语料可以由女性发音人录制,即包含女性音色的录制语音。

作为一种优选的实现方式,语料可以包括四组,其录制语音分别对应年轻女声、年轻男生、成熟女声、成熟男生四个音色。

在一些其他的实现方式中,语料还可以包括其他分组,例如对音色进一步划分成:甜美女声、高冷女声、和蔼女声等,本申请实施例对此不做限定。

作为一种优选的实现方式,每一组(每一种音色)语料的文本量可以在1000句以上。

基于上述语料,预训练语音合成模型在训练时可以以文本作为输入信号,以录制语音作为输出的监督信号。

示例地,在中文语境中,文本可以包括发音单元序列,发音单元序列可以由多个发音单元组成,每个文本发音单元对应一个汉字的发音,每个文本发音单元可以包括拼音文本和声调符号。

例如,wo3就是一个文本发音单元,其中,wo是拼音文本,3是声调符号。

例如:wo3 ai4 ni3则是一个文本发音单元序列,该文本发音单元序列包含3个文本发音单元分别为“wo3”“ai4”“ni3”,对应三个汉字发音分别为“我”“爱”“你”,因此该文本发音单元序列对应的录制语音为“我爱你”。

具体实现中,文本可以输入到预训练语音合成模型的第一词嵌入层embedding 1,录制语音对应的频谱信号与后处理网络Postnet的输出信号之间可以通过动态规划算法(Dynamic programming,DP)计算损失距离,作为模型训练的监督信号。

需要特别注意的是,在本申请实施例中,预训练语音合成模型的输入信号还可以包括每一组语料对应的音色标识(也可称作发音人标识speaker ID),音色标识具体可以输入到发音单元嵌入层embedding 2。例如,当存在四组语料、对应四种音色时,音色标识可以相应地包括1、2、3、4。另外,本申请实施例还可以为目标发音人预留至少一个额外的音色标识,例如5和/或6等。

作为一种优选的实现方式,本申请实施例优选预留一个额外的音色标识,如果有多个目标发音人,那么多个目标发音人可以共用这个额外的音色标识。

这里需要补充说明的是,在预训练语音合成模型阶段,虽然预训练语音合成模型支持语料对应的音色标识1~4和目标发音人的音色标识5,但是预训练语音合成模型仅能够预测音色标识1~4对应的合成结果,在该阶段,音色标识5对应的合成结果不可知。

步骤S102,使用目标发音人的语料基于所述预训练语音合成模型训练语音合成模型,目标发音人的语料包括至少一句文本以及由目标发音人的发音录制的上述至少一句文本对应的录制语音。

具体实现中,以目标发音人的至少一句文本作为第一词嵌入层的输入信号,以目标发音人的音色标识作为发音单元嵌入层的输入信号,以目标发音人的录制语音作为后处理网络输出的监督信号,对语音合成模型进行至少一轮训练迭代。其中,该训练目标具体可以是录制语音的语音特征,例如频谱特征等,本申请实施例对此不做具体限定。

本申请实施例在步骤S102中,可以对语音合成模型训练迭代次数进行限制,以提高语音合成方法的实时性。具体来说,为了兼顾实时性和训练效果,优选设置语音合成模型最大训练迭代次数为10次(也可以其他值,这里不做严格限定)。

在一些实现方式中,本申请实施例还可以对语音合成模型的训练设置提前结束策略。该策略可以通过配置一个提前结束训练的规则来实现,例如当在连续两个迭代的验证数据上的模型损失未低于历次迭代的最低损失时,提前结束训练。

这里需要补充说明的是,当设置了提前结束策略时,模型训练的总数据量不少于目标发音人的两句文本及其对应的录制语音,其中至少1句文本作为验证数据,其余文本作为训练数据。例如:当总数据量包括10句文本时,可以配置其中9句文本作为训练数据,另外1句文本作为验证数据;也可以配置其中8句文本作为训练数据,另外2句文本作为验证数据;以此类推,本申请实施例这里不做具体限定。

本申请实施例在步骤S102中,还可以对模型训练的总数据量进行限制,以提高语音合成方法的实时性,总的期望是使用较少量的目标发音人的文本和录制语音实现语音合成模型的快速训练。例如,可以限制目标发音人的文本总量不高于10句、50句、100句等,本申请实施例这里不做具体限定。

本申请实施例在步骤S102中,考虑到语音合成模型的复杂程度,以及实时性需求对模型训练时间的限制,可以采用一些策略来优化模型的收敛速度,这里可以采用的优化策略包括但与不限于:

1、固化或者冻结语音合成模型的部分参数,例如神经网络的层数、参数参量、模型精度和/或者损失函数值等,使这些参数在模型训练过程中不被调整,也不需要进行梯度计算。具体实现中,在执行固化或者冻结语音合成模型的部分参数时,应该至少保证发音单元嵌入层embedding 2的参数可以被训练调整,以使得语音合成模型学习目标发音人的音色特征。

2、如果除了发音单元嵌入层embedding 2的参数以外,还存在其他可以被训练调整的部分,则应该保证发音单元嵌入层embedding 2的训练优先级大于其他部分的优先级,以使得语音合成模型优先学习目标发音人的音色特征。其中,保证发音单元嵌入层embedding 2的训练优先级大于其他部分的优先级包括但不限于通过多种方法实现:

a、设置发音单元嵌入层embedding 2的学习率(learning rate)大于其他部分的学习率。作为优选的实现方式,为了突出发音单元嵌入层embedding 2的训练优先级,发音单元嵌入层embedding 2的学习率可以明显大于其他部分的学习率,例如设置发音单元嵌入层embedding 2的学习率为其他部分学习率的100倍等,本申请实施例对此不做限定。

b、设置在前N次迭代中,只训练发音单元嵌入层embedding 2的参数,在前N次迭代完成之后,再使得其他部分参数也可以得到训练。

可以理解的是,由于本申请实施例在步骤S102中使用了目标发音人的文本和录制语音训练语音合成模型,因此得到的训练之后的语音合成模型具备对输入的文本合成与目标音色同音色的语音的能力,可见训练之后的语音合成模型与目标发音人具有对应关系。为便于描述这种对应关系,可以为训练好的语音合成模型关联目标发音人的标识,例如x,那么关联有目标发音人标识x的语音合成模型可以表示为Mx,其中,x用于在语音合成系统中找到对应的Mx模型。

步骤S103,将语音合成模型部署在语音合成系统中,使得语音合成系统用于根据输入的文本合成目标音色的语音。

图3是本申请实施例提供的语音合成系统的结构示意图。如图3所示,该语音合成系统中可以部署至少一个本申请实施例提供的语音合成模型100。当语音合成系统中部署有一个语音合成模型100时,该语音合成系统具备针对文本合成一个目标音色的语音的能力;当语音合成系统中部署有多个语音合成模型时,上述多个语音合成模型可以是使用不同目标发音人的语料训练得到的语音合成模型,因此语音合成系统具备针对文本合成多个目标音色的语音的能力。其中,不同目标发音人的具有不同的标识,例如x、y、z,相应的语音合成模型可以表示成Mx、My、Mz等,并且不同目标发音人的音色不同。

另外,在语音合成系统中,每个语音合成模型可以是相对独立存在的,各个语音合成模型的参数相对隔离,可以由语音合成系统单独调用。

基于该语音合成系统,当需要合成某个目标发音人的语音时,可以将文本和这个目标发音人的标识传入到语音合成系统中;接下来,语音合成系统根据传入的标识确定要使用的目标语音合成模型,然后将文本和目标发音人的标识输入到目标语音合成模型中;接下来,目标语音合成模型执行语音合成过程,输出目标音色的语音;最后,该语音可以通过扬声器等播放设备向外播放,或者与目标发音人的其他预录制语音拼接后通过扬声器等播放设备向外播放。

这里需要补充说明的是,在一种实现方式中,当目标发音人的数量较多,导致语音合成系统中的语音合成模型数量过多时,或者,当对语音合成系统的语音的音色准确度要求较低或者目标发音人语料量较多时,也可以将多个目标发音人的参数配置在同一个语音合成模型中。具体实现中,可以在语音合成模型中预留多个目标发音人的标识,每个目标发音人对应一个标识,不同的目标发音人对应的标识不同;然后使用各个目标发音人的语料训练语音合成模型;这样,语音合成模型中就可以存在多个目标发音人对应的参数,使得语音合成模型具备合成多个目标音色的语音的能力。

本申请实施例提供的语音合成方法,使用至少两组语料预训练语音合成模型,每一组语料包括文本和文本的录制语音,每一组语料的录制语音具有一种音色,不同组语料的录制语音的音色不同;然后,使用目标发音人数据进一步训练语音合成模型,目标发音人数据包括目标发音人的至少一个文本和文本对应的录制语音;最后,将语音合成模型部署在任意语音合成系统中,使得语音合成系统用于根据文本和目标发音人的标识合成目标音色的语音。本申请实施例的技术方案,采用了预训练和训练两个阶段的训练方式,在训练阶段,只需要目标发音人的少量语料就可以训练语音合成模型,效率高、速度快,能够实现在线实时或准实时地完成目标发音人对应的语音合成模型的训练;另外,在预训练阶段,可以仅使用几个常见音色的少量语料预训练语音合成模型,对发音人的数量要求低,易于实施;另外,由于本申请实施例的语音合成模型在传统模型基础上增加了训练目标发音人对应的发音单元嵌入层,因此该模型能够更准确地学习目标发音人的音色特征,从而,该模型对目标发音人的音色还原效果更好;另外,由于预训练和训练两个阶段是相对独立进行的,因此本申请实施例可以在训练阶段自由选择不同的目标发音人的语料,从而得到不同目标发音人的语音合成模型,提高了语音合成模型的音色覆盖程度。

上述实施例对本申请提供的语音合成方法的各方案进行了介绍。可以理解的是,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件、软件或硬件和软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

图4是本申请实施例提供的一种语音合成系统的模块示意图。在一个实施例中,该系统通过软件模块实现相应的功能。如图4所示,该装置可以包括:

预训练模块201,用于使用至少两组语料训练预训练语音合成模型,每一组语料包括文本及其录制语音,每一组语料的录制语音具有一种音色,不同组语料中的录制语音的音色不同;

训练模块202,用于使用目标发音人的语料基于预训练语音合成模型训练语音合成模型,目标发音人的语料包括至少一句文本及由目标发音人发音录制的至少一句文本的语音;

部署模块203,用于将语音合成模型部署在语音合成系统中,以使得语音合成系统用于根据输入的文本合成目标音色的语音,目标音色为目标发音人的音色。

其中,预训练语音合成模型和语音合成模型具有相同的模型结构。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。

本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法。

本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于支持上述系统实现上述方面中所涉及的功能,例如,生成或处理上述方法中所涉及的信息。在一种可能的设计中,芯片系统还包括存储器,用于保存长连接系统必要的计算机指和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

以上的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围,凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号