语音合成方法、装置、设备及存储介质制造方法及图纸

技术编号:28678354 阅读:16 留言:0更新日期:2021-06-02 02:55
本发明专利技术涉及人工智能领域,公开了一种语音合成方法、装置、设备及存储介质。该方法包括:接收来自用户终端的语音合成任务,所述语音合成任务的数量为至少一个;将语音合成任务加入任务队列中,按预设的任务打包规则将任务队列中的所有语音合成任务进行打包,生成批处理任务;获取GPU管理队列中保存的GPU服务器中各GPU卡的工作状态,并根据工作状态选择一个GPU卡,将批处理任务发送至选中的GPU卡中对批处理任务中进行处理,得到批处理结果并按照打包前的语音合成任务进行拆分,得到与至少一个语音合成任务对应的至少一个语音合成结果。此外,本发明专利技术还涉及区块链技术,语音合成任务的相关信息可存储于区块链中。

【技术实现步骤摘要】
语音合成方法、装置、设备及存储介质
本专利技术涉及人工智能领域,尤其涉及一种语音合成方法、装置、设备及存储介质。
技术介绍
语音合成技术是一种能够将文本转换成语音的技术,随着科技的发展,语音合成技术逐渐被运用到各种场景中,其不仅能够帮助有阅读障碍的人进行阅读,更能够增加文本的可读性;此外,语音合成技术还能够提供机器和人之间交互的更多可能性。故随着科技的发展,具有实时性的高度拟人化的语音合成技术逐渐走进人们的视野。在现有的技术中,为使得利用语音合成技术生成的语音音频能够有较高的拟人化水平,一般采用的是利用深度神经网络等算法进行语音音频的合成,但这种方法在进行合成时会涉及到大量的浮点数矩阵运算,通用的采用CPU卡进行计算合成会使得语音合成时等待的时间较长,无法满足实时性的要求;使用GPU卡进行计算时由于每个GPU卡同时只能处理一个并发任务,使得每个GPU卡资源利用率低下,需要的GPU卡的数量增加从而成本变高。
技术实现思路
本专利技术的主要目的在于解决现有语音合成技术中在进行语音合成时GPU卡的资源利用率低的技术问题。本专利技术第一方面提供了一种语音合成方法,包括:接收来自用户终端的语音合成任务,所述语音合成任务的数量为至少一个;将所述语音合成任务加入任务队列中,按预设的任务打包规则将所述任务队列中的所有语音合成任务进行打包,生成批处理任务;获取GPU管理队列中保存的GPU服务器中各GPU卡的工作状态,并根据所述工作状态选择一个GPU卡,将所述批处理任务发送至选中的GPU卡中对所述批处理任务中的所有语音合成任务进行并行处理,得到批处理结果;将所述批处理结果按照打包前的语音合成任务进行拆分,得到与所述至少语音合成任务对应的语音合成结果。可选的,在本专利技术第一方面的第一种实现方式中,所述将所述语音合成任务加入任务队列中,按预设的任务打包规则将所述任务队列中的所有语音合成任务进行打包,生成批处理任务包括:将所述语音合成任务加入任务队列中,控制计数器的值加1,控制定时器开始计时;判断所述计数器中的数值是否达到预设的计数阈值;判断所述定时器中的计时时间是否达到预设时间;若所述计数器中的数值达到计数阈值和/或所述定时器中的计时时间达到预设时间,则重置所述定时器和所述计数器,将所述任务队列中的语音合成任务进行打包,生成批处理任务。可选的,在本专利技术第一方面的第二种实现方式中,所述将所述语音合成任务加入任务队列中,按预设的任务打包规则将所述任务队列中的所有语音合成任务进行打包,生成批处理任务还包括:若所述计数器中的数值未达到计数阈值且所述定时器中的计时时间未达到预设时间,则继续将接收到的所述语音合成任务加入任务队列中暂存。可选的,在本专利技术第一方面的第三种实现方式中,在所述将所述语音合成任务加入任务队列中,控制计数器的值加1,控制定时器开始计时之前,还包括:获取所述每个GPU卡的计算能力参数;根据所述计算能力参数,得到所述每个GPU卡可以处理的最大任务数;根据所述最大任务数设置计数阈值。可选的,在本专利技术第一方面的第四种实现方式中,在将所述至少一个语音合成任务加入任务队列中,控制计数器的值加1,控制定时器开始计时之前,还包括:获取业务最大等待时间以及单个批处理任务最大合成时间;根据所述业务最大等待时间以及单个批处理任务最大合成时间,设置定时器的预设时间,其中,定时器的预设时间为所述业务最大等待时间与单个批处理任务最大合成时间的差值。可选的,在本专利技术第一方面的第五种实现方式中,所述获取GPU管理队列中保存的GPU服务器中各GPU卡的工作状态,并根据所述工作状态选择一个GPU卡,将所述批处理任务发送至选中的GPU卡中对所述批处理任务中的所有语音合成任务进行并行处理,得到批处理结果包括:预先获取所述GPU服务器中各GPU卡的工作状态,并将所述各GPU卡的工作状态保存至GPU管理队列中,其中,所述工作状态包括“空闲”以及“工作中”;获取所述GPU管理队列中各GPU卡的工作状态,在所述GPU管理队列中选择一个工作状态为“空闲”的GPU卡;将所述批处理任务发送至选中的GPU卡中,并将所述GPU管理队列中保存的所述选中的GPU卡的工作状态标记为“工作中”,利用所述选中的GPU卡对所述批处理任务中的所有语音合成任务进行并行处理;处理完毕后,将GPU管理队列中保存的所述选中的GPU卡的工作状态标记为“空闲”,并输出批处理结果。可选的,在本专利技术第一方面的第六种实现方式中,所述利用所述选中的GPU卡对所述批处理任务中的所有语音合成任务进行并行处理包括:获取所述批处理任务中的所有语音合成任务中包含的文本内容;利用预先建立的语音合成模型,根据所述文本内容进行语音的转换,得到批处理结果。本专利技术第二方面提供了一种语音合成装置,包括:获取模块,用于接收来自用户终端的语音合成任务,所述语音合成任务的数量为至少一个;任务打包模块,用于将所述语音合成任务加入任务队列中,按预设的任务打包规则将所述任务队列中的所有语音合成任务进行打包,生成批处理任务;批任务处理模块,用于获取GPU管理队列中保存的GPU服务器中各GPU卡的工作状态,并根据所述工作状态选择一个GPU卡,将所述批处理任务发送至选中的GPU卡中对所述批处理任务中的所有语音合成任务进行并行处理,得到批处理结果;结果生成模块,用于将所述批处理结果按照打包前的语音合成任务进行拆分,得到与所述语音合成任务对应的语音合成结果。可选的,在本专利技术第二方面的第一种实现方式中,所述任务打包模块包括:任务接收单元,用于将所述语音合成任务加入任务队列中,控制计数器的值加1,控制定时器开始计时;计数单元,用于判断所述计数器中的数值是否达到预设的计数阈值;计时单元,用于判断所述定时器中的计时时间是否达到预设时间;打包单元,用于若所述计数器中的数值达到计数阈值和/或所述定时器中的计时时间达到预设时间,则重置所述定时器和所述计数器,将所述任务队列中的语音合成任务进行打包,生成批处理任务。可选的,在本专利技术第二方面的第二种实现方式中,所述打包单元具体还用于:若所述计数器中的数值未达到计数阈值且所述定时器中的计时时间未达到预设时间,则继续将接收到的所述语音合成任务加入任务队列中暂存。可选的,在本专利技术第二方面的第三种实现方式中,所述任务打包模块还包括:计数阈值设置单元,用于获取所述每个GPU卡的计算能力参数;根据所述计算能力参数,得到所述每个GPU卡可以处理的最大任务数;根据所述最大任务数设置计数阈值。可选的,在本专利技术第二方面的第四种实现方式中,所述任务打包模块还包括:计时时间设置单元,用于获取业务最大等待时间以及单个批处理任务最大合成时间;根据所述业务最大等待时间以及单个批处理任务最大合成时间,设置定时器的预设时间,其中,定时器的预设时间本文档来自技高网...

【技术保护点】
1.一种语音合成方法,其特征在于,所述语音合成方法包括:/n接收来自用户终端的语音合成任务,所述语音合成任务的数量为至少一个;/n将所述语音合成任务加入任务队列中,按预设的任务打包规则将所述任务队列中的所有语音合成任务进行打包,生成批处理任务;/n获取GPU管理队列中保存的GPU服务器中各GPU卡的工作状态,并根据所述工作状态选择一个GPU卡,将所述批处理任务发送至选中的GPU卡中对所述批处理任务中的所有语音合成任务进行并行处理,得到批处理结果;/n将所述批处理结果按照打包前的语音合成任务进行拆分,得到与所述语音合成任务对应的语音合成结果。/n

【技术特征摘要】
1.一种语音合成方法,其特征在于,所述语音合成方法包括:
接收来自用户终端的语音合成任务,所述语音合成任务的数量为至少一个;
将所述语音合成任务加入任务队列中,按预设的任务打包规则将所述任务队列中的所有语音合成任务进行打包,生成批处理任务;
获取GPU管理队列中保存的GPU服务器中各GPU卡的工作状态,并根据所述工作状态选择一个GPU卡,将所述批处理任务发送至选中的GPU卡中对所述批处理任务中的所有语音合成任务进行并行处理,得到批处理结果;
将所述批处理结果按照打包前的语音合成任务进行拆分,得到与所述语音合成任务对应的语音合成结果。


2.根据权利要求1所述的语音合成方法,其特征在于,所述将所述语音合成任务加入任务队列中,按预设的任务打包规则将所述任务队列中的所有语音合成任务进行打包,生成批处理任务包括:
将所述语音合成任务加入任务队列中,控制计数器的值加1,控制定时器开始计时;
判断所述计数器中的数值是否达到预设的计数阈值;
判断所述定时器中的计时时间是否达到预设时间;
若所述计数器中的数值达到计数阈值和/或所述定时器中的计时时间达到预设时间,则重置所述定时器和所述计数器,将所述任务队列中的语音合成任务进行打包,生成批处理任务。


3.根据权利要求2所述的语音合成方法,其特征在于,所述将所述语音合成任务加入任务队列中,按预设的任务打包规则将所述任务队列中的所有语音合成任务进行打包,生成批处理任务还包括:
若所述计数器中的数值未达到计数阈值且所述定时器中的计时时间未达到预设时间,则继续将接收到的所述语音合成任务加入任务队列中暂存。


4.根据权利要求3所述的语音合成方法,其特征在于,在所述将所述语音合成任务加入任务队列中,控制计数器的值加1,控制定时器开始计时之前,还包括:
获取所述每个GPU卡的计算能力参数;
根据所述计算能力参数,得到所述每个GPU卡可以处理的最大任务数;
根据所述最大任务数设置计数阈值。


5.根据权利要求3所述的语音合成方法,其特征在于,在所述将所述语音合成任务加入任务队列中,控制计数器的值加1,控制定时器开始计时之前,还包括:
获取业务最大等待时间以及单个批处理任务最大合成时间;
根据所述业务最大等待时间以及单个批处理任务最大合成时间,设置定时器的预设时间,其中,定时器的预设时间为所述业务最大等待时间与单个批处理任务最大合成时间的差值。


6.根据权利要求3所述的...

【专利技术属性】
技术研发人员:陈小建陈闽川马骏王少军
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1