语音合成方法及系统与流程

文档序号:16446793发布日期:2019-01-02 21:26阅读:406来源:国知局
语音合成方法及系统与流程

本发明涉及一种语音合成方法及系统。



背景技术:

伴随着计算机技术的飞速发展,语音合成系统也得到了巨大的进步,现在的合成效果在可懂度、自然度上都能满足日常的需求,已经出现了很多如读新闻、读小说、天气播报、短信播报、电子书朗读等与语音合成相关的产品,对于每一种应用,只要涉及到语音合成,必然有一个模块来专门处理语音合成,这就会导致资源的严重冗余和浪费,如果有10个语音合成的应用,那么就需要有10个重复的语音合成模块。

现在大多数语音合成相关应用(也称为外接语音合成应用)不外乎两种应用场景:第一种应用场景下,每个语音相关应用都有一个其他语音合成相关应用不能使用的语音合成模块,对于多种不同的语音合成相关应用则需要多份语音合成模块,这样会造成存储资源和开发资源的严重浪费;第二种应用场景下,每个语音合成相关应用都可以通过网络接口调用别人发布的统一接口,但这种应用则要求在使用语音合成功能的时候必须要求能上网,而且需要下载合成语音会产生不少数据流量。



技术实现要素:

本发明的目的在于提供一种语音合成方法及系统,能够将不同的外接语音合成应用中的各种语音合成需求交由一个独立的语音合成应用处理,即将语音合成归一化,外接语音合成应用如果需要用到语音合成的功能,可以通过远程调用的方式来调用语音合成应用的语音合成功能,这样可以大大的减少资源冗余和浪费,也在一定程度上简化了外接语音合成应用的开发复杂度。

为解决上述问题,本发明提供一种语音合成方法,包括:

步骤一:预设语音合成任务;

步骤二:外接语音合成应用调用并提交所述语音合成任务;

步骤三:对各种语音合成任务进行调配并生成经过排序的待处理语音合成任务列表;以及

步骤四:从所述待处理语音合成任务列表中选出排在最前的待处理语音合成任务进行当前语音合成和播报。

进一步的,在上述方法中,所述步骤四之后还包括,重复上述步骤一至四直至无语音合成任务提交且所述待处理语音合成任务列表为空。

进一步的,在上述方法中,从所述待处理语音合成任务列表中选出排在最前的待处理语音合成任务进行语音合成的同时,还包括监听电话情况,当监听到电话时,停止当前语音合成和播报,当监听到电话结束时,重新开始当前语音合成和播报。

进一步的,在上述方法中,从所述待处理语音合成任务列表中选出排在最前的待处理语音合成任务进行语音合成的同时,还包括监听电话情况,当监听到电话时,暂停当前语音合成和播报,当监听到电话结束时,从暂停的地方开始当前语音合成和播报。

进一步的,在上述方法中,停止当前语音合成和播报或暂停当前语音合成和播报的步骤之后,还包括发送任务处理状态(开始播报,结束播报)给所述外接语音合成应用以便其修改自己的逻辑状态。

进一步的,在上述方法中,重新开始当前语音合成和播报或从暂停的地方开始当前语音合成和播报的步骤之后,还包括发送任务处理状态给所述外接语音合成应用以便其修改自己的逻辑状态。

进一步的,在上述方法中,从所述待处理语音合成任务列表中选出排在最前的待处理语音合成任务进行语音合成的同时,发送任务处理状态给所述外接语音合成应用以便其修改自己的逻辑状态。

进一步的,在上述方法中,所述语音合成任务包括外接语音合成应用的权限激活任务、提交播报任务、停止播报任务、暂停播报任务和删除其所有播报任务。

进一步的,在上述方法中,采用基于HMM的参数化语音合成方法进行所述当前语音合成和播报。

进一步的,在上述方法中,采用基于共振峰的语音合成方法或基于大语料库的波形拼接语音合成方法进行所述当前语音合成。

进一步的,在上述方法中,采用先进先出,后进后出的排队机制对所述待处理语音合成任务列表进行排序。

进一步的,在上述方法中,采用重要在前,次要在后的排队机制对所述待处理语音合成任务列表进行排序。

进一步的,在上述方法中,所述当前语音合成和播报中包括语调调整、语速调整、用变声的方法作音色调整、用回声的方法添加混响效果或用均衡器的方法提高声音效果。

根据本发明的另一面,提供一种移动终端,使用上述语音合成方法进行语音合成。

进一步的,在上述移动终端中,所述语音合成应用运行于包括symbian、android、ios、linux或mtk的操作系统系统之上。

根据本发明的另一面,提供一种语音合成系统,包括:

接口模块,用于预设语音合成任务,并供外接语音合成应用调用和提交所述语音合成任务;

任务处理模块,用于对各种语音合成任务进行调配并生成经过排序的待处理语音合成任务列表;以及

合成引擎,用于从所述待处理语音合成任务列表中选出排在最前的待处理语音合成任务进行当前语音合成和播报并向所述外接语音合成应用报告播报情况。

进一步的,在上述系统中,所述语音合成任务包括外接语音合成应用的权限激活任务、提交播报任务、停止播报任务、暂停播报任务和删除其所有播报任务。

进一步的,在上述系统中,还包括监听模块,用于监听电话情况,当监听到电话时,通知所述合成引擎停止当前语音合成和播报,当监听到电话结束时,通知所述合成引擎重新开始当前语音合成和播报。

进一步的,在上述系统中,所述监听模块,还用于监听电话情况,当监听到电话时,通知所述合成引擎暂停当前语音合成和播报,当监听到电话结束时,通知所述合成引擎从暂停的地方开始当前语音合成和播报。

进一步的,在上述系统中,监听模块还用于发送任务处理状态给所述外接语音合成应用以便其修改自己的逻辑状态。

进一步的,在上述系统中,所述合成引擎还用于停止当前语音合成和播报、重新开始当前语音合成和播报、暂停当前语音合成和播报或从暂停的地方开始当前语音合成和播报。

根据本发明的另一面,提供一种移动终端,包括上述语音合成系统进行语音合成。

与现有技术相比,本发明通过预设语音合成任务,外接语音合成应用调用并提交所述语音合成任务,然后对各种语音合成任务进行调配并生成经过排序的待处理语音合成任务列表,并从所述待处理语音合成任务列表中选出排在最前的待处理语音合成任务进行当前语音合成和播报,以及重复上述步骤直至无语音合成任务且所述待处理语音合成任务列表为空,可以将不同的外接语音合成应用中的各种语音合成需求交由一个独立的语音合成应用处理,即将语音合成归一化,外接语音合成应用如果需要用到语音合成的功能,可以通过远程调用的方式来调用语音合成应用的语音合成功能,这样可以大大的减少资源冗余和浪费,也在一定程度上简化了外接语音合成应用的开发复杂度。

另外,将本发明的语音合成系统在移动终端运行,用户不需要上网,也不会产生任何数据流量,有利于推动语音合成技术的向前发展。

此外,通过预设语音合成任务,以供外接语音合成应用调用并提交所述语音合成任务,可将语音合成应用整合成针对不同移动终端设备的统一应用,有别于传统的语音合成应用,移动终端设备只需要安装的本发明统一的语音合成应用,外接语音合成应用如果需要使用语音合成功能,则可以通过调用统一的语音合成任务即可实现语音合成功能,有效减少存储和开发资源。

附图说明

图1是本发明实施例一的语音合成方法的流程图;

图2是本发明实施例二的语音合成方法的流程图;

图3是本发明实施例二的外接语音合成方法示意图;

图4是本发明实施例四的语音合成系统的功能模块图;

图5是本发明实施例四的语音合成系统的处理流程图;

图6是本发明实施例五的语音合成系统的功能模块图;

图7是本发明实施例五的语音合成系统的处理流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例一

如图1所示,本发明提供一种语音合成方法,包括:

步骤S11,预设语音合成任务;其中,所述语音合成任务包括外接语音合成应用的权限激活任务、提交播报任务、停止播报任务、暂停播报任务和删除所有播报任务;

步骤S12,外接语音合成应用调用并提交所述语音合成任务,具体的,通过预设语音合成任务,以供外接语音合成应用调用并提交所述语音合成任务,可将语音合成应用整合成针对不同终端设备的统一应用,有别于传统的语音合成应用,终端设备只需要安装的本发明统一的语音合成应用,外接语音合成应用如果需要用语音合成功能,则可以通过调用预设的语音合成任务即可实现语音合成功能,有效减少存储和开发资源;

步骤S13,对各种语音合成任务进行调配并生成经过排序的待处理语音合成任务列表,以保证在终端设备上的语音合成有序进行;可采用先进先出、后进后出的排队机制对所述待处理语音合成任务列表进行排序,或者,采用重要在前、次要在后的排队机制对所述待处理语音合成任务列表进行排序;

步骤S14,从所述待处理语音合成任务列表中选出排在最前的待处理语音合成任务进行当前语音合成和播报;可采用基于HMM的参数化语音合成方法进行所述当前语音合成和播报,这种方法的存储量和运算量的要求都不高,而且合成语音的可懂度和自然度都很高,完全符合在各种移动终端上的语音合成应用,由于基于HMM的参数化语音合成应用已经广泛流传,所以这里不做具体介绍,另外,也可采用基于共振峰的语音合成方法或基于大语料库的波形拼接语音合成方法进行所述当前语音合成,但基于共振峰的语音合成算法的效果会在可懂度和自然度上有所欠缺,仅适用于语音合成要求不高的情况,基于大语料库的波形拼接语音合成算法的计算量和存储量要求会比较高,可用在处理能力较高的终端设备上;为了使语音合成效果更加丰富,所述当前语音合成和播报中包括语调调整、语速调整、用变声的方法作音色调整、用回声的方法添加混响效果或用均衡器的方法提高声音效果;执行本步骤的同时,还可发送任务处理状态如开始播报,结束播报等给所述外接语音合成应用以便其修改自己的逻辑状态;

步骤S15,判断是否无语音合成任务提交且所述待处理语音合成任务列表是否为空,若是,则执行步骤S16,若否,则重复步骤S11至步骤S15;

步骤S16,结束退出。

本实施例可以将不同的外接语音合成应用中的各种语音合成需求交由一个独立的语音合成应用处理,即将语音合成归一化,外接语音合成应用如果需要用到语音合成的功能,可以通过远程调用的方式来调用语音合成应用的语音合成功能,这样可以大大的减少资源冗余和浪费,也在一定程度上简化了外接语音合成应用的开发复杂度。

实施例二

本实施例与实施例一的区别在于,在执行从所述待处理语音合成任务列表中选出排在最前的待处理语音合成任务进行当前语音合成和播报的步骤同时,增加了监听电话情况并作相应特殊处理的步骤,以使本发明的语音合成方法适用于手机等需要接听电话的移动终端设备,保证语音合成的过程中电话功能够正常使用。

如图2所示,本发明提供另一种语音合成方法,包括:

步骤S21,预设语音合成任务,具体的,所述语音合成任务包括外接语音合成应用的权限激活任务、提交播报任务、停止播报任务、暂停播报任务和删除所有播报任务;;

步骤S22,外接语音合成应用调用并提交所述语音合成任务;

步骤S23,对各种语音合成任务进行调配并生成经过排序的待处理语音合成任务列表,以保证在终端设备上的语音合成有序进行,可选的,采用先进先出,后进后出的排队机制对所述待处理语音合成任务列表进行排序,或采用重要在前,次要在后的排队机制对所述待处理语音合成任务列表进行排序;

步骤S24,从所述待处理语音合成任务列表中选出排在最前的待处理语音合成任务进行当前语音合成和播报,并监听电话情况,当监听到电话时,停止当前语音合成和播报,当监听到电话结束时,重新开始当前语音合成和播报;另外,当监听到电话时,也可以暂停当前语音合成和播报,当监听到电话结束时,从暂停的地方开始当前语音合成和播报;

步骤S25,发送任务处理状态给所述外接语音合成应用以便其修改自己的逻辑状态,具体的,所述外接语音合成应用根据语音合成过程中的各种任务处理状态如开始播报、停止播报、暂停播报、重新开始当前语音播报、从暂停的地方开始当前语音播报等状态实现自己的逻辑,如修改所述外接语音合成应用自己的播报状态;

步骤S26,判断是否无语音合成任务提交或所述待处理语音合成任务列表是否为空,若是,则执行步骤S27,若否,则重复步骤S22至步骤S26,这里若预设语音合成任务不需要重新设置,则可直接从步骤S22开始执行至步骤S26,略去了重新执行步骤S21;

步骤S27,结束退出。

如图3所示,使用本发明可生成一个归一化的语音合成平台,该平台能够实现听短信、听电话、听小说、听小说、听新闻、听天气等各种外接语音合成应用的语音合成需求。

本实施例可以将不同的外接语音合成应用中的各种语音合成需求交由一个独立的语音合成应用处理,即将语音合成归一化,外接语音合成应用如果需要用到语音合成的功能,可以通过远程调用的方式来调用语音合成应用的语音合成功能,这样可以大大的减少资源冗余和浪费,也在一定程度上简化了外接语音合成应用的开发复杂度,另外,本实施例还可以保证语音合成的过程中电话功能够正常使用。

实施例三

本发明还提供一种移动终端,使用如实施例一或实施例二中所述的语音合成方法进行语音合成,可选的,所述语音合成应用运行于包括symbian、android、ios、linux或mtk的操作系统系统之上。

本实施例可将语音合成应用整合成一个单独的应用产品,针对不同的移动终端设备,移动终端系统包括但不限于symbian,android,ios,linux,mtk等,在这些终端设备上安装了统一的语音合成应用之后,这些设备上的外接语音合成应用本身则不再需要各自独立的语音合成应用,直接调用本发明统一的语音合成应用即可实现语音合成功能,最终,形成了一个针对终端设备的统一语音合成平台。

实施例四

如图4所示,本发明还提供语音合成系统1,归一化的语音合成系统中最主要的是接口模块11、任务处理模块12和合成引擎13。

接口模块11用于预设语音合成任务,并供外接语音合成应用14调用和提交所述语音合成任务,可选的,所述语音合成任务包括外接语音合成应用的权限激活任务、提交播报任务、停止播报任务、暂停播报任务和删除所有播报任务。具体的,接口模块11主要负责外接语音合成应用的控制输入,用于给外接语音合成应用调用,比如说调用提交播报任务以开始播报、调用停止播报任务以结束播报等等。通过设置接口模块11可将语音合成系统1整合成针对不同终端设备的统一应用系统,有别于传统的语音合成系统,终端设备只需要安装的本发明统一的语音合成系统,外接语音合成应用如果需要用语音合成功能,则可以通过调用统一的接口模块11即可实现语音合成功能,有效减少存储和开发资源。

其中,权限激活任务(activate),用以激活该语音合成相关应用以获得合成引擎处理权限;提交播报任务(speak),用以提交语音合成任务;停止播报任务(stop),用以停止当前正在播报的外接语音合成应用的播报任务,该外接语音合成应用不能停止别的播报任务;删除所有播报任务(stopAll),用以删除当前外接语音合成应用提交的所有任务。外接语音合成应用14调用以上接口模块11即可实现语音合成任务的调用。

任务处理模块12用于对各种语音合成任务进行调配并生成经过排序的待处理语音合成任务列表,任务处理模块12主要是应对各种语音合成任务的处理机制,保证在终端设备上的语音合成有序,因为归一化的语音合成系统需要处理不同外接语音合成应用发过来的语音合成任务,所以任务处理模块12要保证合成任务的有序性,任务处理模块12可采用先到的任务排在前面,后到的任务排在后面的排队机制,供合成引擎13按照顺序处理待处理语音合成任务。

合成引擎13用于从所述待处理语音合成任务列表中选出排在最前的待处理语音合成任务进行当前语音合成和播报并向所述外接语音合成应用报告播报情况。合成引擎13主要负责对输入的文本进行语音合成并播报,在合成任务开始播报和结束播报时,合成引擎13都会通知外接语音合成应用以便任务调用方做相应处理。所述合成引擎13还用于发送任务处理状态如开始播报、结束播报给所述外接语音合成应用以便其修改自己的逻辑状态。

如图5所示,假设当前有三个待处理语音合成任务上传到归一化语音合成平台,平台根据任务上传时间给当前三个待处理语音合成任务排序,图5中假设外接语音合成应用二的待处理语音合成任务排在首位,合成引擎13从任务处理模块12的待处理语音合成任务列表中拿出第一个待处理语音合成任务作为合成引擎13的当前任务,开始处理的时候,合成引擎12会发一个开始播报的消息给外接语音合成应用二,此时外接语音合成应用二可以用这个消息来实现自己的逻辑,比如修改播报状态等,然后开始播报任务的内容,当播报结束之后,结束处理的消息同样会发给当前任务对应的外接语音合成应用,然后合成引擎13再去待处理语音合成任务列表中获取第二个待处理语音合成任务,继续同样的处理。

本实施可以将不同的外接语音合成应用中的各种语音合成需求交由一个独立的语音合成系统处理,即将语音合成归一化,外接语音合成应用如果需要用到语音合成的功能,可以通过远程调用的方式来调用语音合成系统的语音合成功能,这样可以大大的减少资源冗余和浪费,也在一定程度上简化了外接语音合成系统的开发复杂度。

实施例五

如图6所示,本发明还提供另一种语音合成系统2,本实施例与实施例四的区别在于增加了监听模块24,以使本发明的语音合成系统适用于手机等需要接听电话的移动终端设备,保证语音合成的过程中电话功能够正常使用。

接口模块21用于预设语音合成任务,并供外接语音合成应用25调用和提交所述语音合成任务,可选的,所述语音合成任务包括外接语音合成应用的权限激活任务、提交播报任务、停止播报任务、暂停播报任务和删除所有播报任务。

任务处理模块22用于对各种语音合成任务进行调配并生成经过排序的待处理语音合成任务列表。任务处理模块22主要是应对各种合成任务的处理机制,保证在终端设备上的语音合成有序,因为归一化的语音合成系统需要处理不同外接语音合成应用发过来的合成任务,所以这个模块要保证合成任务的有序性,任务处理模块22可采用先到的任务排在前面,后到的任务排在后面的排队机制,供合成引擎23按照顺序处理待处理语音合成任务,而且针对手机还需要特殊处理,电话时期需要暂停其他所有语音合成任务以保证电话能正常使用。

合成引擎23用于从所述待处理语音合成任务列表中选出排在最前的待处理语音合成任务进行当前语音合成和播报并向所述外接语音合成应用报告播报情况。为了与所述监听模块24配合,所述合成引擎23还用于停止当前语音合成和播报、重新开始当前语音合成和播报、暂停当前语音合成和播报或从暂停的地方开始当前语音合成和播报时。所述合成引擎23还用于发送任务处理状态给所述外接语音合成应用以便其修改自己的逻辑状态。

监听模块24用于监听电话情况,当监听到电话时,通知所述合成引擎停止当前语音合成和播报,当监听到电话结束时,通知所述合成引擎重新开始当前语音合成和播报。另外,所述监听模块24当监听到电话时,也可通知所述合成引擎暂停当前语音合成和播报,当监听到电话结束时,通知所述合成引擎从暂停的地方开始当前语音合成和播报。在手机等移动终端上,则归一化的语音合成系统需要一个电话监听模块24来监听此时是否有电话,如果有电话,那么打断当前的合成任务,并且发送一个被电话打断的信号给当前任务的外接语音合成应用25,待电话结束后,再从合成语音任务列表里拿下一个待处理语音合成任务进行处理。

如图7所示,图中增加了一电话监听器作为监听模块24,当电话监听器监听到有电话时,会通过合成引擎23以打断语音合成和播报。也就是说,这里当监听到电话或者去电时,那么合成引擎23所有语音合成任务将会阻塞,播报也会被停止,当电话结束之后,任务将再次启动,合成引擎23引擎按照顺序处理剩下的待处理语音合成任务,归一化的语音合成平台需要方便易用的停止播报方式使得用户能够方便的停止播报。

为了使语音合成平台效果更加丰富,可以在基础的语音合成引擎23的基础上做一些扩展,比如说关于语调和语速的调整,用变声的方法做音色的调整,用回声的方法添加混响效果,用均衡器的方法提高声音效果,扩展包括但不限于以上列举的内容。

本实施例不仅可以将不同的外接语音合成应用中的各种语音合成需求交由一个独立的语音合成系统处理,即将语音合成归一化,外接语音合成应用如果需要用到语音合成的功能,可以通过远程调用的方式来调用语音合成系统的语音合成功能,这样可以大大的减少资源冗余和浪费,也在一定程度上简化了其他外接语音合成系统的开发复杂度,还可以保证语音合成的过程中电话功能够正常使用。

实施例六

本发明还提供一种移动终端,包括如实施例四或实施例五所述的语音合成系统进行语音合成。

本实施例可将语音合成系统整合成一个单独的应用产品,针对不同的移动终端设备,在相同的语音合成引擎下,包装成可以运行在此系统下的语音合成应用,移动终端系统包括但不限于symbian,android,ios,linux,mtk等,在这些终端设备上安装了统一的语音合成系统之后,这些设备上的外接语音合成应用则不需要各自独立的语音合成处理模块,直接调用统一语音合成系统的接口即模块可实现语音合成功能,最终形成了一个针对终端设备的统一语音合成平台,不仅可以有效减少存储和开发资源,也可以使语音合成引擎是在本地运行,不需要用户上网,不会产生任何数据流量。

本发明通过预设语音合成任务,外接语音合成应用调用并提交所述语音合成任务,然后对各种语音合成任务进行调配并生成经过排序的待处理语音合成任务列表,并从所述待处理语音合成任务列表中选出排在最前的待处理语音合成任务进行当前语音合成和播报,以及重复上述步骤直至无语音合成任务且所述待处理语音合成任务列表为空,可以将不同的外接语音合成应用中的各种语音合成需求交由一个独立的语音合成应用处理,即将语音合成归一化,外接语音合成应用如果需要用到语音合成的功能,那么就可以通过远程调用的方式来调用语音合成应用的语音合成功能,这样可以大大的减少资源冗余和浪费,也在一定程度上简化了其他外接语音合成应用的开发复杂度。

此外,通过将本发明的语音合成系统在移动终端运行,用户不需要上网,也不会产生任何数据流量,有利于推动语音合成技术的向前发展。

另外,通过预设语音合成任务,以供外接语音合成应用调用并提交所述语音合成任务,可将语音合成系统整合成针对不同移动终端设备的统一应用,有别于传统的语音合成应用,移动终端设备只需要安装的本发明统一的语音合成应用,外接语音合成应用如果需要用语音合成功能,则可以通过调用统一的接语音合成任务即可实现语音合成功能,有效减少存储和开发资源。

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

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

显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

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