[发明专利]用于语音合成的内存优化方法及系统有效
申请号: | 202010384423.3 | 申请日: | 2020-05-07 |
公开(公告)号: | CN111580975B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 周春亮;杜斌;初敏 | 申请(专利权)人: | 思必驰科技股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G10L13/04 |
代理公司: | 北京商专永信知识产权代理事务所(普通合伙) 11400 | 代理人: | 黄谦;车江华 |
地址: | 215123 江苏省苏州市苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 语音 合成 内存 优化 方法 系统 | ||
1.一种用于语音合成的内存优化方法,包括:
将发音人资源集合加载至内存,确定所述发音人资源集合的物理地址;
创建fork父子进程,通过所述fork父子进程内的fork调度父进程将所述物理地址共享给所述fork父子进程内的各fork文本转语音子进程,用于各fork文本转语音子进程之间对所述发音人资源集合的共享,其中,所述fork文本转语音子进程包括不修改数据结构以及代码的第三方框架;
接收客户端输入的语音合成请求,所述fork调度父进程通过均衡策略将所述语音合成请求分配至指定fork文本转语音子进程;
接收所述指定fork文本转语音子进程合成的发音人音频,其中,所述指定fork文本转语音子进程通过所述物理地址获取与所述语音合成请求对应的发音人资源。
2.根据权利要求1所述的方法,其中,所述创建fork父子进程还包括:
获取cpu的核数量,当所述cpu为多核时,为所述各fork文本转语音子进程分别绑定一个cpu核,对所述发音人资源集合进行cache缓存。
3.根据权利要求1所述的方法,其中,所述各fork文本转语音子进程的虚拟地址互不相同。
4.根据权利要求1所述的方法,其中,所述通过所述fork父子进程内的fork调度父进程将所述物理地址共享给所述fork父子进程内的各fork文本转语音子进程包括:
所述fork调度父进程通过写时复制机制将所述物理地址共享给所述各fork文本转语音子进程。
5.根据权利要求1所述的方法,其中,所述第三方框架包括:基于隐马尔可夫模型的语音合成系统、基于深度神经网络的语音合成系统,TensorFlow、kaldi语音识别系统。
6.一种用于语音合成的内存优化系统,系统:
地址确定程序模块,用于将发音人资源集合加载至内存,确定所述发音人资源集合的物理地址;
共享程序模块,用于创建fork父子进程,通过所述fork父子进程内的fork调度父进程将所述物理地址共享给所述fork父子进程内的各fork文本转语音子进程,用于各fork文本转语音子进程之间对所述发音人资源集合的共享,其中,所述fork文本转语音子进程包括不修改数据结构以及代码的第三方框架;
调度程序模块,用于接收客户端输入的语音合成请求,所述fork调度父进程通过均衡策略将所述语音合成请求分配至指定fork文本转语音子进程;
语音合成程序模块,用于接收所述指定fork文本转语音子进程合成的发音人音频,其中,所述指定fork文本转语音子进程通过所述物理地址获取与所述语音合成请求对应的发音人资源。
7.根据权利要求6所述的系统,其中,所述共享程序模块用于:
获取cpu的核数量,当所述cpu为多核时,为所述各fork文本转语音子进程分别绑定一个cpu核,对所述发音人资源集合进行cache缓存。
8.根据权利要求6所述的系统,其中,所述各fork文本转语音子进程的虚拟地址互不相同。
9.根据权利要求6所述的系统,其中,所述共享程序模块用于:
所述fork调度父进程通过写时复制机制将所述物理地址共享给所述各fork文本转语音子进程。
10.根据权利要求6所述的系统,其中,所述第三方框架包括:基于隐马尔可夫模型的语音合成系统、基于深度神经网络的语音合成系统,TensorFlow、kaldi语音识别系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于思必驰科技股份有限公司,未经思必驰科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010384423.3/1.html,转载请声明来源钻瓜专利网。