一种语音合成文件的调用方法及装置
技术领域
本说明书涉及计算机领域,尤其是涉及一种语音合成文件的调用方法及装置。
背景技术
随着互联网的发展,多方合作已经体现在越来越多的方面。建设一个大型语音系统时,终端的框架和服务端由运行商进行搭建,但终端的应用需要多个ISV(独立软件开发商)来共同完成。
现有的大型语音系统中,ISV开发的APP调用语音合成文件进行语音播放时,每次都需要由服务端合成该语音合成文件,再将该语音合成文件下载至终端进行调用,整个过程使得系统的响应时间增加,严重的还会造成整个系统的瘫痪,从而影响系统的正常运行。
发明内容
本说明书实施例提供一种语音合成文件的调用方法及装置,解决了上述背景技术提出的问题。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种语音合成文件的调用方法,该方法包括:
检测客户端是否存在已注册APP所需要使用的语音合成文件,所述已注册APP为预先注册需要使用语音合成文件的APP;
若检测出客户端不存在所述语音合成文件,根据预先存储的已注册APP对应的语音配置文件从所述已注册APP对应的服务端下载所述语音合成文件,所述语音配置文件内置有所述语音合成文件的下载地址;
若检测出客户端存在所述语音合成文件,调用客户端的所述语音合成文件,以供所述已注册APP根据所述语音合成文件进行语音播放。
可选的,所述检测客户端是否存在已注册APP所需要使用的语音合成文件之前,所述方法还包括:
向所述已注册APP对应的服务端拉取所述语音配置文件;
接收所述已注册APP对应的服务端下发的语音配置文件,下发的所述语音配置文件包括所述已注册APP对应的服务端对下发的所述语音配置文件进行加密后,分配给所述已注册APP对应的第一验证信息;
判断所述第一验证信息与客户端预先保存的第二验证信息是否匹配;
在判断出所述第一验证信息与客户端预先保存的第二验证信息匹配时,则验证下发的所述语音配置文件正确。
可选的,所述判断所述第一验证信息与客户端预先保存的第二验证信息是否匹配,具体包括:
根据所述已注册APP的标识从内置于客户端安全运行环境中预先保存的与所述已注册APP对应的第二验证信息;
判断所述第一验证信息与第二验证信息是否匹配。
可选的,所述向所述已注册APP对应的服务端拉取所述语音配置文件之前,所述方法还包括:
向所述已注册APP对应的服务端发送所述APP开发者提供的反映所述APP开发者特征的语音数据,以便所述已注册APP对应的服务端通过内置的语音基础训练模型训练出所述APP开发者定制化的语音模型,并将预先储存的文本输入所述APP开发者定制化的语音模型以生成已注册APP需要的语音合成文件,所述语音基础训练模型为根据所述已注册APP播放语音的需要利用预先提供的若干语音样本训练得到的、可供已注册APP共用的模型。
可选的,所述已注册APP根据所述语音合成文件进行语音播放之前,所述方法还包括:
计算所述语音合成文件对应的第一摘要值;
判断根据所述语音配置文件内预先储存的所述语音合成文件对应的第二摘要值与所述第一摘要值是否相同;
若判断出所述第二摘要值与所述第一摘要值相同时,则所述已注册APP根据所述语音合成文件进行语音播放。
可选的,所述已注册APP根据所述语音合成文件进行语音播放,具体包括:所述已注册APP对应的服务端根据预设规则对所述语音合成文件进行加密;所述加密的语音合成文件根据内置解密模块解密后,由所述已注册APP进行语音播放。
本说明书实施例提供的一种语音合成文件的调用装置,所述装置包括:
检测单元,用于检测客户端是否存在已注册APP所需要使用的语音合成文件,所述已注册APP为预先注册需要使用语音合成文件的APP;
下载单元,用于若检测出客户端不存在所述语音合成文件,根据预先存储的已注册APP对应的语音配置文件从所述已注册APP对应的服务端下载所述语音合成文件,所述语音配置文件内置有所述语音合成文件的下载地址;
调用单元,用于若检测出客户端存在所述语音合成文件,调用客户端的所述语音合成文件,以供所述已注册APP根据所述语音合成文件进行语音播放。
可选的,所述装置还包括:
拉取单元,用于向所述已注册APP对应的服务端拉取所述语音配置文件;
接收单元,用于接收所述已注册APP对应的服务端下发的语音配置文件,下发的所述语音配置文件包括所述已注册APP对应的服务端对下发的所述语音配置文件进行加密后,分配给所述已注册APP对应的第一验证信息;
判断单元,用于判断所述第一验证信息与客户端预先保存的第二验证信息是否匹配;
验证单元,用于在判断出所述第一验证信息与客户端预先保存的第二验证信息匹配时,验证下发的所述语音配置文件正确。
可选的,所述判断单元具体用于:
根据所述已注册APP的标识从内置于客户端安全运行环境中预先保存的与所述已注册APP对应的第二验证信息;
判断所述第一验证信息与第二验证信息是否匹配。
可选的,所述装置还包括:
训练单元,用于向所述已注册APP对应的服务端发送所述APP开发者提供的反映所述APP开发者特征的语音数据,以便所述已注册APP对应的服务端通过内置的语音基础训练模型训练出所述APP开发者定制化的语音模型,并根据预先储存的文本由所述APP开发者定制化的语音模型生成已注册APP对应的语音合成文件,所述语音基础训练模型为根据所述已注册APP播放语音的需要利用预先提供的若干语音样本训练得到的、可供已注册APP共用的模型。
可选的,所述装置还包括:
计算单元,用于计算所述语音合成文件对应的第一摘要值;
所述判断单元还用于判断根据所述语音配置文件内预先储存的所述语音合成文件对应的第二摘要值与所述第一摘要值是否相同;
所述判断单元若判断出所述第二摘要值与所述第一摘要值相同时,则所述已注册APP根据所述语音合成文件进行语音播放。
可选的,所述已注册APP根据所述语音合成文件进行语音播放,具体包括:所述已注册APP对应的服务端根据预设规则对所述语音合成文件进行加密;所述加密的语音合成文件根据内置解密模块解密后,由所述已注册APP进行语音播放。
本说明书实施例提供的一种语音系统,包括终端、服务器,终端包括运行在终端中的语音SDK、已注册APP以及APP开发者端;
所述APP开发者端用于向所述已注册APP对应的服务端发送所述APP开发者提供的反映所述APP开发者特征的语音数据;
所述服务端用于通过内置的语音基础训练模型训练出所述APP开发者定制化的语音模型,并将预先储存的文本输入所述APP开发者定制化的语音模型以生成已注册APP需要的语音合成文件,所述语音基础训练模型为根据所述已注册APP播放语音的需要利用预先提供的若干语音样本训练得到的、可供已注册APP共用的模型;
所述语音SDK用于向所述已注册APP对应的服务端拉取所述语音配置文件;接收所述已注册APP对应的服务端下发的语音配置文件,所述下发语音配置文件包括所述已注册APP对应的服务端对所述下发的语音配置文件进行加密后,分配给所述已注册APP对应的第一验证信息;判断所述第一验证信息与客户端预先保存的第二验证信息是否匹配;在判断出所述第一验证信息与客户端预先保存的第二验证信息匹配时,则验证所述下发的语音配置文件正确;检测客户端是否存在已注册APP所需要使用的语音合成文件,所述已注册APP为预先注册需要使用语音合成文件的APP;若检测出客户端不存在所述语音合成文件,根据已注册APP对应的语音配置文件从所述已注册APP对应的服务端下载所述语音合成文件,所述语音配置文件内置有所述语音合成文件的下载地址;若检测出客户端存在所述语音合成文件,调用客户端的所述语音合成文件,以供所述已注册APP根据所述语音合成文件进行语音播放。
本说明书实施例提供的一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以下步骤:
检测客户端是否存在已注册APP所需要使用的语音合成文件,所述已注册APP为预先注册需要使用语音合成文件的APP;
若检测出客户端不存在所述语音合成文件,根据预先存储的已注册APP对应的语音配置文件从所述已注册APP对应的服务端下载所述语音合成文件,所述语音配置文件内置有所述语音合成文件的下载地址;
若检测出客户端存在所述语音合成文件,调用客户端的所述语音合成文件,以供所述已注册APP根据所述语音合成文件进行语音播放。
本说明书实施例提供的一种语音合成文件的调用设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行以下步骤:
检测单元,用于检测客户端是否存在已注册APP所需要使用的语音合成文件,所述已注册APP为预先注册需要使用语音合成文件的APP;
下载单元,用于若检测出客户端不存在所述语音合成文件,根据预先存储的已注册APP对应的语音配置文件从所述已注册APP对应的服务端下载所述语音合成文件,所述语音配置文件内置有所述语音合成文件的下载地址;
调用单元,用于若检测出客户端存在所述语音合成文件,调用客户端的所述语音合成文件,以供所述已注册APP根据所述语音合成文件进行语音播放。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
1、已注册APP需要使用语音合成文件时,检测客户端是否存该语音合成文件,在客户端存在该语音合成文件时优先调用客户端缓存的语音合成文件,减少整个语音系统的响应时间;
2、APP开发者通过已注册APP对应的服务器可以训练出APP开发者定制化的语音模型,再将预先储存的文本输入至APP开发者定制化的语音模型以生成APP开发者需要使用语音合成文件,已注册APP需要使用其中的语音合成文件时再将对应的语音合成文件下载以供已注册APP进行语音播放;
3、该语音系统可以支持多个已注册APP,使得该语音系统使用率得到充分利用。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例一提供的语音合成文件的调用方法的流程示意图;
图2为本说明书实施例二提供的语音合成文件的调用方法的流程示意图;
图3为本说明书实施例三提供的语音合成文件的调用装置的结构示意图;
图4为本说明书实施例四提供的语音系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1为本说明书实施例提供的一种语音合成文件的调用方法的流程示意图,该流程示意图包括:
步骤S101,检测客户端是否存在已注册APP所需要使用的语音合成文件,若存在,则执行步骤S102,若不存在,则执行步骤S103。
在本说明书实施例的步骤S101中,可由语音SDK执行检测客户端是否存在已注册APP所需要使用的语音合成文件的步骤,语音SDK设置有同时连接多个APP的接口,即APP向语音SDK进行注册,就是将APP数据连接至语音SDK,已注册APP为预先向语音SDK注册且需要使用语音合成文件的APP。其中,在本实施例中语音SDK为APP开发者在开发软件时的框架。
在本说明书实施例的步骤S101中,语音合成文件是由已注册APP对应的服务端根据APP开发者的需求训练出的。首先APP开发者向已注册APP对应的服务端发送APP开发者提供的反映APP开发者特征的语音数据,以便已注册APP对应的服务端通过内置的语音基础训练模型训练出APP开发者定制化的语音模型,并将预先储存的文本输入APP开发者定制化的语音模型以生成已注册APP需要的语音合成文件。语音基础训练模型为根据已注册APP播放语音的需要利用预先提供的若干语音样本训练得到的、可供已注册APP共用的模型。其中,若干语音样本为已注册APP对应的服务端储存的高质量语音数据。
进一步的,在本说明书实施例的步骤S101中,语音基础训练模型根据整个语音系统的精确度来确定高质量语音数据的采样时间,在整个语音系统要求的精确度高时时,高质量语音数据的采样时间可以为300小时,但对于整个语音系统要求的精确度不高时,高质量语音数据的采样时间选取100小时。
在本说明书实施例的步骤S101中,已注册APP对应的服务端在训练出语音基础训练模型后,APP开发者上传反映APP开发者特征的语音数据至已注册APP对应的服务端,通过语音基础训练模型训练出APP开发者定制化的语音模型。反映APP开发者特征的语音数据是根据APP开发者需求的语言环境而录制的语音数据。此时APP开发者只需将少量上传的语音数据上传至已注册APP对应的服务端。其中,语音基础训练模型可以理解为已注册APP对应的服务端为APP开发者提供的数据集很大的中间模型,然后将此中间模型为APP开发者上传的语音数据进行调优训练,从而得出反映APP开发者特征的定制化的语音模型。
在本说明书实施例的步骤S101中,APP开发者上传的语音数据需要进行审核,在生成反映APP开发者特征的定制化的语音模型后,由该语音系统的管理人员进行审核,此时审核的机制可以为审核通过后该反映APP开发者特征的定制化的语音模型才可以正常使用,也就是说即使生成了反映APP开发者特征的定制化的语音模型,但未经过审核人员审核通过,该反映APP开发者特征的定制化的语音模型也是无法正常使用的;同时审核的机制也可以为不管该反映APP开发者特征的定制化的语音模型的审核结果是否通过,已注册的APP皆可正常使用,但是审核人员一旦检测出该反映APP开发者特征的定制化的语音模型不合格时,该该反映APP开发者特征的定制化的语音模型即失效。
在本说明书实施例的步骤S101中,若是APP开发者不采用这种方案,而是使用传统的方法实现定制化的要求,其一是APP开发者直接上传反映APP开发者特征的语音数据,不经过任何处理,这样做使得鲁棒性低;其二是APP开发者单独制作反映APP开发者特征的定制化的语音模型,该过程在执行的过程时间长,而且无法保证定制化的语音模型的质量。
在本说明书实施例的步骤S101中,该语音系统也可以应用于视频系统中,即已注册APP对应的服务端内储存视频基础训练模型。
步骤S102,调用客户端的语音合成文件。
在本说明书实施例S102中,已向语音SDK已注册APP有需要使用的语音合成文件时,语音SDK优先检测客户端是否存在,在客户端存在所需要调用的配置文件时,调用存放在客户端的语音合成文件,已注册APP可以根据语音合成文件进行语音播放。
步骤S103,根据预先存储的已注册APP对应的语音配置文件从已注册APP对应的服务端下载语音合成文件。
在本说明书实施例的步骤S103中,语音合成文件是根据预先储存的文本并由APP开发者定制化的语音模型所生成。若是在步骤S102的判断时语音合成文件不存在,说明该语音合成文件以前从未被已注册APP下载。
在本说明书实施例的步骤S103中,语音配置文件内置有语音合成文件的下载地址,已注册APP根据该语音合成文件的下载地址下载所需要使用的语音合成文件,以供已注册APP根据语音合成文件进行语音播放。
在本说明书实施例的步骤S103中,已注册APP根据语音合成文件进行语音播放之前,还需要对语音合成文件进行验证,具体步骤可以为:
步骤1、计算语音合成文件对应的第一摘要值。
在本说明书实施例的步骤1中,语音合成文件对应的第一摘要值检查下载的语音合成文件是否出错,或者说下载的语音合成文件是否被篡改的参数值。在本实施例中可以采用MD5摘要实现,其中,MD5是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保下载的语音配置文件是否出错,或者下载的语音配置文件是否被篡改。比如,在Unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:
MD5(tanajiya.tar.gz)=38b8c2c1093dd0fec383a9d9ac940515
这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。通俗来说,地球上任何人都有自己独一无二的指纹,这常常成为司法机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。下载站点中的MD5,它的作用就在于我们可以在下载文件后,对下载的文件用专门的软件(如Windows MD5 Check等)做一次MD5校验,以确保我们获得的文件与该站点提供的文件为同一文件。具体来说文件的MD5值就像是这个文件的“数字指纹”。每个文件的MD5值是不同的,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”就会发生变化。比如下载服务器针对一个文件预先提供一个MD5值,用户下载完该文件后,重新计算下载文件的MD5值,通过比较这两个值是否相同,就能判断下载的文件是否出错,或者说下载的文件是否被篡改了。
在本说明书实施例的步骤1中,计算第一摘要值是检查下载的语音合成文件是否出错,或者说下载的语音合成文件是否被篡改,实现对语音合成文件错误的实时检测,一旦语音合成文件内容发生错误,将直观地报出错误信息,防止错误在应用程序中蔓延。此外,检测语音合成文件的检查也可采用SHA256摘要实现。
步骤2,判断根据语音配置文件内预先储存的语音合成文件对应的第二摘要值与第一摘要值是否相同,若相同,则执行步骤3,若不相同,则返回步骤S103。
步骤3,已注册APP根据语音合成文件进行语音播放。
在本说明书实施例的步骤3中,已注册APP对应的服务端可以根据内置的私钥进行加密,加密的语音合成文件播放时需要根据解密模块存储的公钥解密后进行语音播放。
在本说明书实施例的步骤S103中,语音基础训练模型内配置有通用的语音数据库,该通用的语音数据库内包括交易金额、时间的语音播报,即APP开发者在文本中输入数字时通过定制化的语音模型可直接转化为交易的金额的语音或时间的语音合成文件,而非单纯的数字朗读,例如,文本中写入5:00时,语音合成文件播放出的语音为时间为5点。
上述步骤中,已注册APP需要使用语音合成文件时,检测客户端是否存该语音合成文件,在客户端存在该语音合成文件时优先调用客户端缓存的语音合成文件,减少整个语音系统的响应时间。
进一步的,为了该语音系统可以应用在安全的环境下,对于上述实施例做出了改变,图2为本说明书实施例提供的一种语音合成文件的调用方法的流程示意图,该流程示意图包括:
步骤S201,向已注册APP对应的服务端拉取语音配置文件。
在本说明书实施例的步骤S201中,已注册APP对应的定制化的语音模型将预先储存的文本转化为语音合成文件,已注册APP对应的语音配置文件包括该语音合成文件的语音列表。
步骤S202,接收已注册APP对应的服务端下发的语音配置文件,下发语音配置文件包括已注册APP对应的服务端对下发的语音配置文件进行加密后,分配给已注册APP对应的第一验证信息。
在本说明书实施例的步骤S202中,开发者APP在语音SDK进行注册,语音SDK连接有解密模块,该解密模块内可以通过TSM下发解密的公钥,该公钥为对应已注册APP对应的唯一公钥,服务端配置有对应的私钥,已注册APP对应的服务端对下发的语音配置文件由该私钥进行加密。公钥与私钥是一个密钥对,公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥和私钥组成的密钥对能保证在是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
进一步的,在本说明书实施例的步骤S202中,解密模块可以为SE模块,SE模块为确保系统安全的模块,通过安全芯片和芯片操作系统(COS)实现数据安全存储、加解密运算等功能。SE模块在安全体系里主要功能包括:密钥的安全存储、数据加密运算和信息的安全存放。密钥的安全存储可建立相对完善的密钥管理体系,保证密钥不可被读取。数据加密运算包括对于可靠的安全算法的支持、敏感数据密文传输和数据传输防篡改等。信息安全存放指的是严格的文件访问权限机制和可靠的认证算法和流程。本实施例中是将公钥放置SE模块中。SE模块可封装成各种形式,常见的有智能卡和嵌入式安全模块(eSE)等。本实施例中可以针对语音系统的语音SDK植入嵌入式安全模块(eSE),并采用满足CCEAL5+安全等级要求的智能安全芯片,内置安全操作系统,满足终端的安全密钥存储、数据加密服务的需求。使得该语音系统可广泛应用于金融、地图导航、城市交通、医疗、零售等领域,能保护系统在使用时安全性。
步骤S203,判断第一验证信息与客户端预先保存的第二验证信息是否匹配,若是,则执行步骤S204,若否,则结束流程。
在本说明书实施例的步骤S203中,根据已注册APP的标识从内置于客户端安全运行环境中预先保存的与已注册APP对应的第二验证信息;判断第一验证信息与第二验证信息是否匹配。其中,已注册APP的标识是该已注册APP的身份信息。
步骤S204,验证下发的语音配置文件正确。
步骤S205,检测客户端是否存在已注册APP所需要使用的语音合成文件,若存在,则执行步骤S206,若不存在,则执行步骤S207。
在本说明书实施例的步骤S205中,同上述步骤S101,不再赘述。
步骤S206,调用客户端的语音合成文件。
在本说明书实施例的步骤S206中,同上述步骤S102,不再赘述。
步骤S207,根据已注册APP对应的语音配置文件从已注册APP对应的服务端下载语音合成文件。
在本说明书实施例的步骤S207中,同上述步骤S103,不再赘述。
进一步的,本实施例中的语音系统还存在着服务端和已注册APP的同步问题,为了解决该问题,可以支持服务端主动推送的方式,即客户端的语音合成文件发生变化时服务端主动向客户端进行推送。
图3为本说明书实施例提供的一种语音合成文件的调用装置的结构示意图,该结构示意图包括:检测单元1、调用单元2、下载单元3、拉取单元4、接收单元5、判断单元6、验证单元7、训练单元8与计算单元9。
检测单元1用于检测客户端是否存在已注册APP所需要使用的语音合成文件,已注册APP为预先注册需要使用语音合成文件的APP。
调用单元2用于若检测出客户端存在语音合成文件,调用客户端的语音合成文件,以供已注册APP根据语音合成文件进行语音播放。
下载单元3用于若检测出客户端不存在语音合成文件,根据预先存储的已注册APP对应的语音配置文件从已注册APP对应的服务端下载语音合成文件,语音配置文件内置有语音合成文件的下载地址。
拉取单元4用于向已注册APP对应的服务端拉取语音配置文件。
接收单元5用于接收已注册APP对应的服务端下发的语音配置文件,下发语音配置文件包括已注册APP对应的服务端对下发的语音配置文件进行加密后,分配给已注册APP对应的第一验证信息。
判断单元6用于判断第一验证信息与客户端预先保存的第二验证信息是否匹配;
验证单元7用于在判断出第一验证信息与客户端预先保存的第二验证信息匹配时,验证下发的语音配置文件正确。
判断单元6具体用于:
根据已注册APP的标识从内置于客户端安全运行环境中预先保存的与已注册APP对应的第二验证信息;
判断第一验证信息与第二验证信息是否匹配。
训练单元8用于向已注册APP对应的服务端发送APP开发者提供的反映APP开发者特征的语音数据,以便已注册APP对应的服务端通过内置的语音基础训练模型训练出APP开发者定制化的语音模型,并根据预先储存的文本由APP开发者定制化的语音模型生成已注册APP对应的语音合成文件,语音基础训练模型为根据已注册APP播放语音的需要利用预先提供的若干语音样本训练得到的、可供已注册APP共用的模型。
计算单元9用于计算语音合成文件对应的第一摘要值;
判断单元6还用于判断根据语音配置文件内预先储存的语音合成文件对应的第二摘要值与第一摘要值是否相同;
判断单元6若判断出第二摘要值与第一摘要值相同时,则已注册APP根据语音合成文件进行语音播放。
已注册APP根据语音合成文件进行语音播放,具体包括:已注册APP对应的服务端根据预设规则对语音合成文件进行加密;加密的语音合成文件根据内置解密模块解密后,由已注册APP进行语音播放。
本说明书实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,计算机可读指令可被处理器执行以下步骤:
检测客户端是否存在已注册APP所需要使用的语音合成文件,已注册APP为预先注册需要使用语音合成文件的APP;
若检测出客户端不存在语音合成文件,根据预先存储的已注册APP对应的语音配置文件从已注册APP对应的服务端下载语音合成文件,语音配置文件内置有语音合成文件的下载地址;
若检测出客户端存在语音合成文件,调用客户端的语音合成文件,以供已注册APP根据语音合成文件进行语音播放。
本说明书实施例还提供一种语音合成文件的调用设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行以下步骤:
检测单元,用于检测客户端是否存在已注册APP所需要使用的语音合成文件,已注册APP为预先注册需要使用语音合成文件的APP;
下载单元,用于若检测出客户端不存在语音合成文件,根据预先存储的已注册APP对应的语音配置文件从已注册APP对应的服务端下载语音合成文件,语音配置文件内置有语音合成文件的下载地址;
调用单元,用于若检测出客户端存在语音合成文件,调用客户端的语音合成文件,以供已注册APP根据语音合成文件进行语音播放。
本说明书实施例提供的一种语音系统,包括终端、服务器,终端包括运行在终端中的语音SDK、已注册APP以及APP开发者端;
APP开发者端用于向已注册APP对应的服务端发送APP开发者提供的反映APP开发者特征的语音数据;
服务端用于通过内置的语音基础训练模型训练出APP开发者定制化的语音模型,并将预先储存的文本输入APP开发者定制化的语音模型以生成已注册APP需要的语音合成文件,语音基础训练模型为根据已注册APP播放语音的需要利用预先提供的若干语音样本训练得到的、可供已注册APP共用的模型;
语音SDK用于向已注册APP对应的服务端拉取语音配置文件;接收已注册APP对应的服务端下发的语音配置文件,下发语音配置文件包括已注册APP对应的服务端对下发的语音配置文件进行加密后,分配给已注册APP对应的第一验证信息;判断第一验证信息与客户端预先保存的第二验证信息是否匹配;在判断出第一验证信息与客户端预先保存的第二验证信息匹配时,则验证下发的语音配置文件正确;检测客户端是否存在已注册APP所需要使用的语音合成文件,已注册APP为预先注册需要使用语音合成文件的APP;若检测出客户端不存在语音合成文件,根据已注册APP对应的语音配置文件从已注册APP对应的服务端下载语音合成文件,语音配置文件内置有语音合成文件的下载地址;若检测出客户端存在语音合成文件,调用客户端的语音合成文件,以供已注册APP根据语音合成文件进行语音播放。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。