文件存储与查询的方法及装置、存储介质制造方法及图纸

技术编号:25479336 阅读:22 留言:0更新日期:2020-09-01 23:00
本发明专利技术提供一种文件存储与查询的方法及装置、存储介质,所述方法包括:获取待进行语音合成的文本,对所述文本进行HASH值计算,得到所述文本的HASH值;以所计算的HASH值作为文件名,在设定的语音文件目录下查询是否存在相同文件名的语音文件;查询到存在相同文件名的语音文件,调用所述相同文件名的语音文件,将所述相同文件名的语音文件作为所述文本的语音文件;未查询到相同文件名的语音文件时,基于所述文本进行语音合成,以所计算的HASH值作为所合成的语音文件的文件名,将所合成的语音文件存储在所述设定的语音文件目录中。本发明专利技术由于通过了严格的文本压缩算法,保证了文本精确去重,防止同样的文本合成多次,节约了处理资源。

【技术实现步骤摘要】
文件存储与查询的方法及装置、存储介质
本专利技术涉及智能语音处理中的文件存储技术,尤其涉及一种文件存储与查询的方法及装置、存储介质。
技术介绍
在智能语音技术中,存在一个必不可少的环节,就是文本转语音(TTS,TextToSpeech),语音合成时需要处理文本、文本转拼音、拼音转矩阵等一系列的消耗系统资源及耗时的过程,对于已经合成过的文本,希望通过缓存来查找语音。对于缓存方案,就是要找到合成文本与合成语音文件的对应关系,这种对应关系可以在数据库中保存,像关系型数据库管理系统(MySQL,StructuredQueryLanguage)、postgresql这种关系型数据库,通过表结构来反应对应关系,或者像redis、memcache这种非关系型数据库存储,通过键值对来反应对应关系,但是无论哪种对应关系的存储方案,都需要以下几个步骤:合成语音的生成、语音文件在文件系统的存储、保存或设置文本及文件存储路径的对应关系、查询文本及文件存储路径的对应关系是否存在、根据是否存在来合成语音或者返回存在的语音文件。这样的方式从开发上,会和数据库进行多次交互;从效率上讲,需要借助于数据库的插入和查询,会有一定的耗时;从安全上讲,数据库中的数据一旦丢失,就会丢失所有的对应关系。
技术实现思路
有鉴于此,本专利技术的一个方式提供一种文件存储与查询的方法及装置、存储介质。本专利技术一方面提供一种文件存储与查询的方法,包括:获取待进行语音合成的文本,对所述文本进行哈希HASH值计算,得到所述文本的HASH值;以所计算的HASH值作为文件名,在设定的语音文件目录下查询是否存在相同文件名的语音文件;查询到存在相同文件名的语音文件,调用所述相同文件名的语音文件,将所述相同文件名的语音文件作为所述文本的语音文件;未查询到相同文件名的语音文件时,基于所述文本进行语音合成,以所计算的HASH值作为所合成的语音文件的文件名,将所合成的语音文件存储在所述设定的语音文件目录中。作为一种优选实现方式,所述方法还包括:获取所述文本的声优、音量、语速、口音的信息至少之一,将所获取的声优、音量、语速、口音中的至少之一与所述文本拼接,形成拼接文本,对所述拼接文本进行哈希HASH值计算,得到所述拼接文本的HASH值。以所计算的HASH值作为文件名,在设定的语音文件目录下查询是否存在相同文件名的语音文件;查询到存在相同文件名的语音文件,调用所述相同文件名的语音文件,将所述相同文件名的语音文件作为所述拼接文本的语音文件;未查询到相同文件名的语音文件时,基于所述拼接文本进行语音合成,以所计算的HASH值作为所合成的语音文件的文件名,将所合成的语音文件存储在所述设定的语音文件目录中。作为一种优选实现方式,所述方法还包括:设定存储语音文件的固定地址池,将所述固定地址池作为所述语音文件目录;或者获取所述文本的HASH散列值,将所述HASH散列值中指定开始位置和结束位置对应的字符串作为语音文件目录。作为一种优选实现方式,所述方法还包括:根据所述文本的HASH散列值,将所述文本对应的语音文件、所述文本的声优、音量、语速、口音的信息至少之一的属性信息进行多级分层存储。本专利技术另一方面提供一种文件存储与查询的装置,包括:获取单元,用于获取待进行语音合成的文本;计算单元,用于对所述文本进行哈希HASH值计算,得到所述文本的HASH值;查询单元,用于以所计算的HASH值作为文件名,在设定的语音文件目录下查询是否存在相同文件名的语音文件;调用单元,用于在所述查询单元查询到存在相同文件名的语音文件,调用所述相同文件名的语音文件,将所述相同文件名的语音文件作为所述文本的语音文件;语音合成单元,用于在所述查询单元未查询到相同文件名的语音文件时,基于所述文本进行语音合成;存储单元,用于以所计算的HASH值作为所合成的语音文件的文件名,将所合成的语音文件存储在所述设定的语音文件目录中。作为一种优选实现方式,所述获取单元,还用于获取所述文本的声优、音量、语速、口音的信息至少之一;所述装置还包括:拼接单元,用于将所获取的声优、音量、语速、口音中的至少之一与所述文本拼接,形成拼接文本;所述计算单元,还用于对所述拼接文本进行哈希HASH值计算,得到所述拼接文本的HASH值;所述查询单元,还用于以所计算的HASH值作为文件名,在设定的语音文件目录下查询是否存在相同文件名的语音文件;所述调用单元,还用于在所述查询单元查询到存在相同文件名的语音文件,调用所述相同文件名的语音文件,将所述相同文件名的语音文件作为所述拼接文本的语音文件;所述语音合成单元,还用于在所述查询单元未查询到相同文件名的语音文件时,基于所述拼接文本进行语音合成;所述存储单元,还用于以所计算的HASH值作为所合成的语音文件的文件名,将所合成的语音文件存储在所述设定的语音文件目录中。作为一种优选实现方式,所述装置还包括:设定单元,用于设定存储语音文件的固定地址池,将所述固定地址池作为所述语音文件目录。作为一种优选实现方式,所述计算单元,还用于计算所述文本的HASH散列值;所述设定单元,还用于将所述HASH散列值中指定开始位置和结束位置对应的字符串作为语音文件目录。作为一种优选实现方式,所述存储单元,还用于根据所述文本的HASH散列值,将所述文本对应的语音文件、所述文本的声优、音量、语速、口音的信息至少之一的属性信息进行多级分层存储。本专利技术又一方面提供一种计算机可读存储介质,其上存取有计算机指令,所述指令被处理器执行时实现如前述的文件存储与查询的方法。本专利技术中,针对智能语音机器人的智能语音播报这一应用场景,对于输入的文本,并不直接进行语音合成,而是利用文本与语音文件之间的高度对应性,将文本及文本语音合成后的语音文件进行对应存储,以方便后续有相同的文本时,直接调用所合成的语音文件即可。而现有技术中,存储对应关系的数据时,除了关系数据库之外,再无其他存储方式,而本专利技术基于文本可进行熵压缩且压缩值唯一这一特性,将文本压缩后的信息作为语音文本的标识名称,以此仅保存语音文件,通过同样的压缩算法即可确定当前待合成的文本是否存在已合成的语音文件,以此来提升语音合成的效率。本专利技术的技术方案,智能语音无需借助于数据库进行插入和查询操作,提高了开发效率、查询效率,且无数据安全问题。本专利技术由于通过了严格的文本压缩算法,保证了文本精确去重,防止同样的文本合成多次,节约了处理资源。附图说明图1为本专利技术的文件存储与查询的方法的流程示意图;图2为本专利技术的文件存储与查询装置的组成结构示意图。具体实施方式以下结合附图,详细阐明本专利技术技术方案的实质。本专利技术的技术方案就是利用文件系统存储,结合基于文本内容的HASH算法存储的缓存方法,来提高语音文件的缓存效率,由于在一系列的过本文档来自技高网...

【技术保护点】
1.一种文件存储与查询的方法,其特征在于,所述方法包括:/n获取待进行语音合成的文本,对所述文本进行哈希HASH值计算,得到所述文本的HASH值;/n以所计算的HASH值作为文件名,在设定的语音文件目录下查询是否存在相同文件名的语音文件;/n查询到存在相同文件名的语音文件,调用所述相同文件名的语音文件,将所述相同文件名的语音文件作为所述文本的语音文件;未查询到相同文件名的语音文件时,基于所述文本进行语音合成,以所计算的HASH值作为所合成的语音文件的文件名,将所合成的语音文件存储在所述设定的语音文件目录中。/n

【技术特征摘要】
1.一种文件存储与查询的方法,其特征在于,所述方法包括:
获取待进行语音合成的文本,对所述文本进行哈希HASH值计算,得到所述文本的HASH值;
以所计算的HASH值作为文件名,在设定的语音文件目录下查询是否存在相同文件名的语音文件;
查询到存在相同文件名的语音文件,调用所述相同文件名的语音文件,将所述相同文件名的语音文件作为所述文本的语音文件;未查询到相同文件名的语音文件时,基于所述文本进行语音合成,以所计算的HASH值作为所合成的语音文件的文件名,将所合成的语音文件存储在所述设定的语音文件目录中。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述文本的声优、音量、语速、口音的信息至少之一,将所获取的声优、音量、语速、口音中的至少之一与所述文本拼接,形成拼接文本,对所述拼接文本进行哈希HASH值计算,得到所述拼接文本的HASH值;
以所计算的HASH值作为文件名,在设定的语音文件目录下查询是否存在相同文件名的语音文件;
查询到存在相同文件名的语音文件,调用所述相同文件名的语音文件,将所述相同文件名的语音文件作为所述拼接文本的语音文件;未查询到相同文件名的语音文件时,基于所述拼接文本进行语音合成,以所计算的HASH值作为所合成的语音文件的文件名,将所合成的语音文件存储在所述设定的语音文件目录中。


3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
设定存储语音文件的固定地址池,将所述固定地址池作为所述语音文件目录;或者
获取所述文本的HASH散列值,将所述HASH散列值中指定开始位置和结束位置对应的字符串作为语音文件目录。


4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述文本的HASH散列值,将所述文本对应的语音文件、所述文本的声优、音量、语速、口音的信息至少之一的属性信息进行多级分层存储。


5.一种文件存储与查询的装置,其特征在于,所述装置包括:
获取单元,用于获取待进行语音合成的文本;
计算单元,用于对所述文本进行哈希HASH值计算,得到所述文本的HASH值;
查询单元,用于以所计算的HASH值作为文件名,在设定的语音文件目录下查询是否存在相同文件名的语音文件;...

【专利技术属性】
技术研发人员:郑金磊刘华周伟东喻凌刘凯
申请(专利权)人:北京太极华保科技股份有限公司
类型:发明
国别省市:北京;11

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

1