语音合成方法、装置、电子设备和可读存储介质与流程

文档序号:24879984发布日期:2021-04-30 12:58阅读:75来源:国知局
语音合成方法、装置、电子设备和可读存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种语音合成方法、装置、电子设备和可读存储介质。



背景技术:

目前,机器合成语音可以应用在各种场景,例如在线教育、视频配音以及解说等等,由于机器合成语音的存在,即节省了人力成本,也提升了趣味性。

然而,目前的机器合成语音过于生硬,导致机器合成语音相对于人声的相似度很低。



技术实现要素:

有鉴于此,本发明实施例提供一种语音合成方法、装置、电子设备和可读存储介质,以使得目标语音可以在播放过程中具有不同的停顿,进而使得目标语音更加贴近人类的说话方式,与人声具有较高的相似度。

第一方面,提供了一种语音合成方法,所述方法应用于电子设备,所述方法包括:

获取目标文本。

对所述目标文本进行向量化处理,确定所述目标文本中的至少一个组成成分对应的特征向量,所述组成成分为字或者词。

将各所述特征向量输入至预先训练的韵律分类模型进行处理,确定各所述特征向量对应的韵律标签,所述韵律标签用于标记所述特征向量对应文本发音后的停顿时长。

基于各所述韵律标签,合成所述目标文本对应的目标语音。

第二方面,提供了一种语音合成装置,所述装置应用于电子设备,所述装置包括:

第一获取模块,用于获取目标文本。

第一向量化模块,用于对所述目标文本进行向量化处理,确定所述目标文本中每个字或词所对应的特征向量。

韵律分类模块,用于将各所述特征向量输入至预先训练的韵律分类模型进行处理,确定各所述特征向量对应的韵律标签,所述韵律标签用于标记所述特征向量对应文本发音后的停顿时长。

合成模块,用于基于各所述韵律标签,合成所述目标文本对应的目标语音。

第三方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面所述的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面所述的方法。

通过本发明实施例,可以基于预先训练的韵律分类模型确定目标文本中每个组成成分的韵律标签,即目标文本中每个组成成分在发音之后的停顿时长,在语音合成的过程中,该韵律标签可以使得目标语音可以在播放过程中具有不同的停顿,进而使得目标语音更加贴近人类的说话方式,与人声具有较高的相似度。

附图说明

通过以下参照附图对本发明实施例的描述,本发明实施例的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1为本发明实施例提供的一种语音合成方法的流程图;

图2为本发明实施例提供的一种带有韵律标签的目标文本的示意图;

图3为本发明实施例提供的另一种带有韵律标签的目标文本的示意图;

图4为本发明实施例提供的另一种语音合成方法的流程图;

图5为本发明实施例提供的一种韵律分类模型的训练集的示意图;

图6为本发明实施例提供的一种训练韵律分类模型过程的示意图;

图7为本发明实施例提供的另一种语音合成方法的流程图;

图8为本发明实施例提供的一种确定目标语音过程的示意图;

图9为本发明实施例提供的另一种确定目标语音过程的示意图;

图10为本发明实施例提供的一种语音合成装置的结构示意图;

图11为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。

此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。

除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

目前,机器合成语音可以应用在各种场景,例如在线教育、视频配音以及解说等等,具体的,在线教育的场景中,在线教育平台可以构建虚拟人物,并为该虚拟人物配置机器合成语音,然后在线教育平台可以将配有机器合成语音的虚拟人物展示在学生端的显示界面,以实现机器点名等功能,即节省了人力成本,也提升了趣味性。

同样的,机器合成语音也可以应用于视频配音以及解说等功能,本发明实施例在此不做过多赘述。

但是,相关技术中,机器合成语音的发音过于生硬,导致机器合成语音听起来与真人说出的语音差别较大,进而还可能会降低使用者的用户体验。

为了使机器合成语音与真人的语音更加相近,本发明实施例提供一种语音合成方法,该方法可以应用于电子设备,其中,电子设备可以是智能手机、平板电脑或者个人计算机(personalcomputer,pc)等,电子设备也可以是单个服务器,也可以是以分布式方式配置的服务器集群,还可以是云服务器。

具体的,如图1所示,该语音合成方法可以包括如下步骤:

在步骤11,获取目标文本。

其中,目标文本可以是包括至少一个字或词的文本。

在步骤12,对目标文本进行向量化处理,确定目标文本中的至少一个组成成分对应的特征向量。

其中,组成成分可以为字或者词,需要说明的,在实际应用中,组成成分的划分粒度可以根据实际情况进行改变,例如短句“你需要去医院寻求医生的帮助”中,“你需要”可以作为该短句的一个组成成分,也可以将“你需要”中的“你”作为一个组成成分,将“需要”作为一个组成成分。

在一种可实施方式中,可以通过对目标文本中的每个组成成分(字或词)进行嵌入(embedding)处理,以确定每个组成成分对应的特征向量。

具体的,步骤12可以执行为:对目标文本进行分词处理,确定目标文本中的至少一个组成成分,以及基于预先训练的双向语言模型(bert,bidirectionalencoderrepresentationfromtransformers)对目标文本中的每个组成成分进行嵌入处理,确定每个组成成分所对应的特征向量。

其中,bert是一种基于转换器(transformer)结构而建立的模型,相较于卷积网络模型而言,其可以更准确的捕捉文本中的字或词的特征。

另外,embedding是深度学习中常用的特征提取手段,具体的,特征提取就是把高维原始数据(图像、文字等)映射到低维流形(manifold),使得高维原始数据被映射到低维流形之后变得可分离,这个映射的过程可以叫做embedding,例如wordembedding,就是把单词组成的句子映射到一个表征向量,而在本发明实施例中,embedding的对象是输入文本中的字。

例如,目标文本可以是“今天你吃过饭了吗”,当电子设备获取到该目标文本后,可以对该目标文本中的每个字或词进行embedding处理,以确定多个特征向量,其中包括“今天”、“你”、“吃过饭”和“了吗”分别对应的特征向量。

在步骤13,将各特征向量输入至预先训练的韵律分类模型进行处理,确定各特征向量对应的韵律标签。

其中,韵律标签用于标记特征向量对应文本发音后的停顿时长。

在人们正常说话的过程中,往往会通过长短不一的停顿以使得说出的话具有一定的韵律,例如在语句“今天天气真好,我们应该外出活动”中,“今天”、“天气”和“真好”是该语句前半句中的3个词语,这3个词语之间可以通过较短的停顿进行分隔,以使得整个短句具有良好的韵律。

针对“今天”、“天气”和“真好”中的任意一个词语时,由于每个词语都是一个连贯的发音过程,所以,每个词语中的各个字之间则无需添加任何停顿。

针对短句“今天天气真好”和“我们应该外出活动”,在一般情况下,通过标点符号相隔的短句之间可以设置较长的停顿,以使得整个文本具有较好的韵律。

结合人们正常说话的习惯,在本发明实施例中,为了使得机器合成的语音具有与人类语音相似的发音方式,可以通过添加韵律标签的方式使得电子设备在合成语音中添加对应的停顿。

进而,在本发明实施例中可以有多种韵律标签,每种韵律标签可以对应一个停顿时长,例如,在本发明实施例中有“0”、“#1”、“#2”、“#3”和“#4”5种韵律标签,“0”可以用于表征停顿时长为0或者最短,“#4”可以用于表征时间最长的停顿时长,而“#1”、“#2”和“#3”则可以用于表征在停顿时长最长和最短之间的各个停顿时长,本发明实施例对停顿时长的具体数值不做限定。

在一种可选的实施方式中,如图2所示,图2为本发明实施例提供的一种带有韵律标签的目标文本的示意图,该示意图包括:不带有韵律标签的文本21和带有韵律标签的文本22。

其中,文本21和文本22的文字内容相同,文本22与文本21相比,每个字或词之后均带有一个韵律标签,这些韵律标签可以使得电子设备在播放文本22时带有适当的停顿,进而使得电子设备播放的语音更加真实。

需要说明的,上述5种韵律标签是本发明实施例做出的举例,在实际应用中,若想要更多代表不同停顿时长的韵律标签,则可以继续添加新的韵律标签以达到使用需求,本发明实施例对此不作限定。

在另一种可选的实施方式中,如图3所示,图3为本发明实施例提供的另一种带有韵律标签的目标文本的示意图,该示意图包括:不带有韵律标签的文本31和带有韵律标签的文本32。

文本32与图2中的文本22均为带有韵律标签的文本,文本32与文本22相比,不同之处在于文本32中的每一个字后均带有一个韵律标签,具体的,在不需要停顿的字之后,可以通过韵律标签“0”进行填充(也即韵律标签“0”表征停顿时长为0)。

通过图3所示的韵律标签标注方式,在每个字之后均可以添加韵律标签,这样,就可以使得韵律标签的标注更加灵活,进而使得本发明实施例提供的语音合成方法的适用性更强。

在步骤14,基于各韵律标签,合成目标文本对应的目标语音。

通过本发明实施例,可以基于预先训练的韵律分类模型确定目标文本中每个组成成分的韵律标签,即目标文本中每个组成成分在发音之后的停顿时长,在语音合成的过程中,该韵律标签可以使得目标语音可以在播放过程中具有不同的停顿,进而使得目标语音更加贴近人类的说话方式,与人声具有较高的相似度。

在本发明实施例中,为了确保目标文本中每个组成成分均对应准确的韵律标签,所以,需要对韵律分类模型进行充分训练,具体的如图4所示,韵律分类模型可以通过迭代的方式进行训练,具体步骤如下:

在步骤41,确定当前训练集。

其中,当前训练集包括带有标点符号的训练样本和/或不带有标点符号的训练样本,以及各训练样本所对应的韵律标注。

在实际应用中,使用带有标点符号的训练样本可以更加快速的训练模型,而使用不带有标点符号的训练样本则可以使得模型的韵律分类更加准确(因为在实际应用中存在大量不带有标点符号的目标文本,所以若仅使用带有标点符号的训练样本进行训练,则会使得模型的韵律分类准确率较低)。

优选的,为了使得训练后的韵律分类模型具有较高的分类准确率,本发明实施例可以使用既包括带有标点符号的训练样本,也包括不带有标点符号的训练样本对韵律分类模型进行训练,也就是说,在一种优选的实施方式中,训练集可以包括按照预定样本比例配置的带有标点符号的训练样本和不带有标点符号的训练样本。

具体的,在训练开始阶段,步骤41可以执行为:获取初始训练集。

其中,初始训练集具有对应的预定样本比例,预定样本比例用于表征初始训练集中带有标点符号的训练样本和不带有标点符号的训练样本的比例。

例如,如图5所示,图5为本发明实施例提供的一种韵律分类模型的训练集的示意图,该示意图包括:训练集51、用于表征带有标点符号的训练样本a和用于表征不带有标点符号的训练样本b。

由图5可知,在训练集51中,训练样本a和训练样本b之间的比例为9:1,也就是说,在训练集51中,包括按照9:1配置的带有标点符号的训练样本和不带有标点符号的训练样本。

在本发明实施例中,由于训练集51中既包含带有标点符号的训练样本,也包含不带有标点符号的训练样本,因此,可以使得训练后的韵律分类模型具有较好的性能。

在步骤42,对当前训练集中的训练样本进行向量化处理,确定各训练样本对应的特征向量。

在步骤43,基于各训练样本对应的特征向量和各训练样本对应的韵律标注,训练韵律分类模型。

具体的,在训练的过程中,可以将各个训练样本的特征向量输入韵律分类模型中,然后,根据韵律分类模型的输出以及韵律标注,调整韵律分类模型的模型参数,以实现训练韵律分类模型。

在一种可选的实施方式中,通过训练集进行一次训练之后,可以对训练集中的预定比例进行调整(即调整带有标点符号的训练样本和不带有标点符号的训练样本的比例),然后,可以基于调整后的训练集继续训练韵律分类模型。

也就是说,在训练过程中,步骤41可以执行为:根据前一迭代过程中训练集对应的样本比例,确定当前训练集对应的样本比例,以及根据当前训练集的样本比例确定当前训练集。

具体的,如图6所示,图6为本发明实施例提供的一种训练韵律分类模型过程的示意图,该示意图包括:训练集611-614和韵律分类模型621-625。

其中,训练集611中的预定比例为9:1(带有标点符号的训练样本和不带有标点符号的训练样本的比例为9:1),训练集612中的预定比例为7:3,训练集613中的预定比例为5:5,训练集614中的预定比例为2:8。

在训练的过程中,首先通过训练集611对韵律分类模型621进行训练得到韵律分类模型622,然后,通过训练集612对韵律分类模型622进行训练得到韵律分类模型623,然后,通过训练集613对韵律分类模型623进行训练得到韵律分类模型624,然后,通过训练集614对韵律分类模型624进行训练得到韵律分类模型625。

在初始阶段,由于训练集中带有标点符号的训练样本的比例较大,因此,可以快速使得韵律分类模型具有一定的分类能力。

然后,随着训练过程的推移,训练集中的预定比例不断被调整,即带有标点符号的训练样本的比例越来越小,而不带有标点符号的训练样本的比例越来越大,因此,最终得到的韵律分类模型625可以对不带有标点符号的文本中的字或词进行准确的韵律分类。

需要说明的,在调整训练集中的预定比例时,可以通过添加/减少带有标点符号的训练样本实现,也可以通过添加/减少不带有标点符号的训练样本实现,也可以通过同时对带有标点符号的训练样本和不带有标点符号的训练样本进行调整实现,还可以直接获取预先配置好的训练集以进行训练集的替换,本发明实施例对此不做限定。

在步骤44,响应于当前训练集满足预定条件,结束迭代过程,获取训练完成的韵律分类模型。

其中,预定条件包括当前训练集对应的样本比例达到预定的比例阈值。

在本发明实施例中,通过包含带有标点符号的训练样本和/或不带有标点符号的训练样本的训练集,可以对韵律分类模型进行有效训练,使得训练后的韵律分类模型可以准确确定文本中的每个字或词所对应的韵律标签。

通过训练后的韵律分类模型,可以准确确定目标文本中每个字或词所对应的韵律标签,然后基于该韵律标签,可以进行语音合成处理,以确定目标语音,具体的,如图7所示,语音合成的过程可以包括如下步骤:

在步骤71,确定目标文本中至少一个组成成分的发音向量。

在一种可实施方式中,步骤71可以执行为:基于预先设置的文字和拼音的对应关系,确定输入文本中至少一个组成成分的拼音信息,以及对拼音信息进行向量化处理,确定拼音信息的发音向量。

具体的,在本发明实施例中,可以基于字典等工具预先设置文字和拼音的对应关系,当接收到输入文本后,可以针对输入文本中的每个字,确定每个字对应的拼音,然后针对每个字的拼音分别进行embedding处理,确定每个拼音的特征向量,然后将该特征向量作为对应字的发音向量。

例如,如图8所示,图8为本发明实施例提供的一种确定目标语音过程的示意图,该示意图包括:目标文本81、和拼音文本82。

在针对目标文本81“你今天吃过饭了吗”进行语音合成的过程中,本发明实施例可以先基于预先设定的对应关系,确定该目标文本81中每个字对应的拼音,得到拼音文本82,拼音文本82中的每个拼音对应为目标文本81中每个字的读音。

然后,本发明实施例可以针对拼音文本82中的每个拼音,确定每个拼音对应的带有韵律信息的发音向量。

通过本发明实施例,由于文字和拼音的对应关系是基于字典等工具进行建立的,所以,通过拼音确定的发音向量可以更准确的表征文字的读音,进而使得目标语音的发音更准确。

在步骤72,基于发音向量和韵律标签,合成目标文本对应的目标语音。

在一种可选的实施方式中,步骤72可以执行为:确定各发音向量对应的发音时长以及发音音调,以及基于发音向量、发音时长、发音音调和韵律标签,合成目标文本对应的目标语音。

其中,发音时长可以用于表征发音的持续时长,发音音调可以用于表征发音的音高。

在本发明实施例中,发音时长可以基于带有长度调节器(lengthregulator)的发音时长预测模型预测得到,其中,长度调节器可以用于解决音素和频谱图序列之间的长度不匹配问题,基于长度调节器,可以使得模型能够准确预测每个音素所对应的持续时长。

发音音调可以基于带有音高预测器(pitchpredictor)的发音音调预测模型预测得到,其中,音高预测器可以基于卷积网络的卷积运算以及全连接层确定每个发音向量所对应的音高。另外,若发音音调预测模型用于预测发音向量的方言音调,则该发音音调预测模型中的音高预测器所输出的音高为每个发音向量所对应的方言音高。

需要进一步举例说明的,如图9所示,图9为本发明实施例提供的一种确定目标语音过程的示意图,该示意图包括:目标文本91和目标语音92。

在本发明实施例中,当确定目标文本91后,可以针对目标文本91中的每个字或词进行embedding处理,以确定目标文本91中的每个字或词的发音向量和韵律标签。

进一步的,可以基于各发音向量确定每个发音向量(也即每个字或词)所对应的发音时长和发音音调。

最终,可以基于各发音向量、发音时长、发音音调和韵律标签进行语音合成,以确定目标语音。

在一种优选的实施方式中,上述发音音调可以是方言音调,方言音调用于表征方言发音的音高。在目标语音合成的过程中,将方言音调作为发音音调可以为目标语音附加方言独有的音高(也即方言独有的发音方式),使得目标语音具有更加贴近人类的说话方式。

通过本发明实施例,可以通过发音向量、韵律标签以及发音向量对应的发音时长,使得目标语音可以具有停顿、延长音等人类常用的说话形式,然后,还可以基于发音音调为合成语音附加音高,使得合成语音更加贴近人类的说话方式,最终,基于发音向量、韵律标签、发音时长以及发音音调确定的目标语音可以与人声具有较高的相似度。

基于相同的技术构思,本发明实施例还提供了一种语音合成装置,如图10所示,该装置包括:第一获取模块101、第一向量化模块102、韵律分类模块103和合成模块104。

第一获取模块101,用于获取目标文本。

第一向量化模块102,用于对目标文本进行向量化处理,确定目标文本中每个字或词所对应的特征向量。

韵律分类模块103,用于将各特征向量输入至预先训练的韵律分类模型进行处理,确定各特征向量对应的韵律标签,韵律标签用于标记特征向量对应文本发音后的停顿时长。

合成模块104,用于基于各韵律标签,合成目标文本对应的目标语音。

可选的,韵律分类模型基于如下模块迭代训练:

确定模块,用于确定当前训练集,当前训练集包括带有标点符号的训练样本和/或不带有标点符号的训练样本,以及各训练样本所对应的韵律标注。

第二向量化模块,用于对当前训练集中的训练样本进行向量化处理,确定各训练样本对应的特征向量。

训练模块,用于基于各训练样本对应的特征向量和各训练样本对应的韵律标注,训练韵律分类模型。

第二获取模块,用于响应于当前训练集满足预定条件,结束迭代过程,获取训练完成的韵律分类模型。

可选的,该确定模块,具体用于:

获取初始训练集,初始训练集具有对应的预定样本比例,预定样本比例用于表征初始训练集中带有标点符号的训练样本和不带有标点符号的训练样本的比例。

可选的,该确定模块,具体还用于:

根据前一迭代过程中训练集对应的样本比例,确定当前训练集对应的样本比例。

根据当前训练集的样本比例确定当前训练集。

可选的,预定条件包括当前训练集对应的样本比例达到预定的比例阈值。

可选的,第一向量化模块101,具体用于:

对目标文本进行分词处理,确定目标文本中的至少一个组成成分。

基于预先训练的双向语言模型bert对目标文本中的每个组成成分进行嵌入处理,确定每个组成成分所对应的特征向量。

可选的,合成模块104,具体用于:

确定目标文本中至少一个组成成分的发音向量。

基于发音向量和韵律标签,合成目标文本对应的目标语音。

可选的,合成模块104,具体还用于:

确定各发音向量对应的发音时长以及发音音调,发音时长用于表征发音的持续时长,发音音调用于表征发音的音高。

基于发音向量、发音时长、发音音调和韵律标签,合成目标文本对应的目标语音。

可选的,发音音调为方言音调,方言音调用于表征方言发音的音高。

通过本发明实施例,可以基于预先训练的韵律分类模型确定目标文本中每个组成成分的韵律标签,即目标文本中每个组成成分在发音之后的停顿时长,在语音合成的过程中,该韵律标签可以使得目标语音可以在播放过程中具有不同的停顿,进而使得目标语音更加贴近人类的说话方式,与人声具有较高的相似度。

图11是本发明实施例的电子设备的示意图。如图11所示,图11所示的电子设备为通用地址查询装置,其包括通用的计算机硬件结构,其至少包括处理器111和存储器112。处理器111和存储器112通过总线113连接。存储器112适于存储处理器111可执行的指令或程序。处理器111可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器111通过执行存储器112所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线113将上述多个组件连接在一起,同时将上述组件连接到显示控制器114和显示装置以及输入/输出(i/o)装置115。输入/输出(i/o)装置115可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置115通过输入/输出(i/o)控制器116与系统相连。

本领域的技术人员应明白,本发明的实施例可提供为方法、装置(设备)或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品。

本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。

这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。

也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。

本发明的另一实施例涉及一种非易失性存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指定相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1