HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

语音合成方法、装置、计算机设备和存储介质与流程

2021-01-28 13:01:04|234|起点商标网
语音合成方法、装置、计算机设备和存储介质与流程

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



背景技术:

智能语音交互(intelligentspeechinteraction),是基于语音识别、语音合成、自然语言理解等技术,赋予产品“能听、会说、懂你”式的智能人机交互体验。在智能语音交互场景中,传统的语音合成方法是通过人工预录音后进行拼接的方式实现语音的录制。

但是,通过人工预录音的方法中,人工录制录音在情感、语调、音量等方面很难做到前后统一,易导致拼接得到的语音在拼接点处有很明显的突兀感。

因此,传统的语音合成方法得到的语音存在难以在情感、语调和音量等方面均满足需求的问题。



技术实现要素:

基于此,有必要针对上述语音合成方法得到的语音存在难以在情感、语调和音量等方面均满足需求的技术问题,提供一种语音合成方法、装置、计算机设备和存储介质。

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

对待合成语音文本进行拆分,得到多个拆分后语音文本;

对所述拆分后语音文本进行分类,得到第一语音文本和第二语音文本;所述第一语音文本为包括有用户信息的语音文本;所述第二语音文本表示为未包括用户信息的语音文本;

获取所述第一语音文本对应的第一语音,以及,获取所述第二语音文本对应的第二语音;所述第一语音与所述第二语音的语音参数相对应;

将所述第一语音与所述第二语音进行拼接处理,得到所述待合成语音文本的合成语音。

在其中一个实施例中,在对待合成语音文本进行拆分之前,还包括:

获取语音通话对象的第一应答语音;

通过预先训练的语音识别模型对所述第一应答语音进行识别,得到所述第一应答语音的语音文本信息;

根据所述语音文本信息,确定针对所述第一应答语音的第二应答语音文本;

将所述第二应答语音文本中包括的目标信息替换为所述用户信息,得到所述待合成语音文本。

在其中一个实施例中,所述对待合成语音文本进行拆分,得到多个拆分后语音文本,包括:

获取所述待合成语音文本中的语音文本拆分位置;所述语音文本拆分位置根据所述待合成语音文本中的标点位置信息确定;

按照所述语音文本拆分位置,对所述待合成语音文本进行拆分,得到所述待合成语音文本的多个拆分后语音文本。

在其中一个实施例中,所述获取所述第一语音文本对应的第一语音,包括:

将所述第一语音文本与预设语音缓存中的预设语音的语音文本进行匹配;

若所述第一语音文本与预设语音缓存中的预设语音的语音文本匹配,则将与所述第一语音文本匹配的语音文本的语音,作为所述第一语音;

若所述第一语音文本与预设语音缓存中的预设语音的语音文本不匹配,则通过预先训练的语音合成模型对所述第一语音文本进行语音合成处理,得到所述第一语音;所述语音合成模型根据与所述第二语音的语音参数对应的语音样本训练得到。

在其中一个实施例中,所述获取所述第二语音文本对应的第二语音,包括:

将所述第二语音文本与预设语音缓存中的预设语音的语音文本进行匹配;

若所述第二语音文本与预设语音缓存中的预设语音的语音文本匹配,则将与所述第二语音文本匹配的语音文本的语音,作为所述第二语音。

在其中一个实施例中,在通过预先训练的语音合成模型对所述第一语音文本进行语音合成处理,得到所述第一语音之后,还包括:

将所述第一语音存储至所述语音缓存中;

当获取的下一个语音文本与所述第一语音的语音文本相同时,从所述语音缓存中获取所述第一语音,作为下一个语音文本对应的语音。

在其中一个实施例中,所述根据所述语音文本信息,确定针对所述第一应答语音的第二应答语音文本,包括:

根据所述语音文本信息,确定所述语音通话对象的意向信息;

根据所述意向信息,从预先构建的语音流程树对应的语音文本数据库中获取对应的应答语音文本,作为所述第二应答语音文本。

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

语音文本拆分模块,用于对待合成语音文本进行拆分,得到多个拆分后语音文本;

语音文本分类模块,用于对所述拆分后语音文本进行分类,得到第一语音文本和第二语音文本;所述第一语音文本为包括有用户信息的语音文本;所述第二语音文本表示为未包括用户信息的语音文本;

语音获取模块,用于获取所述第一语音文本对应的第一语音,以及,获取所述第二语音文本对应的第二语音;所述第一语音与所述第二语音的语音参数相对应;

语音拼接模块,用于将所述第一语音与所述第二语音进行拼接处理,得到所述待合成语音文本的合成语音。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

对待合成语音文本进行拆分,得到多个拆分后语音文本;

对所述拆分后语音文本进行分类,得到第一语音文本和第二语音文本;所述第一语音文本为包括有用户信息的语音文本;所述第二语音文本表示为未包括用户信息的语音文本;

获取所述第一语音文本对应的第一语音,以及,获取所述第二语音文本对应的第二语音;所述第一语音与所述第二语音的语音参数相对应;

将所述第一语音与所述第二语音进行拼接处理,得到所述待合成语音文本的合成语音。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

对待合成语音文本进行拆分,得到多个拆分后语音文本;

对所述拆分后语音文本进行分类,得到第一语音文本和第二语音文本;所述第一语音文本为包括有用户信息的语音文本;所述第二语音文本表示为未包括用户信息的语音文本;

获取所述第一语音文本对应的第一语音,以及,获取所述第二语音文本对应的第二语音;所述第一语音与所述第二语音的语音参数相对应;

将所述第一语音与所述第二语音进行拼接处理,得到所述待合成语音文本的合成语音。

上述语音合成方法、装置、计算机设备和存储介质,通过先对待合成语音文本进行拆分,得到多个拆分后语音文本,然后将拆分后语音文本划分为包括有用户信息的第一语音文本和未包括用户信息的第二语音文本,在分别获取第一语音文本对应的第一语音和第二语音文本对应的第二语音后,将第一语音与第二语音进行拼接处理,得到待合成语音文本的合成语音,采用该方法,在实现语音合成的基础上,通过第一语音与第二语音的语音参数相对应,使得拼接后得到的合成语音在语调、音量和音色上保持统一,实现了平滑拼接,极大地降低了拼接点处语音的突兀感。

附图说明

图1为一个实施例中语音合成方法的应用场景图;

图2为一个实施例中语音合成方法的流程示意图;

图3为一个实施例中待合成语音文本获取步骤的流程示意图;

图4为一个实施例中预合成话术库的自适应维护流程图;

图5为一个实施例实现语音合成的方案示意图;

图6为一个实施例预合成方案的流程示意图;

图7为一个实施例中语音合成装置的结构框图;

图8为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的语音合成方法,可以应用于如图1所示的应用环境中。其中,服务器104可设置于语音交互机器人106中,也可与语音交互机器人106通过网络进行通信。其中,语音通话对象102可与语音交互机器人106进行语音交互,其中,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在语音合成应用场景中,由服务器104对待合成语音文本进行拆分,得到多个拆分后语音文本;对拆分后语音文本进行分类,得到第一语音文本和第二语音文本;第一语音文本为包括有用户信息的语音文本;第二语音文本表示为未包括用户信息的语音文本;获取第一语音文本对应的第一语音,以及,获取第二语音文本对应的第二语音;第一语音与第二语音的语音参数相对应;将第一语音与第二语音进行拼接处理,得到待合成语音文本的合成语音,将合成语音发送给语音交互机器人106,使语音交互机器人采用该合成语音与语音通话对象102进行对话。

在一个实施例中,如图2所示,提供了一种语音合成方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:

步骤s202,对待合成语音文本进行拆分,得到多个拆分后语音文本。

其中,待合成语音文本表示服务器104从语音文本数据库中获取的,用于与语音通话对象进行语音对话的语音文本。

具体实现中,服务器104获取待合成语音文本后,可先确定待合成语音文本的拆分位置,按照拆分位置将待合成语音文本拆分为多个语音文本,得到多个拆分后语音文本。

例如,待合成语音文本为“这边是中国银行信用中心,您认识王先生吗?我们有重要业务要联系到他。”,则可以对该待合成语音文本进行拆分,得到“这边是中国银行信用中心,”、“您认识王先生吗?”和“我们有重要业务要联系到他。”三个拆分后语音文本。

步骤s204,对拆分后语音文本进行分类,得到第一语音文本和第二语音文本;第一语音文本为包括有用户信息的语音文本;第二语音文本表示为未包括用户信息的语音文本。

其中,第一语音文本包括有用户信息,例如,上述语音文本“您认识王先生吗?”中的王先生包括用户姓氏和性别,属于用户信息,则该语音文本为第一语音文本。

其中,第二语音文本未包括用户信息,例如,上述语音文本“我们有重要业务要联系到他。”中不含有用户信息,则该语音文本为第二语音文本。

其中,用户信息表示用户自身信息或与用户相关的信息,例如,用户姓名、年龄、交易金额、交易时间、还款时间或办理了某一业务等信息。

具体实现中,服务器104在得到拆分后语音文本后,便可按照语音文本是否含有用户信息的标准对拆分后语音文本进行分类,得到包括用户信息的第一语音文本和不包括用户信息的第二语音文本。

例如,对上述待合成语音文本为“这边是中国银行信用中心,您认识王先生吗?我们有重要业务要联系到他。”进行拆分后可得到第一语音文本“您认识王先生吗?”,第二语音文本“这边是中国银行信用中心,”和“我们有重要业务要联系到他。”

步骤s206,获取第一语音文本对应的第一语音,以及,获取第二语音文本对应的第二语音;第一语音与第二语音的语音参数相对应。

其中,语音参数表示声音的特征属性,包括音量、音调和音色等。

具体实现中,服务器104在得到第一语音文本和第二语音文本后,可将第一语音文本和第二语音文本分别与预设语音缓存中的预设语音的语音文本进行匹配,若语音缓存中存在有与第一语音文本和第二语音文本分别匹配的语音文本,则可从语音缓存中直接获取与第一语音文本相匹配的语音文本的语音,作为第一语音,以及获取与第二语音文本相匹配的语音文本的语音,作为第二语音。若语音缓存不存在与第一语音文本匹配的语音文本,则可在与语音通话对象的对话过程中,实时对不匹配的第一语音文本进行语音合成,得到第一语音。

步骤s208,将第一语音与第二语音进行拼接处理,得到待合成语音文本的合成语音。

具体实现中,服务器104在获取第一语音和第二语音后,便可对第一语音和第二语音进行拼接处理,由于第一语音和第二语音可能分别具有多个,因此,在进行拼接时,需按照设定的顺序进行第一语音和第二语音的拼接,最后得到待合成语音文本的合成语音。例如,上述对待合成语音文本进行拆分后得到的第一语音文本“您认识王先生吗?”和第二语音文本“这边是中国银行信用中心,”以及“我们有重要业务要联系到他。”,在进行拼接处理时,需按照“这边是中国银行信用中心,”-“您认识王先生吗?”-“我们有重要业务要联系到他。”的顺序进行拼接,从而得到待合成语音文本“这边是中国银行信用中心,您认识王先生吗?我们有重要业务要联系到他。”的合成语音。

上述语音合成方法中,通过先对待合成语音文本进行拆分,得到多个拆分后语音文本,然后将拆分后语音文本划分为包括有用户信息的第一语音文本和未包括用户信息的第二语音文本,在分别获取第一语音文本对应的第一语音和第二语音文本对应的第二语音后,将第一语音与第二语音进行拼接处理,得到待合成语音文本的合成语音,采用该方法,在实现语音合成的基础上,通过第一语音与第二语音的语音参数相对应,使得拼接后得到的合成语音在语调、音量和音色上保持统一,实现了平滑拼接,极大地降低了拼接点处语音的突兀感。

在一个实施例中,如图3所示,在上述步骤s202之前,还包括以下步骤:

步骤s302,获取语音通话对象的第一应答语音。

步骤s304,通过预先训练的语音识别模型对第一应答语音进行识别,得到第一应答语音的语音文本信息。

步骤s306,根据语音文本信息,确定针对第一应答语音的第二应答语音文本;

步骤s308,将第二应答语音文本中包括的目标信息替换为用户信息,得到待合成语音文本。

其中,第一应答语音可表示语音通话对象根据语音交互机器人播放的预设通话语音进行应答的应答语音。

其中,语音文本信息可表示将第一应答语音的语音内容转换为文本后得到的信息。

其中,目标信息表示第二应答语音文本中需要针对不同语音通话对象进行修改或替换的文本信息。例如,对于第二应答语音文本“请问您是[username]本人吗?”中的[username]即为该语音文本中的目标信息。

具体实现中,服务器104在获取语音通话对象的第一应答语音后,可先通过预先训练得到的语音识别模型将第一应答语音转换为文本,得到第一应答语音的语音文本信息,根据语音文本信息确定语音通话对象的意图信息,根据意图信息确定针对第一应答语音的第二应答语音文本,进一步确定第二应答语音文本中需替换的目标信息,用语音通话对象的信息(即用户信息)替换第二应答语音文本中的目标信息,得到待合成语音文本。

例如,若获取的第二应答语音文本为“请问您是[username]先生本人吗?”,用语音通话对象的信息替换目标信息[username],可得到“请问您是王先生本人吗?”的语音文本,作为待合成语音文本。

本实施例中,通过对语音通话对象的第一应答语音进行识别,得到第一应答语音的语音文本信息,根据语音文本信息确定了针对第一应答语音的第二应答语音文本,并通过用语音通话对象的用户信息替换第二应答语音文本中的目标信息,得到针对语音通话对象的待合成语音文本,以便于进一步对待合成语音文本进行拆分、合成和拼接,最后得到合成语音,从而实现与语音通话对象的智能交互。

在一个实施例中,上述步骤s202具体包括:获取待合成语音文本中的语音文本拆分位置;语音文本拆分位置根据待合成语音文本中的标点位置信息确定;按照语音文本拆分位置,对待合成语音文本进行拆分,得到待合成语音文本的多个拆分后语音文本。

其中,语音文本拆分位置表示将待合成语音文本拆分为多个语音文本的位置,待合成语音文本可以有一个或多个语音文本拆分位置。

具体实现中,服务器104在获取待合成语音文本后,可根据待合成语音文本中的标点位置信息确定一个或多个拆分位置,作为待合成语音文本的语音文本拆分位置,按照确定的语音文本拆分位置对待合成语音文本进行拆分,得到待合成语音文本的多个拆分后语音文本。例如,对于待合成语音文本“这边是中国银行信用中心,您认识王先生吗?我们有重要业务要联系到他。”,按照标点位置信息来对该待合成语音文本中进行拆分,则可得到三个拆分后语音文本“您认识王先生吗?”,“这边是中国银行信用中心,”和“我们有重要业务要联系到他。”。

可以理解的是,在确定语音文本拆分位置时,可将每个标点位置均作为语音文本拆分位置,使得每个拆分后语音文本仅包括一个标点信息,也可每隔一个或多个标点位置,确定一个语音文本拆分位置,使得每个拆分后语音文本包括多个标点信息,以此减少拼接点,平滑合成语音的突兀感。

进一步地,在一个实施例中,语音文本拆分位置可根据待合成语音文本中包括用户信息的语音文本的位置信息以及待合成语音文本的标点位置信息确定。

具体地,可先确定待合成语音文本中包括用户信息的语音文本的位置信息,由包括用户信息的语音文本的位置处,查找距离该位置距离最近的标点位置(相当于从包括用户信息的语音文本的位置处,向待合成语音文本的两侧延伸至距离最近的一个或两个标点位置),将查找到的标点位置作为语音文本拆分位置,对待合成语音文本进行拆分,从而得到包括用户信息的语音文本和不包括用户信息的语音文本。

例如,对于待合成语音文本“这个时间是给不到您的,继续逾期,会进一步影响您的征信和产生罚息,建议您最晚[rpytime]前通过招行app(应用程序)手动还款,可以吧?”,其中,包括有用户信息[rpytime],则从[rpytime]位置处查找距离该位置最近的标点位置作为语音文本拆分位置,得到包括用户信息的语音文本“建议您最晚[rpytime]前通过招行app手动还款,”和不包括用户信息的语音文本“这个时间是给不到您的,继续逾期,会进一步影响您的征信和产生罚息,”和“可以吧?”,即得到三个拆分后语音文本。

本实施例中,通过待合成语音文本中的标点位置信息确定语音文本拆分位置,按照语音文本拆分位置拆分待合成语音文本,可减少语音拼接点,削弱且克服了拆分位置过多,导致得到的拆分文本较短,合成效果差的缺陷。进一步,通过确定包括用户信息的语音文本位置,由该语音文本位置确定语音文本拆分位置,对待合成语音文本进行拆分,在得到包括用户信息的语音文本后,将不包括用户信息的语音文本位置各自成为一个语音文本,提高了语音文本拆分位置的确定速率,减少了拆分后语音文本的数量,从而可节省语音合成时间。

在一个实施例中,上述步骤s206中获取第一语音文本对应的第一语音,具体包括:将第一语音文本与预设语音缓存中的预设语音的语音文本进行匹配;若第一语音文本与预设语音缓存中的预设语音的语音文本匹配,则将与第一语音文本匹配的语音文本的语音,作为第一语音;若第一语音文本与预设语音缓存中的预设语音的语音文本不匹配,则通过预先训练的语音合成模型对第一语音文本进行语音合成处理,得到第一语音;语音合成模型根据与第二语音的语音参数对应的语音样本训练得到。

其中,语音合成表示将语音文本转换为语音的过程。

具体实现中,服务器104在将待合成语音文本拆分得到第一语音文本,在获取第一语音文本的第一语音时,可先将第一语音文本与预设语音缓存中的预设语音的语音文本进行匹配,若第一语音文本与预设语音缓存中的预设语音的语音文本匹配,则可直接获取与第一语音文本匹配的语音文本的语音,作为第一语音。反之,若第一语音文本与预设语音缓存中的预设语音的语音文本不匹配,则需要实时调取tts(texttospeech,文本转语音)云服务合成第一语音,即可通过与第二语音的语音参数相对应的语音,预先训练得到的语音合成模型对第一语音文本进行语音合成处理,得到第一语音。

进一步地,在通过预先训练的语音合成模型对第一语音文本进行语音合成处理,得到第一语音之后,还包括:将第一语音存储至语音缓存中;当获取的下一个语音文本与第一语音的语音文本相同时,从语音缓存中获取第一语音,作为下一个语音文本对应的语音。

需要说明的是,本实施例中的下一个语音文本指代的是后续任一次的语音文本,即只要得到的语音文本与第一语音的语音文本相同时,便可从语音缓存中直接获取第一语音,作为该语音文本的合成语音。

具体实现中,若是通过语音合成模型得到第一语音,便可将得到的该第一语音存储至语音缓存中进行汇总,以供后面进行语音交互时使用,从而减少每次交互时实时进行语音合成所消耗的时间。

本实施例中,通过先将第一语音文本与预设语音缓存中的预设语音的语音文本进行匹配,以便于在预设语音缓存中存在与第一语音文本相匹配的合成录音时,可直接获取该匹配的合成语音,以减少进行语音交互过程中的语音合成耗时,提升用户的交互体验。并且在预设语音缓存中不存在与第一语音文本相匹配的合成录音时,通过采用与第二语音的语音参数相对应的语音训练语音合成模型,对第一语音文本进行合成,使得第一语音和第二语音的语音参数相对应,以便于实现第一语音和第二语音的平滑拼接,减少拼接的突兀感,也可提高语音的拟人度,避免仅采用语音合成模型合成的语音情感和拟人度较差的问题。

进一步地,在一个实施例中,还包括对预合成语音(提前调用tts服务合成的第一语音)的话术库进行维护,如图4所示,为预合成话术库的自适应维护流程图,其实现过程主要包括以下步骤:

(1)扫描策略,其中,策略表示外呼通话参数,包括是否有效、拨打时间、话术版本和音色等参数,扫描策略即遍历历史外呼通话参数。

(2)根据外呼通话参数从历史通话语音记录中筛选出符合设定条件(即有效且属于tts音色)的多个第一通话语音,获取各个第一通话语音的话术内容(即获取语音文本信息)。

(3)根据获取的第一通话语音的话术内容查询历史通话语音记录表,统计各个第一通话语音的使用频率,将各个符合设定条件的第一通话语音按照使用频率进行排序,得到第一通话语音序列。

(4)按照使用频率由高到低的顺序遍历该第一通话语音序列,从该第一通话语音序列中筛选出含有变量(即含有用户信息)且变量不可枚举的第二通话语音,获取第二通话语音(即话术)的节点信息,从语音流程树中查找第二通话语音所处节点的所有上一个节点的通话语音,获取第二通话语音与其对应的所有上一个节点的通话语音的映射关系,根据该映射关系将第二通话语音与其对应的上一个节点的通话语音对应输入预合成话术配置表,实现对预合成话术的配置。

(5)判断配置表中配置的第二通话语音对应的上一节点的通话语音数量是否达到配置条数上限(即是否达到阈值),若达到阈值,则根据语音流程树调整配置表中话术(即第二通话语音与其对应的上一节点的通话语音)的顺序。

本实施例中,通过在冷启动时,根据经验配置最可能需要用到的语音缓存(即步骤(5)中的话术配置表),系统运行一段时间后用自适应算法动态维护语音缓存,从而实现语音合成次数越多,平均合成耗时越低。

在一个实施例中,上述步骤s206中获取第二语音文本对应的第二语音,具体包括:将第二语音文本与预设语音缓存中的预设语音的语音文本进行匹配;若第二语音文本与预设语音缓存中的预设语音的语音文本匹配,则将与第二语音文本匹配的语音文本的语音,作为第二语音。

具体实现中,不包括用户信息的第二语音文本可通过预先录制得到第二语音,并存储于预设语音缓存中。服务器104在将待合成语音文本拆分得到第二语音文本后,可直接将第二语音文本与预设语音缓存中的预设语音的语音文本进行匹配,直接获取预设语音缓存中与第二语音文本匹配的语音文本的语音,作为第二语音。

本实施例中,通过先将第二语音文本与预设语音缓存中的预设语音的语音文本进行匹配,以便于在预设语音缓存中存在与第二语音文本相匹配的合成录音时,可直接获取该匹配的合成语音,以减少进行语音交互过程中的语音合成耗时,提升用户的交互体验。

在一个实施例中,上述步骤s306具体包括:根据语音文本信息,确定所述语音通话对象的意向信息;根据所述意向信息,从预先构建的语音流程树对应的语音文本数据库中获取对应的应答语音文本,作为第二应答语音文本。

其中,意向信息可表示语音通话对象作出应答的意图。

具体实现中,可预先构建与语音通话对象进行语音交互的语音流程树,该语音流程树中可根据与各个语音通话对象的历史通话语音构建,并可将历史通话语音转换为语音文本,存储在语音文本数据库中。当通过语音识别模型识别得到语音通话对象的第一应答语音的语音文本信息后,可将语音文本信息输入语义识别模型中,根据语音识别模型的输出结果,确定语音通话对象的意向信息,进一步可根据语音通话对象的意向信息从语音流程树对应的语音文本数据库中获取针对第一应答语音的应答语音文本,作为第二应答语音文本。

本实施例中,通过根据第一应答语音的语音文本信息,确定语音通话对象的意向信息,根据意向信息确定针对第一应答语音的应答语音文本,作为第二应答语音文本,便于根据第二应答语音文本确定待合成语音文本。

为了更清晰阐明本申请实施例提供的技术方案,以下将结合图5-图6对该方案进行说明,图5为一个应用实例中实现语音合成的方案示意图,具体流程如下:

1、在ai(人工智能)交互过程中,语音交互机器人获得待合成语音文本(即图5中的话术)后,将待合成语音文本中包括用户信息的语音文本向两侧延伸至最近的标点后拆分为一句新的语音文本(即图5中的“您认识[username]先生吗?”),不包括用户信息的部分各自成为一个语音文本(即图5中的“这边是xx银行信用中心,”和“我们有重要业务要联系到他。”),从而得到多个拆分后语音文本。

本步骤通过将拆分时的拆分位置转移至标点处,一方面减少了拼接点,另一方面平滑了拼接处的拼接突兀感。

2、语音录制人员提前录制音频训练得到语音合成模型(tts模型),步骤1中拆分后不包括用户信息的语音文本通过语音录制人员提前人工录制好录音,包括用户信息的语音文本在语音交互的过程中实时请求语音合成模型合成录音。

本步骤中,不包括用户信息的语音文本采用真实人工声音,提高了合成声音的整体拟人度,而包括用户信息的语音文本通过同一语音录制人员的声音训练得到的语音合成模型进行语音合成,平滑了各拼接录音段之间的差异,同时解决了预录音(即提前录制语音)存在的变量不可枚举的问题。

3、将得到的包括用户信息的语音与不包括用户信息的语音进行拼接处理,得到完整的合成语音供语音交互机器人进行使用。

本申请提出的定制化语音合成模型+最优拆分+半合成的语音合成方案,先将交互的待合成语音文本做最优拆分,将待合成语音文本包括用户信息的部分延伸至两边最近的标点处拆出,采用语音合成模型合成录音,克服了短文本合成效果差的缺陷,且减少了拼接点,同时克服了预录音难以枚举变量的问题。拆分后不包括用户信息的语音文本采用预录音,结合基于同一语音录制人员的语音训练出的语音合成模型对包括用户信息的语音文本进行语音合成,实现了平滑拼接,极大降低了突兀感,提高了合成语音的拟人度。

同时,在上述方法的基础上,为了减少单次语音合成所消耗的时间,本申请还提出了采用缓存技术缓存热点录音,在语音外呼接通时,采用异步的两级预合成方案(即图6中的线程池一和线程池二),图6为预合成方案的流程示意图,主要包括以下步骤:

(1)当语音交互机器人外呼接通并进入交互过程时,在主交互线程之外,开启异步线程池,即图6中的线程池一和线程池二,其中线程池一用于待合成语音文本的预处理,线程池二用于处理语音合成。

(2)在语音交互过程中,当处于语音交互机器人播放语音的节点时,获取待预合成的话术组(即从图4的流程树所对应的话术库(相当于上文中的语音文本数据库)中获取的话术组(相当于预设语音文本)),并解析案件中的变量,获取变量值(即获取通话对象的信息)。

(3)遍历话术组,将话术中的变量替换为对应的变量值(即确定语音文本中需进行替换的目标信息,并用外呼对象的信息(即用户信息)替换语音文本中的目标信息),得到待合成语音文本。

(4)按照设定的拆分方式拆分话术(即待合成语音文本),获取含变量的部分作为合成的词元(即包括用户信息的第一语音文本),合成第一语音和第二语音。

(5)将第一语音和第二语音存储至语音库中,以供语音交互机器人在之后交互轮次的主交互线程使用。

(6)当处于语音交互机器人播放语音的节点时,均重复上述步骤(2)至步骤(5)的操作,从而实现提前一个轮次合成下一轮次的语音。其中,当前轮次主交互线程的语音(即第一语音和第二语音的语音)优先从语音库中获取,此时上一个轮次异步线程池中预合成的录音得以使用,以此达到减少主交互线程的语音合成耗时。

应该理解的是,虽然图2-图4、图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图4、图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图7所示,提供了一种语音合成装置,包括:语音文本拆分模块702、语音文本分类模块704、语音获取模块706和语音拼接模块708,其中:

语音文本拆分模块702,用于对待合成语音文本进行拆分,得到多个拆分后语音文本。

语音文本分类模块704,用于对拆分后语音文本进行分类,得到第一语音文本和第二语音文本;第一语音文本为包括有用户信息的语音文本;第二语音文本表示为未包括用户信息的语音文本。

语音获取模块706,用于获取第一语音文本对应的第一语音,以及,获取第二语音文本对应的第二语音;第一语音与第二语音的语音参数相对应。

语音拼接模块708,用于将第一语音与第二语音进行拼接处理,得到待合成语音文本的合成语音。

在一个实施例中,上述装置还包括:

第一应答语音获取模块,用于获取语音通话对象的第一应答语音;

文本信息识别模块,用于通过预先训练的语音识别模型对第一应答语音进行识别,得到第一应答语音的语音文本信息;

第二应答语音文本确定模块,用于根据语音文本信息,确定针对第一应答语音的第二应答语音文本;

信息替换模块,用于将第二应答语音文本中包括的目标信息替换为用户信息,得到待合成语音文本。

在一个实施例中,上述语音文本拆分模块702,具体用于获取待合成语音文本中的语音文本拆分位置;语音文本拆分位置根据待合成语音文本中的标点位置信息确定;按照语音文本拆分位置,对待合成语音文本进行拆分,得到待合成语音文本的多个拆分后语音文本。

在一个实施例中,上述语音获取模块706,具体用于将第一语音文本与预设语音缓存中的预设语音的语音文本进行匹配;若第一语音文本与预设语音缓存中的预设语音的语音文本匹配,则将与第一语音文本匹配的语音文本的语音,作为第一语音;若第一语音文本与预设语音缓存中的预设语音的语音文本不匹配,则通过预先训练的语音合成模型对第一语音文本进行语音合成处理,得到第一语音;语音合成模型根据与第二语音的语音参数对应的语音样本训练得到。

在一个实施例中,上述语音获取模块706,还用于将第二语音文本与预设语音缓存中的预设语音的语音文本进行匹配;若第二语音文本与预设语音缓存中的预设语音的语音文本匹配,则将与第二语音文本匹配的语音文本的语音,作为第二语音。

在一个实施例中,上述装置还包括:

语音存储模块,用于将第一语音存储至语音缓存中;

语音确定模块,用于当获取的下一个语音文本与第一语音的语音文本相同时,从语音缓存中获取第一语音,作为下一个语音文本对应的语音。

在一个实施例中,上述第二应答语音文本确定模块,具体用于根据语音文本信息,确定语音通话对象的意向信息;根据意向信息,从预先构建的语音流程树对应的语音文本数据库中获取对应的应答语音文本,作为第二应答语音文本。

需要说明的是,本申请的语音合成装置与本申请的语音合成方法一一对应,在上述语音合成方法的实施例阐述的技术特征及其有益效果均适用于语音合成装置的实施例中,具体内容可参见本申请方法实施例中的叙述,此处不再赘述,特此声明。

此外,上述语音合成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储语音合成方法实施过程中产生的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音合成方法。

本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips