AndroidTTS离线文字转语音技术
来源:互联网 发布:linux pkg config 编辑:程序博客网 时间:2024/05/22 14:33
在我们开发过程中,用到语音技术大概就是文字转语音以及语音转文字了,知会一种另外一种也就会了。最近项目里用到了语音提示,并且要离线使用,体验会更好,因为网络差或者其他情况,在线文字转语音会有问题,下面说说离线文字转语音技术。
一、第三方SDK选择
我们首选还是运用第三方服务吧,自己开发真的有点费劲,目前有百度TTS、讯飞TTS、云知声TTS等,我选择的云知声,根据方案的不同,可以选择离线服务,如离线的唤醒、命令词控制和离线合成,并且是完全免费的。先看下SDK:
一个动态库libyzstts.so,一个jar包usc.jar,一个assets文件夹。其中assets文件夹里的文件就是离线使用到的内容,引入到我们工程下:
添加相应的权限:
二、封装
(1)、初始化SDK,我采用单例模式,将所有语音合成业务封装成一个类,并且开放一个接口提供外部使用,这样方便多次复用,而且可以高扩展。看下如源码:
这就完成了初始化,initialEnv()方法是复制离线模型到本地SD卡。
(2)、播放、停止、资源释放,SDK提供了很方便的方法,我都一 一封装了
(3)、提供统一的对外方法,在需要使用的地方,只需要调用此类的相关方法即可
三、使用
为了上层使用方便,进行了二次封装,统一在一个类调用,维护等。
于是,最终使用就是TTS.speck_input(上下文参数),这样就能将文字转换成语音并播放了。
在我们开发过程中,用到语音技术大概就是文字转语音以及语音转文字了,知会一种另外一种也就会了。最近项目里用到了语音提示,并且要离线使用,体验会更好,因为网络差或者其他情况,在线文字转语音会有问题,下面说说离线文字转语音技术。
一、第三方SDK选择
我们首选还是运用第三方服务吧,自己开发真的有点费劲,目前有百度TTS、讯飞TTS、云知声TTS等,我选择的云知声,根据方案的不同,可以选择离线服务,如离线的唤醒、命令词控制和离线合成,并且是完全免费的。先看下SDK:
一个动态库libyzstts.so,一个jar包usc.jar,一个assets文件夹。其中assets文件夹里的文件就是离线使用到的内容,引入到我们工程下:
添加相应的权限:
二、封装
(1)、初始化SDK,我采用单例模式,将所有语音合成业务封装成一个类,并且开放一个接口提供外部使用,这样方便多次复用,而且可以高扩展。看下如源码:
这就完成了初始化,initialEnv()方法是复制离线模型到本地SD卡。
(2)、播放、停止、资源释放,SDK提供了很方便的方法,我都一 一封装了
(3)、提供统一的对外方法,在需要使用的地方,只需要调用此类的相关方法即可
三、使用
为了上层使用方便,进行了二次封装,统一在一个类调用,维护等。
于是,最终使用就是TTS.speck_input(上下文参数),这样就能将文字转换成语音并播放了。
阅读全文
0 0
- AndroidTTS离线文字转语音技术
- Android文字转语音TTS离线程序
- iOS 文字转语音
- 文字转语音
- Android文字转语音
- Android文字转语音
- iOS文字 转 语音
- 文字转语音AVSpeechSynthesizer
- iOS-文字转语音
- 文字转语音
- 文字转语音软件
- 文字转语音地址
- unity 文字转语音
- 文字转语音免费导出,语音来至讯飞
- .NET 语音转文字 文字转语音
- 科大讯飞文字转语音功能
- iOS文字转语音播放
- IOS文字转语音DEMO
- Codeforces 820A Mister B and Book Reading
- AJax+Servlet 跨域问题 Access-Control-Allow-Origin
- cdh spark history无法查看历史数据
- Java类加载器及tomcat类加载器解析
- 如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件
- AndroidTTS离线文字转语音技术
- 【HTTP协议】-TCP/IP协议集与HTTP协议
- 数据属性和访问器属性
- 第 11 章 散列表
- 做好公司各部门数据报表支撑的几个简单思维
- 重拾博客
- The given object has a null identifier
- 串口通信原理和简介
- Send a Table 欧拉函数UVA