Android中文语音合成(TTS)

转载自Yao.GUET的博客http://blog.csdn.net/yao_guet/article/details/7231489#comments

Android系统从1.6版本开始就支持TTS(Text-To-Speech),也就是我们所说的语音合成,不过遗憾的是系统默认的TTS引擎:Pico TTS,并不支持中文。

由此对于广大的炎黄子孙不得不安装我们自己的TTS引擎跟语言包,由此而拉开本文的篇章。


随着IPhone4S Siri的推出,让语音识别与语音合成TTS火了一把,同时也给国内的两家公司:科大讯飞和捷声华通,带来了很大的关注。这两家都是做中文语音识别与语音合成的。在这里只是讨论一下中文语音合成,至于中文语音识别,应该这两家也是提供了网络识别的类库的,就不在本篇讨论的范围了。

中文语音合成(TTS),可以分为两大类吧,一类是跟系统接口吻合的,一类是不与系统接口吻合的。

如果是跟系统接口吻合的都是把TTS引擎跟语言包数据分开。像系统默认的Pico TTS, SVOX, 科大讯飞等就是这样。它的好处应该是可以通过系统提供的接口去使用TTS功能,也便于做多国语言的拓展。但是这样的话,估计也会存在一些不便,例如,设置语音朗读的角色跟设置语速的快慢就得通过系统的接口去设置。

另外一类就是不跟系统吻合的,这种大部分都是会把引擎和语言包打包成一个apk包,然后安装完之后,通过指定的接口去调用其所提供的中文语音合成功能。

除了这两类方法之外,还有一些是直接把TTS功能做成共享库so文件,然后通过NDK去调用TTS的功能。这一种就比较好,因为不需要额外的再安装TTS引擎跟语言包,并且可以直接在应用里面设置朗读人是男声还是女声,语速等。像旧版本的科大讯飞就是以这种形式出现的,比较有代表的应用是“听书”或者“vBook”,大家可以找到这两个应该学习一下,因为NDK的接口不是很复杂,但是有可能会时不时蹦出“科大讯飞XXXX”的广告来,啊哈~~

这两类TTS引擎,各有所长吧,大家可以根据自己的需要去使用相应的TTS,不过各家TTS质量可是有很大的差别的哦~~~

下面来讨论一下菜单上有名的中文语音合成TTS,以及各自的差异。


先说第一类,跟系统接口吻合的。

一,讯飞语音TTS1.0

这个原来讯飞是没有这个与系统接口吻合的TTS的,原来是以动态库的形式的,最近才以这种apk的形式华丽登场,合成的效果清晰流畅,不生硬,英文也读得挺好的,听起来很舒服,,,

谁有需要可以去酷安网下载试用一下,记得下载语言包哦~. http://www.coolapk.com/apk-4526-com.iflytek.tts/


二,SVOX

开始没有讯飞的时候,用了一下SVOX,这个也做得很强大,N多的语言支持,中文不仅支持普通话,还支持广东话!不过有一些感觉吐字不是很清晰,听感不是很好,不过还好,因为大部分是可以听得懂的,下载地址:http://www.coolapk.com/apk-4192-com.svox.classic.langpack.cmn_chn_fem/


三,三星TTS

三星TTS,支持韩文,中文跟英文,每一字吐字还比较清晰,但是连起来的时候,不是很顺畅,大家可以自己感受一下。

安装apk,然后把SMT文件夹整个拷贝到SD卡的根目录

下载地址是:http://115.com/file/e7z2iliv



第二类是以独立的apk形式存在的主要在下面的两种

一,捷通华声

捷通华声也是中文语音做得比较好的,跟科大讯飞有得一拼。它的调用方法是使用java的反射机制来使用已经安装的TTS类。需要学习一下“捷通华声听书”才能大概知道怎么使用该TTS,不过也还好,因为通常学习过来不会太长,,,

里面可爱宝宝的声音比较好玩,但是好像用宝宝声音读英语会出问题

捷通华声TTS语音包下载地址:http://www.yingyong.so/app/3/1917.htm

捷通华声听书下载地址:http://www.yingyong.so/app/3/1916.htm (要使用捷通华声TTS,这个是必要的学习工具哦~~)


二,手说TTS

手说也是独立安装的一个TTS引擎,目前好像只支持中文语言。它接口公开,语音质量还行,呵呵,它的使用方法在例程里面有很详细的介绍,大家有兴趣可以看一下,

手说的主页:http://shoushuo.com/index.html



对于第一种作为切合系统接口的TTS中文引擎,安装之后,需要安装语言包,然后还得简单的设置一下才可以使用,方法如下:

设置-》语音输入与输出-》文字转语音设置,把对应的TTS引擎后面的勾,勾上,再在“默认引擎”里面设置你所需要的TTS,然后就可以聆听示例了。

而对于第二种,一般都会带有一个activity可以聆听示例的。


如果已经设置好系统默认的TTS引擎跟语言,调用系统TTS接口极其简单,就下面几句话:

初始化TTS引擎

TextToSpeech mTTS = new TextToSpeech(this, initListener);

文字到语音

mTTS.speak("中文TTS", TextToSpeech.QUEUE_FLUSH, null);

回收

mTTS.shutdown();

当然要写好还得考虑没有安装TTS引擎或语言包的情况,上面只是一个小小的示例。。。


最后,个人感觉科大讯飞的中文TTS,跟捷通华声的音色都比较自然,应该是目前所有的中文TTS里面最好的了,大家可以看着使用吧,,,



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android系统Google TTS语音数据包是安卓系统预装的一个语音合成引擎,也是谷歌公司的一款TTS(Text-to-speech)软件。该软件可以将文字转化为语音进行播报,支持多种语言的发声,并且具有较高的连贯性和真实感。移动设备用户可以通过该软件将电子书、短信息、电子邮件等文字内容直接转化为语音播报,无需手动切换。由于其强大的功能和良好的稳定性,Google TTS已成为Android系统中备受欢迎的一款TTS软件。 Google TTS语音数据包通过实时合成语音的方式,同时支持在线和离线语音合成,包含了丰富的语种,可以根据用户需求实现多语言的翻译和发音。当移动设备处于无网络状态时,离线语音包也可以让用户正常使用文本转语音的功能。 总的来说,Android系统Google TTS语音数据包是一款非常实用和高效的语音合成软件,可以为用户提供更加舒适、便利的移动设备使用体验。其在多语种支持、离线语音功能、适应不同语音场景等方面都获得了用户的好评。 ### 回答2: Google TTS 是一种由 Google 开发的语音合成引擎,可以实现将文本转换为真实的人类语音。在 Android 系统中,Google TTS 是默认的文本转语音引擎,可以帮助用户快速地听取各种类型的信息,例如打电话、收发信息、操作应用程序等等。 为了让 Google TTS 正常工作,需要下载对应的语音数据包。语音数据包是由 Google 提供的语音库,包含了各种语言、口音和音色的语音样本。通过这些语音样本,Google TTS 可以将文本转换为语音,并且可以满足不同语种和音色的需求。 语音数据包可以通过两种方式下载,一种是在 Google Play 商店中直接下载,另一种是通过系统设置中的语音合成选项进行下载。下载语音数据包后,就可以在系统设置中管理语音合成引擎的使用了。用户可以手动选择不同的语言、音色和速度等参数,以便满足个性化的需求。 总的来说,Google TTS 语音数据包是 Android 系统中非常重要的一部分,是实现语音合成功能所必须的资源。因此,用户在使用 Android 系统时需要注意及时下载和更新语音数据包,以保证 Google TTS 引擎的正常运行。 ### 回答3: Google TTS(Text-to-Speech)是一种在Android系统中常用的语音合成引擎,它可以将文字转换成语音输出,以满足用户在特定情况下的需求,例如读屏、语音助手等。 在使用Google TTS时,需要下载对应的语音数据包,以便实现语音输出。数据包包含了各种语言和口音的语音合成模型、声音样本以及音频文件等内容,用于完成语音转换和播放。语音数据包可以通过Google Play商店进行下载和安装,也可以通过第三方应用程序下载。 通过安装不同语音数据包,用户可以实现多语言、多口音的语音合成功能,这对于国际间的交流和社区建设非常重要。不过,需要注意的是,语音数据包的安装会占用一定的存储空间,如果手机存储空间已满,则需要释放空间或者使用外部存储设备。此外,部分语音数据包需要用户支付一定的费用,因此在下载之前需要仔细查看费用以及使用条款等信息。 总之,Google TTS语音数据包在Android系统中发挥着重要的作用,通过下载和安装合适的语音数据包,用户可以更加灵活地使用语音合成功能,提高工作和生活的便捷性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值