[发明专利]语音合成编码方法及装置在审
申请号: | 202110647984.2 | 申请日: | 2021-06-10 |
公开(公告)号: | CN113380220A | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 皮碧虹;杨德文;龙丁奋 | 申请(专利权)人: | 深圳市同行者科技有限公司 |
主分类号: | G10L13/02 | 分类号: | G10L13/02;G10L13/04 |
代理公司: | 深圳市特讯知识产权代理事务所(普通合伙) 44653 | 代理人: | 孟智广 |
地址: | 518000 广东省深圳市南山区粤海街道高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 语音 合成 编码 方法 装置 | ||
本说明书一个或多个实施例提供的一种语音合成编码方法及装置,在开始将文本数据合成为pcm流数据后,根据当前系统负载情况动态计算开始播放需要的起始缓冲阈值Tstart,若缓冲区缓冲时长大于所述起始缓冲阈值Tstart时,读取缓冲区的所述pcm流数据进行播放;并根据当前系统负载情况动态计算持续播放需要的持续缓冲阈值Tblock;播放过程中,根据缓冲区缓冲时长与持续缓冲阈值Tblock的关系,判断是继续将文本数据合成为pcm流数据还是暂停合成,既保证了播放的稳定性流畅度,也实现了cpu和内存的平滑占用。
技术领域
本发明涉及语音合成方法技术领域,特别是指一种语音合成编码方法及装置。
背景技术
当前语音合成(文本转语音)的编码播放方案有:
1、一次性合成:将文本输入到语音合成引擎,一次性获得编码后的pcm数据,将pcm数据一次性传递给播放器播放;该方式需要占用大量的内存存储pcm,并且合成等待时长较长,需要等数据全部合成后才开始播放。
2、流式合成中睡眠:一边合成pcm数据,一边塞给播放器处理,在合成过程中睡眠一定时间,继续合成并播放;该方式单次合成的数据块大小固定,存在cpu波动,sleep时间过短可能占用cpu过高,sleep时间过长可能造成播放器断播或出现杂音。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种语音合成编码方法及装置,能够有效的解决现有技术技术中的技术问题。
基于上述目的,本说明书一个或多个实施例提供了一种语音合成编码方法,包括:
开始将文本数据合成为pcm流数据,并将所述pcm流数据存储于缓冲区;
根据当前系统负载情况动态计算开始播放需要的起始缓冲阈值Tstart;
若缓冲区缓冲时长大于所述起始缓冲阈值Tstart时,读取缓冲区的所述pcm流数据进行播放;
根据当前系统负载情况动态计算持续播放需要的持续缓冲阈值Tblock;
若缓冲区缓冲时长大于所述持续缓冲阈值Tblock,则暂停将文本数据合成为pcm流数据,并等待预设时间后返回计算持续缓冲阈值Tblock的步骤;否则,持续将文本数据合成为pcm流数据,并等待预设时间后返回计算持续缓冲阈值Tblock的步骤,直至将全部的文本数据合成为pcm流数据。
作为一种可选的实施方式,所述根据当前系统负载情况动态计算开始播放需要的起始缓冲阈值Tstart,包括:
若T2-T1Tmin,则Tstart=Tmin,否则Tstart=T2-T1;
其中,T1为合成时长预估;
T2为播放时长;
Tmin为最小缓冲时长。
作为一种可选的实施方式,T1=L*U/C,T2=L*T;
其中,C为单核cpu最大空闲算力;U为单字合成算力消耗;T为单字时长预估;L为整句字长。
作为一种可选的实施方式,所述根据当前系统负载情况动态计算持续播放需要的持续缓冲阈值Tblock,包括:
若T4≤T3,Tblock=T3,否则Tblock=x*(T2-T1)+Tbuf;
若Tblock<Tmin,则Tblock=Tmin;
其中,T4为剩余播放时长预估,T3为剩余合成时长预估,Tbuf为当前缓冲区剩余播放时长,x为缓冲单位。
作为一种可选的实施方式,T3=R*U/C,T4=R*T+Tbuf,Tmin=F*Tplayer;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市同行者科技有限公司,未经深圳市同行者科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110647984.2/2.html,转载请声明来源钻瓜专利网。