一种语音合成方法及装置与流程

文档序号:16436836发布日期:2018-12-28 20:33阅读:198来源:国知局
一种语音合成方法及装置与流程

本申请涉及语音合成技术领域,更具体的说,涉及一种语音合成方法及装置。

背景技术

随着人工智能技术的快速发展和普及,建立一个有讲话能力的口语系统是必须的技术关键,是使电脑具备类似于人的说话能力,实现更智能化的人机交互的重要研究方向。其中,语音合成是使智能设备输出语音的重要处理环节。

常用的语音合成处理方法是,在确定需要语音输出的文本内容后,对文本内容的声学特征进行处理,再以处理的声学特征进行语音合成,得到文本内容的发音。上述处理过程是基于文本标准发音的特征而进行处理,其语音合成结果是标准的机器语音,不会携带任何的感情色彩,这与真人发声的自然语言相差较大。



技术实现要素:

基于上述现有技术的缺陷和不足,本申请提出一种语音合成方法及装置,能够使合成的语音更接近真人发声。

一种语音合成方法,包括:

识别待处理的文本所包含的音素;

根据所述待处理文本所包含的各个音素所在的文本场景,将所述待处理文本分割成文本片段;

预测各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调;

根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行合并处理,得到与所述待处理文本对应的语音。

可选的,所述识别待处理的文本所包含的音素,包括:

利用经过训练的音素识别模型,识别待处理的文本所包含的音素。

可选的,预测文本片段中的各个音素的发音持续时间,包括:

预测文本片段中的相邻音素的交界点;

根据预测的各个相邻音素的交界点,确定所述文本片段中的各个音素的发音持续时间。

可选的,所述根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行合并处理,包括:

利用预设的wavenet音频合成模型,根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行音频合成处理,得到与所述待处理文本对应的语音;其中,所述预设的wavenet音频合成模型由人类朗读音源件训练得到。

一种语音合成装置,包括:

音素识别单元,用于识别待处理的文本所包含的音素;

文本分割单元,用于根据所述待处理文本所包含的各个音素所在的文本场景,将所述待处理文本分割成文本片段;

预测处理单元,用于预测各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调;

语音合成单元,用于根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行合并处理,得到与所述待处理文本对应的语音。

可选的,所述音素识别单元识别待处理的文本所包含的音素时,具体用于:

利用经过训练的音素识别模型,识别待处理的文本所包含的音素。

可选的,所述预测处理单元预测文本片段中的各个音素的发音持续时间时,具体用于:

预测文本片段中的相邻音素的交界点;

根据预测的各个相邻音素的交界点,确定所述文本片段中的各个音素的发音持续时间。

可选的,所述语音合成单元根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行合并处理时,具体用于:

利用预设的wavenet音频合成模型,根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行音频合成处理,得到与所述待处理文本对应的语音;其中,所述预设的wavenet音频合成模型由人类朗读音源件训练得到。

一种存储介质,所述存储介质上存储有程序,所述程序被处理器运行时实现如权利要求1-4中任一权利要求所述的语音合成方法。

一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行如权利要求1-4中任一权利要求所述的语音合成方法。

本申请提出的语音合成方法,在识别得到待处理文本所包含的各个音素后,还进一步预测各个音素的发音持续时间、发音频率、音调和语调,然后按照各个音素的发音持续时间、发音频率、音调和语调对待处理文本的各个音素进行合并处理得到语音音频。该语音中携带音调、语调信息,同时在对音素进行合并时,考虑了音素发音持续时间和发音频率,合成的语音包含了更过的自然语言信息,与真人发声更加接近。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本申请实施例提供的一种语音合成方法的应用场景示意图;

图2是本申请实施例提供的一种语音合成方法的流程示意图;

图3是本申请实施例提供的一种语音合成装置的结构示意图。

具体实施方式

本申请实施例提出一种语音合成方法,该方法适用于将文本内容合成语音的应用场景,采用本申请实施例技术方案,可以将文本内容合成更接近自然语言的,携带更多感情色彩,更加形象的语音。

示例性的,本申请实施例可应用于智能终端、个人计算机、系统服务器等硬件设备上。同时,本申请实施例技术方案也可以作为软件程序的功能而存在,即以软件程序形式运行于语音合成设备中。

参见图1所示,本申请实施例技术方案可以作为后台服务器1中的软件程序而存在,当该软件程序运行时,可以将智能终端2发送的文本内容合成为语音,并且将语音合成结果返回给智能终端2,使智能终端2可以以语音形式播放文本内容。上述的后台服务器1,可以是实体形式的处理器,也可以是设置于云端的云服务器等形式存在。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

参见图2所示,本申请实施例提出的语音合成方法,包括:

s201、识别待处理的文本所包含的音素;

具体的,上述待处理的文本,是指语音合成处理的源数据,具体是指用于合成语音的数据素材。例如,当图1中的智能终端2中有一段文本内容时,假设用户希望智能终端2以语音播报的方式输出这一段文本内容,则按照本申请实施例技术方案,智能终端2将这一段文本内容发送至后台服务器1,希望后台服务器1能够将这一段文本内容合成为语音然后返回给智能终端2播放,则此时,执行本申请实施例所提出的语音合成方法的主体,即上述的后台服务器1可以接收到智能终端2发送的待处理的文本。

上述音素,是语音中的最小的单位,依据音节里的发音动作来分析,一个动作构成一个音素。对于文本来说,不论是英文还是中文,在人们朗读发声时,都有相应的发声规定。例如对于中文来说,其发音由其标准的汉语拼音来决定,而对于英文来说,其发音尤其标准的音标来决定。对于中文的汉语拼音或者英文的音标来说,其构成都是由最小单位的音素构成,例如汉语拼音中的声母、韵母,英语音标中的元音、辅音等。

可以理解,当确定了语音合成的文本素材的音素后,就可以以这些音素为基础合成语音。

因此,本申请实施例设定,当获取到待处理的文本后,首先识别待处理的文本所包含的音素,以便后期以此为基础合成语音。

本申请实施例利用经过训练的音素识别模型,来识别上述待处理文本中所包含的音素。

上述音素识别模型,具体是由神经网络构建的,用于识别文本中包含的音素的模型。具体的,本申请实施例使用sequencetosequence(seq2seq)模型作为上述的音素识别模型,seq2seq是一类endtoend的算法框架,也就是从编码-解码框架实现,可以把任意文字,语音输入通过encoder编码将输入序列转化成一个固定长度的向量编码,decoder解码将之前生成的固定向量再转化成输出序列这个过程可以预测出音素。

为了使神经网络具备从文本中识别音素的能力,本申请首先对上述的音素识别模型进行训练。

在对上述音素识别模型进行训练时,将已标注音素的文本样本输入音素识别模型进行音素识别,然后通过将模型识别音素结果与标注的音素进行对比判断模型识别误差。根据上述音素识别模型的音素识别误差对音素识别模型的识别运算参数进行调整,然后再次利用参数调整后的音素识别模型进行音素识别,以及计算识别误差,根据识别误差对音素识别模型进行参数调整。重复执行上述训练过程,直到音素识别模型的识别误差小于设定的误差时,完成对上述音素识别模型的训练。

在完成对上述音素识别模型的训练后,将上述待处理的文本输入经过训练的音素识别模型,识别其中包含的音素。

s202、根据所述待处理文本所包含的各个音素所在的文本场景,将所述待处理文本分割成文本片段;

具体的,上述各个音素所在的文本场景,是在上述待处理文本中,包含音素的单个字或单词。当音素所在的字或单词不同时,其发音可能会发生不同,本申请实施例根据待处理文本所包含的各个音素所在的文本场景,即根据音素所在的单个字或单词,对上述待处理文本进行分割,将其分割成多个文本片段,每个文本片段包括一个单个的字或一个单词。

在本申请实施例中,利用分割模型实现对上述待处理文本的分割。上述分割模型是通过ctcloss(connectionisttemporalclassificationloss,连接时间分类丢失)模型训练得到的,它能够允许神经网络在任意一个时间段预测序列的标签。这样便可以通过预测序列标签的不同和预测序列的切换位置,从而实现对输入的文本的分割。

将上述待处理文本输入上述分割模型后,分割模型首先对音素所在的文本场景进行匹配,然后根据匹配的文本场景,对待处理文本进行分割,将其分割成单个的字或单词。

需要说明的是,本申请实施例在将上述待处理文本分割为多个单个的字或单词的同时,还记录分割得到的各个单个词或单词在待处理文本中的位置,以便于后期在合成语音时,能够准确定位音素的位置。

s203、预测各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调;

具体的,上述分割模型在对输入的待处理文本进行分割的过程中,在预测序列的切换位置时,可以预测出两个音素的发声交界点,以此确定单个音素的发音持续时间。

更进一步的,本申请实施例还对上述分割模型进行预测文本片段的发音频率、音调和语调的能力训练,在执行上述步骤s202,将待处理文本分割成文本片段后,继续利用上述经过训练的分割模型执行步骤ss203,预测得到各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调。

需要说明的是,本申请在训练上述分割模型的预测文本片段的发音频率、音调和语调的能力时,利用真实场景下的人声语音样本进行训练,这样训练得到的分割模型预测的发音频率、音调和语调都是符合真实人声发音的发音频率、音调和语调。

s204、根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行合并处理,得到与所述待处理文本对应的语音。

具体的,在预测得到待处理文本的各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调后,本申请实施例根据各个音素的发音持续时间、发音频率、音调和语调,将待处理文本包含的各个音素进行合并处理,得到完整的语音,该语音就是与上述待处理文本对应的语音,也就是上述待处理文本的音频表现内容。

需要说明的是,在对待处理文本所包含的各个音素进行合并时,要根据音素所在的文本片段在待处理文本中的位置,对各个音素进行有次序的合并,使合并后的音素顺序,完全符合其在待处理文本中的原始位置。

通过上述介绍可见,本申请实施例提出的语音合成方法,在识别得到待处理文本所包含的各个音素后,还进一步预测各个音素的发音持续时间、发音频率、音调和语调,然后按照各个音素的发音持续时间、发音频率、音调和语调对待处理文本的各个音素进行合并处理得到语音音频。该语音中携带音调、语调信息,同时在对音素进行合并时,考虑了音素发音持续时间和发音频率,合成的语音包含了更过的自然语言信息,与真人发声更加接近。

可选的,在本申请的另一个实施例中,公开了上述分割模型预测文本片段中的各个音素的发音持续时间的具体实现方式。

在本申请实施例中,预测文本片段中的各个音素的发音持续时间,包括:

预测文本片段中的相邻音素的交界点;

根据预测的各个相邻音素的交界点,确定所述文本片段中的各个音素的发音持续时间。

具体的,本申请实施例中的上述分割模型是通过ctcloss(connectionisttemporalclassificationloss,连接时间分类丢失)模型来训练的,它能够允许神经网络在任意一个时间段预测序列的标签。这样便可以通过预测序列标签的不同和预测序列的切换位置预测出两个音素发声的交界点。在预测得到文本中两个音素的交界点后,即可以利用音素的交界点对音素进行划分,从而对音素进行定位,具体为定位音素的起始位置和结束位置。音素的起始位置即与前一个音素的交界点,音素的结束位置即与后一个音素的交界点。在确定了音素的起始位置和结束位置后,就可以确定音素的长度,以音素的长度为基础,分割模型可以预测得到将上述文本片段合成为语音时,音素的发音持续时间。

可选的,在本申请的另一个实施例中还公开了,上述的根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行合并处理,包括:

利用预设的wavenet音频合成模型,根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行音频合成处理,得到与所述待处理文本对应的语音;其中,所述预设的wavenet音频合成模型由人类朗读音源件训练得到。

具体的,在根据各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调对待处理文本的各个音素进行合并处理时,本申请实施例利用wavenet音频合成模型来实现。

在本申请实施例中,对wavenet音频合成模型进行改进,使其只需要更少的参数并且比原始wavenet音频合成模型训练更快。本申请实施例利用真实的人类朗读音源件对wavenet音频合成模型进行训练,在训练时,输入序列是从人类扬声器记录的真实波形,在训练之后,我们对网络进行抽样可以生成合成话语,在采样期间的每一个步骤中,从网络计算的概率分布中抽取值,然后将该值反馈到输入中,并进行下一步骤的新预测。接下来我们把真实的语音剪辑作为标签来进行训练。

在完成上述训练过程后,将上述待处理文本包含的各个音素输入训练后的wavenet音频合成模型,同时输入各个音素的发音持续时间、发音频率、音调和语调信息,wavenet音频合成模型根据输入的各个音素的发音持续时间、发音频率、音调和语调信息,对输入的各个音素进行合并处理,得到合成的语音,该语音就是将上述待处理的文本合成为语音输出的结果,即与上述待处理文本对应的语音。

本申请实施例还公开了一种语音合成装置,参见图3所示,该装置包括:

音素识别单元100,用于识别待处理的文本所包含的音素;

文本分割单元110,用于根据所述待处理文本所包含的各个音素所在的文本场景,将所述待处理文本分割成文本片段;

预测处理单元120,用于预测各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调;

语音合成单元130,用于根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行合并处理,得到与所述待处理文本对应的语音。

其中,所述音素识别单元100识别待处理的文本所包含的音素时,具体用于:

利用经过训练的音素识别模型,识别待处理的文本所包含的音素。

所述预测处理单元120预测文本片段中的各个音素的发音持续时间时,具体用于:

预测文本片段中的相邻音素的交界点;

根据预测的各个相邻音素的交界点,确定所述文本片段中的各个音素的发音持续时间。

所述语音合成单元130根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行合并处理时,具体用于:

利用预设的wavenet音频合成模型,根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行音频合成处理,得到与所述待处理文本对应的语音;其中,所述预设的wavenet音频合成模型由人类朗读音源件训练得到。

具体的,上述各个语音合成装置的实施例中的各个单元的具体工作内容,可参见上述方法实施例的内容,此处不再赘述。

一种示例性的实现方式,所述语音合成装置包括处理器和存储器,上述音素识别单元、文本分割单元、预测处理单元和语音合成单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来进行接近人声的语音合成。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述语音合成方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述语音合成方法。

本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:

识别待处理的文本所包含的音素;

根据所述待处理文本所包含的各个音素所在的文本场景,将所述待处理文本分割成文本片段;

预测各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调;

根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行合并处理,得到与所述待处理文本对应的语音。

可选的,所述识别待处理的文本所包含的音素,包括:

利用经过训练的音素识别模型,识别待处理的文本所包含的音素。

可选的,预测文本片段中的各个音素的发音持续时间,包括:

预测文本片段中的相邻音素的交界点;

根据预测的各个相邻音素的交界点,确定所述文本片段中的各个音素的发音持续时间。

可选的,所述根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行合并处理,包括:

利用预设的wavenet音频合成模型,根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行音频合成处理,得到与所述待处理文本对应的语音;其中,所述预设的wavenet音频合成模型由人类朗读音源件训练得到。

本文中的设备可以是服务器、pc、pad、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:

识别待处理的文本所包含的音素;

根据所述待处理文本所包含的各个音素所在的文本场景,将所述待处理文本分割成文本片段;

预测各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调;

根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行合并处理,得到与所述待处理文本对应的语音。

可选的,所述识别待处理的文本所包含的音素,包括:

利用经过训练的音素识别模型,识别待处理的文本所包含的音素。

可选的,预测文本片段中的各个音素的发音持续时间,包括:

预测文本片段中的相邻音素的交界点;

根据预测的各个相邻音素的交界点,确定所述文本片段中的各个音素的发音持续时间。

可选的,所述根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行合并处理,包括:

利用预设的wavenet音频合成模型,根据所述各个文本片段中的各个音素的发音持续时间、发音频率、音调和语调,对所述待处理文本所包含的各个音素进行音频合成处理,得到与所述待处理文本对应的语音;其中,所述预设的wavenet音频合成模型由人类朗读音源件训练得到。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本申请各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。

本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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