AndroidTTS离线文字转语音技术

来源:互联网 发布:linux pkg config 编辑:程序博客网 时间:2024/05/22 14:33

AndroidTTS离线文字转语音技术 让你的APP会说话!

在我们开发过程中,用到语音技术大概就是文字转语音以及语音转文字了,知会一种另外一种也就会了。最近项目里用到了语音提示,并且要离线使用,体验会更好,因为网络差或者其他情况,在线文字转语音会有问题,下面说说离线文字转语音技术。


一、第三方SDK选择

我们首选还是运用第三方服务吧,自己开发真的有点费劲,目前有百度TTS、讯飞TTS、云知声TTS等,我选择的云知声,根据方案的不同,可以选择离线服务,如离线的唤醒、命令词控制和离线合成,并且是完全免费的。先看下SDK:

一个动态库libyzstts.so,一个jar包usc.jar,一个assets文件夹。其中assets文件夹里的文件就是离线使用到的内容,引入到我们工程下:

AndroidTTS离线文字转语音技术 让你的APP会说话!


添加相应的权限:

AndroidTTS离线文字转语音技术 让你的APP会说话!


二、封装

(1)、初始化SDK,我采用单例模式,将所有语音合成业务封装成一个类,并且开放一个接口提供外部使用,这样方便多次复用,而且可以高扩展。看下如源码:

AndroidTTS离线文字转语音技术 让你的APP会说话!


这就完成了初始化,initialEnv()方法是复制离线模型到本地SD卡。

AndroidTTS离线文字转语音技术 让你的APP会说话!


(2)、播放、停止、资源释放,SDK提供了很方便的方法,我都一 一封装了

AndroidTTS离线文字转语音技术 让你的APP会说话!


(3)、提供统一的对外方法,在需要使用的地方,只需要调用此类的相关方法即可

AndroidTTS离线文字转语音技术 让你的APP会说话!


三、使用

为了上层使用方便,进行了二次封装,统一在一个类调用,维护等。

AndroidTTS离线文字转语音技术 让你的APP会说话!

于是,最终使用就是TTS.speck_input(上下文参数),这样就能将文字转换成语音并播放了。

原创粉丝点击