一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种语音合成及播报的方法、系统及介质与流程

2021-11-05 23:19:00 来源:中国专利 TAG:


1.本发明涉及语音合成及播报技术领域,特别是涉及一种语音合成及播报的系统、方法及介质。


背景技术:

2.随着互联网技术的发展,语音合成技术的应用场景越来越广泛,特别是在现今的智能语音应用方面,语音合成技术显得尤为重要。
3.目前语音合成的解决方案主要分为联网和未联网两种情况,联网时,目前的解决方案一般是选择科大讯飞的在线语音合成库sdk进行语音文件的合成及播报;未联网时,目前的解决方案主要是使用科大讯飞的离线语音库外。
4.科大讯飞的离线语音合成使用的是给予windows的sdk,传入需要转换的文本,最终生成wav语音文件。目前科大讯飞为提供基于java版本的sdk,只能通过windows版本进行转换,通过jni技术实现java调用dll接口的形式实现。此方案基于windows平台,需要经过一层封装,比较冗余,并且科大讯飞离线音库是收费的,增加了使用成本。


技术实现要素:

5.本发明主要解决的是未联网情况下科大讯飞语音合成过程冗余且使用成本增加的问题。
6.为解决上述问题,本发明采用的一个技术方案是:提供一种语音合成及播报的方法,包括以下步骤:
7.初始化:对speech控件和jacob插件执行安装操作;
8.调用接口:通过所述jacob插件调用所述speech控件;
9.合成语音文件:获取语音文本,所述speech控件根据所述语音文本执行文本转语音操作,得到语音文件;
10.检测语音文件:对所述语音文件执行试听操作,得到试听结果;根据所述试听结果,执行保存文件操作或者执行重录操作;
11.发送文件地址:发送所述语音文件的地址至前端;
12.加载语音文件:根据所述地址执行语音文件加载操作。
13.进一步,所述初始化的步骤进一步包括:安装所述speech控件的sdk核心控件与所述speech控件的语言包至开发环境;
14.将所述jacob插件的安装文件安装至目标文件夹,将所述jacob插件的jar包导入所述开发环境。
15.进一步,所述调用接口的步骤进一步包括:通过所述jacob插件调用所述speech控件的speech接口,设定第一参数、第二参数、第三参数、第四参数和第五参数的值。
16.进一步,所述合成语音文件的步骤进一步包括:将所述语音文本写入第一文本文件,将所述第一文本文件发送至所述speech接口,所述speech接口根据所述第一参数、所述
第二参数、所述第三参数、所述第四参数和所述第五参数对所述语音文本进行合成,得到所述语音文件。
17.进一步,所述试听结果包括第一试听结果和第二试听结果;所述对所述语音文件执行试听操作,得到试听结果的步骤进一步包括:通过所述jacob插件调用所述speech控件的语音播放接口对所述语音文件进行播放试听:
18.若所述语音文件的属性正确,则得到第一试听结果;
19.若所述语音文件的属性错误,则得到第二试听结果。
20.进一步,所述根据所述试听结果,执行保存文件操作或者执行重录操作的步骤进一步包括:
21.若所述试听结果为所述第一试听结果,则执行保存文件操作,将所述语音文件保存至目标语音文件夹;
22.若所述试听结果为所述第二试听结果,则执行重录操作,进入所述合成语音文件的步骤。
23.进一步,所述发送文件地址的步骤进一步包括:所述jacob插件读取所述目标语音文件夹中所述语音文件的地址,并将所述地址发送至所述网页端。
24.进一步,所述加载语音文件的步骤进一步包括:所述网页端接收所述地址,根据所述地址,所述网页通过webscoket协议加载所述语音文件。
25.一种语音合成及播报的系统,包括:初始化模块、调用接口模块、合成语音文件模块、检测语音文件模块、发送文件地址模块和加载语音文件模块;
26.所述初始化模块用于对speech控件和jacob插件执行安装操作;
27.所述调用接口模块用于通过所述jacob插件调用所述speech控件;
28.所述合成语音文件模块用于获取语音文本,所述speech控件根据所述语音文本执行文本转语音操作,得到语音文件;
29.所述检测语音文件模块用于对所述语音文件执行试听操作,得到试听结果;根据所述试听结果,执行保存文件操作或者执行重录操作;
30.所述发送文件地址模块用于发送所述语音文件的地址至前端;
31.所述加载语音文件模块用于根据所述地址执行语音文件加载操作。
32.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的一种语音合成及播报的方法的步骤。
33.本发明的有益效果是:
34.1、本发明所述的语音合成及播报的方法,可以实现java直接调用speech接口合成语音文件,提升语音文件合成效率;
35.2、本发明所述的语音合成及播报的系统,可以实现通过网页加载已合成的语音文件的播报,无需使用播放器,节约语音播报时间;
36.3、本发明所述的语音合成及播报的介质,可以实现java直接调用免费的speech空间合成语音和播放语音,降低开发成本。
附图说明
37.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体
实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1是本发明实施例1所述的语音合成及播报的方法的流程图;
39.图2是本发明实施例2所述的语音合成及播报的系统的示意图。
具体实施方式
40.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,“安装”、“调用”、“合成”、“文本转语音”、“试听”、“重录”、“网页端”、“地址”、“语言包”、“开发环境”、“接口”、“属性”、“webscoket协议”、“加载”等术语应做广义理解。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
42.此外,术语“第一”、“第二”、“第三”、“第四”、“第五”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”、“第四”、“第五”的特征可以明示或者隐含地包括至少一个该特征。
43.需要说明的是,在本发明的描述中,
44.sdk(software development kit)是软件开发工具包;
45.jni(java native interface)是java本地接口;
46.dll(delay—locked loop)是延迟锁相环;
47.jacob是一个java

com中间件,可以在java应用程序中调用com组件和win32程序库;
48.websocket是一种在单个tcp连接上进行全双工通信的协议。
49.实施例1
50.需要首先说明的是,本实施例所依赖的java开发环境需要提前搭建完成,因为java开发环境的搭建是本专业技术人员所必备的常识,也不在本发明所述保护的范围内,故此处不再赘述。
51.本发明实施例提供一种语音合成及播报的方法,请参阅图1,包括以下步骤:
52.s100、初始化:
53.在java开发环境中安装speech安装包,主要包括sdk核心控件和语言包,语言包安装成功才可以支持中文语音的合成。
54.在java开发环境中安装jacob插件,此处需要区分java开发环境所在的操作系统是32位操作系统还是64位操作系统,按照操作系统的位数,选择对应的jacob插件版本,将jacob插件文件复制到目标文件夹,即java开发环境的jdk的安装目录,再将jacob.jar导入java开发环境,通过java代码验证jacob插件是否安装成功。
55.s200、调用接口:
56.通过jacob插件调用speech控件的speech接口,在java开发环境中开发基于jacob的语音文件操作类,包括操作speech控件的类、设置speech控件属性的类以及语音文件合
成的类,再基于websocket协议完成语音服务接口的开发。
57.设定第一参数、第二参数、第三参数、第四参数和第五参数的值,第一参数为spvoice音频文件对象,第二参数为spfilestream音频文件输出流对象,第三参数为spaudioformat音频文件格式对象,第四参数为音频文件音量,第五参数为音频文件朗读语速。
58.s300、合成语音文件:
59.将待录音的语音文本写入第一文件,为了更清楚地解释本发明,此处设定第一文件为文本文件,需要说明的是,这并不代表本发明所保护的第一文件仅限于文本文件,java代码读取文本文件中的语音文本内容并传递至speech接口,speech接口根据设定的spvoice、spfilestream、spaudioformat、音频文件音量和音频文件朗读语速的值,将语音文本合成为语音文件,保存在临时文件目录。
60.s400、检测语音文件:
61.jacob插件调用speech控件的语音播报接口播报存储在临时文件目录中的语音文件,对照文本文件中的语音文本内容进行试听,判断语音文件的属性是否正确,语音文件的属性包括:语音文件播报的文字内容、语音文件的音量和语音文件的播报的语速等信息:
62.若语音文件的属性均符合设定要求,则得到第一试听结果,即录音正确;
63.若语音文件的属性有至少一项不符合设定要求,则得到第二试听结果,即录音失败。
64.若录音成功,则执行保存文件操作,即将语音文件从临时文件目录复制到目标语音文件目录,目标语音文件目录可以根据实际需求进行设定,此处不再赘述,并删除临时文件目录中的语音文件;
65.若录音失败,则执行重录操作,即流程跳转至s300步骤。
66.s500、发送文件地址:
67.java代码读取目标语音文件目录中语音文件的地址,并将该地址信息通过webscoket协议发送至前端的网页。
68.s600、加载语音文件:
69.前端接收到语音文件的地址后,根据需求,网页通过webscoket协议读取对应的语音文件,并播报。
70.实施例2
71.需要首先说明的是,本实施例所依赖的java开发环境需要提前搭建完成,因为java开发环境的搭建是本专业技术人员所必备的常识,也不在本发明所述保护的范围内,故此处不再赘述。
72.本发明实施例还提供一种语音合成及播报的系统,请参阅图2,包括:初始化模块、调用接口模块、合成语音文件模块、检测语音文件模块、发送文件地址模块和加载语音文件模块;
73.初始化模块:
74.初始化模块用于对speech控件和jacob插件执行安装操作;
75.具体地,初始化模块在java开发环境中安装speech安装包,主要包括sdk核心控件和语言包,语言包安装成功才可以支持中文语音的合成。
76.初始化模块在java开发环境中安装jacob插件,此处需要区分java开发环境所在的操作系统是32位操作系统还是64位操作系统,按照操作系统的位数,选择对应的jacob插件版本,将jacob插件文件复制到目标文件夹,即java开发环境的jdk的安装目录,再将jacob.jar导入java开发环境,通过java代码验证jacob插件是否安装成功。
77.调用接口模块:
78.调用接口模块用于通过jacob插件调用speech控件;
79.具体地,调用接口模块通过jacob插件调用speech控件的speech接口,在java开发环境中开发基于jacob的语音文件操作类,包括操作speech控件的类、设置speech控件属性的类以及语音文件合成的类,再基于websocket协议完成语音服务接口的开发。
80.调用接口模块设定第一参数、第二参数、第三参数、第四参数和第五参数的值,第一参数为spvoice音频文件对象,第二参数为spfilestream音频文件输出流对象,第三参数为spaudioformat音频文件格式对象,第四参数为音频文件音量,第五参数为音频文件朗读语速。
81.合成语音文件模块:
82.合成语音文件模块用于获取语音文本,speech控件根据语音文本执行文本转语音操作,得到语音文件;
83.具体地,合成语音文件模块将待录音的语音文本写入第一文件,为了更清楚地解释本发明,此处设定第一文件为文本文件,需要说明的是,这并不代表本发明所保护的第一文件仅限于文本文件,java代码读取文本文件中的语音文本内容并传递至speech接口,speech接口根据设定的spvoice、spfilestream、spaudioformat、音频文件音量和音频文件朗读语速的值,将语音文本合成为语音文件,保存在临时文件目录。
84.检测语音文件模块:
85.检测语音文件模块用于对语音文件执行试听操作,得到试听结果;根据试听结果,执行保存文件操作或者执行重录操作;
86.具体地,检测语音文件模块通过jacob插件调用speech控件的语音播报接口播报存储在临时文件目录中的语音文件,对照文本文件中的语音文本内容进行试听,判断语音文件的属性是否正确,语音文件的属性包括:语音文件播报的文字内容、语音文件的音量和语音文件的播报的语速等信息:
87.若语音文件的属性均符合设定要求,则得到第一试听结果,即录音正确;
88.若语音文件的属性有至少一项不符合设定要求,则得到第二试听结果,即录音失败。
89.若录音成功,则执行保存文件操作,即将语音文件从临时文件目录复制到目标语音文件目录,目标语音文件目录可以根据实际需求进行设定,此处不再赘述,并删除临时文件目录中的语音文件;
90.若录音失败,则执行重录操作,即进入合成语音文件模块重新录制语音文件。
91.发送文件地址模块:
92.发送文件地址模块用于发送语音文件的地址至前端;
93.具体地,发送文件地址模块读取目标语音文件目录中语音文件的地址,并将该地址信息通过webscoket协议发送至前端的网页。
94.加载语音文件模块:
95.加载语音文件模块用于根据地址执行语音文件加载操作;
96.具体地,前端网页接收到语音文件的地址后,加载语音文件模块根据需求,通过webscoket协议读取对应的语音文件,并播报。
97.实施例3
98.本实施例3具有一种计算机可读存储介质,所述存储介质用于储存将上述实施例1所述的语音合成及播报的方法实现所用的计算机软件指令,其包含用于语音合成及播报的方法所设置的程序;具体地,该可执行程序可以内置于实施例2所述的语音合成及播报的系统中,这样,语音合成及播报的系统就可以通过执行内置的可执行程序实现所述实施例1的语音合成及播报的方法。
99.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
100.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
101.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献