之前使用百度的语音合成 sdk做了个简单的tts,但是它不是真正的免费和纯离线的,所以在查阅相关资料后,使用Android的原生TTS ,因为它不支持中文,需要借助其他语音引擎可实现纯离线 免费的TTS。

Android原生的TTS是不支持中文合成的,需要借助其他的语音引擎(apk安装包),比如科大讯飞语音引擎3.0,度秘语音引擎3.0以及新版手机基本都内置有语音引擎,可在设置——》语言——》首选引擎进行选择。
具体可参考这篇csdn博客:https://blog.csdn.net/yingchengyou/article/details/79591954

我手机是荣耀10,内置有讯飞语音引擎,其他两个可以在上面网址下载到手机安装。

点击科大讯飞 !可选择发音人,内置语言引擎和讯飞的中英文只有女声,而度秘的在我手机选择不了,估计是版本问题吧。

Android的TextToSpeech类文档可参考这篇csdn博客:https://blog.csdn.net/qq_26971803/article/details/51176592
Android原生TTS类——TextToSpeech使用方法非常简单。
1.实例化 private TextToSpeech textToSpeech = new TextToSpeech(this, this);
2.重写onInit方法,进行设置语言进行初始化 int result = textToSpeech.setLanguage(Locale.CHINA);
3.设置tts参数textToSpeech.setPitch(1.4f);// 设置音调,1.0是常规
textToSpeech.setSpeechRate(1.2f);//设定语速,1.0正常语速
4.合成并播放 textToSpeech.speak(et_input.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);
5.释放资源 textToSpeech.stop(); textToSpeech.shutdown();

该demo缺陷:未实现暂停,恢复播放功能。TextToSpeech未提供暂停,恢复播放方法,如果想实现的话,可以用synthesizeToFile方法保存音频文件,再用MediaPlayer对音频文件进行操作。

具体代码如下:

import android.speech.tts.TextToSpeech;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import java.util.Locale;public class MainActivity extends AppCompatActivity implements View.OnClickListener, TextToSpeech.OnInitListener {private EditText et_input;private Button bt_start;private Button bt_pause;private Button bt_resume;private TextToSpeech textToSpeech;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);if (textToSpeech==null){textToSpeech = new TextToSpeech(this, this);}initView();}private void ttsParam() {textToSpeech.setPitch(1.4f);// 设置音调,,1.0是常规textToSpeech.setSpeechRate(1.2f);//设定语速,1.0正常语速}private void initView() {et_input = findViewById(R.id.et_input);bt_start = findViewById(R.id.bt_start);bt_pause = findViewById(R.id.bt_pause);bt_resume = findViewById(R.id.bt_resume);bt_start.setOnClickListener(this);bt_pause.setOnClickListener(this);bt_resume.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.bt_start:textToSpeech.speak(et_input.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);break;case R.id.bt_pause:Toast.makeText(this, "未实现", Toast.LENGTH_SHORT).show();break;case R.id.bt_resume:Toast.makeText(this, "未实现", Toast.LENGTH_SHORT).show();break;}}@Overridepublic void onInit(int status) {if (status == TextToSpeech.SUCCESS) {//初始化tts引擎int result = textToSpeech.setLanguage(Locale.CHINA);//设置参数ttsParam();if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {Toast.makeText(this, "语音包丢失或语音不支持", Toast.LENGTH_SHORT).show();}}}@Overrideprotected void onDestroy() {if (textToSpeech!=null){//释放资源textToSpeech.stop();textToSpeech.shutdown();}super.onDestroy();}
}

xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.example.nativetts.MainActivity"><EditTextandroid:id="@+id/et_input"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="input"android:text="识别成功,识别失败,欢迎光临,Recognition success,Recognition failure,Welcome" /><Buttonandroid:id="@+id/bt_start"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="开始播放" /><Buttonandroid:id="@+id/bt_pause"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="暂停播放" /><Buttonandroid:id="@+id/bt_resume"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="恢复播放" /></LinearLayout>

github:https://github.com/sunfusong/NativeTTS

android原生TTS+语音引擎 实现纯离线 免费的中英TTS相关推荐

  1. win7 微软语音服务器,win7 TTS修复工具(微软tts语音引擎修复)

    [实例简介] 当系统没有语音功能,无法运行时,使用win7 TTS修复工具(微软tts语音引擎修复) 现有的语音不好时,可心安装第三方语音,如:捷通华声 XiaoKun 女声 中英文.女音库Hui.L ...

  2. 微软TTS语音引擎编程入门

    我们都使用过一些某某词霸的英语学习工具软件,它们大多都有朗读的功能,其实这就是利用的Windows的TTS(Text To Speech)语音引擎.它包含在Windows Speech SDK开发包中 ...

  3. 微软TTS语音引擎(中文)5.1

    微软TTS语音引擎(中文)5.1 转自某人下载页的,早晚得用到,先收藏了. 下载地址:http://download.csdn.net/source/1278844 ================= ...

  4. TTS什么意思,缩写,微软TTS语音引擎(中文)5.1 “TTS”是“文本到语音(Text To Sound)”的简称

    微软TTS语音引擎(中文)5.1 "TTS"是"文本到语音(Text To Sound)"的简称,TTS语音引擎为我们提供清晰和标准的美语发音.TTS5.1目前 ...

  5. 【VC++技术杂谈004】使用微软TTS语音引擎实现文本朗读

    本文主要介绍如何使用微软TTS语音引擎实现文本朗读,以及生成wav格式的声音文件. 1.语音引擎及语音库的安装 TTS(Text-To-Speech)是指文本语音的简称,即通过TTS引擎把文本转化为语 ...

  6. C#使用微软TTS语音引擎实现文字转语音示例

    转载:http://www.mzwu.com/article.asp?id=3845 在VS2012创建Windows窗体应用程序项目,添加引用COM组件Microsoft Speech Object ...

  7. android 讯飞语音引擎3.0默认粤语播报

    粤语语音引擎apk及粤语资源包 android 6.0 平台老人机需求设备默认支持粤语离线播报,在网上找了许多资料都没有价值. 发现讯飞的TTS3.0联网下载粤语包后可以完美支持.然后尝试反编译和预置 ...

  8. 小米tts语音引擎下载_TTS语音模块:XFS5152CE语音合成模块详解

    TTS是Text To Speech的缩写,即"从文本到语音",是人机对话的一部分,让机器能够说话. 语音播报功能的实现方式 TTS语音模块,比如XFS5152.SYN6288等 ...

  9. 讯飞tts语音引擎9.0_使用科大讯飞语音转文字的服务进行电话录音分析

    # 需求 合规性质检:1)设定规则,实现自动质检,自动打分:2)如VOC文本质检可与语音文字进行匹配,自动判断是否合格:3)新媒体文本可自动质检4)可识别异常录音(指定标准外):5)诉求记录与语音内容 ...

  10. (菜鸟玩linux)终端命令行离线和在线中英互译的办法

    一,在线 先说在线用终端查单词的办法....有很多人写过脚本截取在线网站的释义来解决问题 现在我介绍其中一种我比较喜欢的--ydcv (贴吧一个人写的) 要求--Python ( >=2.7, ...

最新文章

  1. linux centos 查看桌面环境
  2. c语言file_C语言编程第20讲——几个有用的编译时才确定值的符号
  3. 【运营】运营高手的“葵花宝典”,你就是下一个东方不败
  4. 哈哈,我的Blog开通了。。。
  5. 揭秘基于MBSE集成化的汽车电子解决方案
  6. 3月31日学习笔记(CSS基础)
  7. 5.3 Date类型
  8. linux查看tuxedo版本的命令,tuxedo 监控命令说明
  9. 前端面试题汇总(vue+html基础)最新最全
  10. 配置localhost
  11. 苹果9L0-403测试对于被选入苹果认证支持专家(ACSP)10.6名称
  12. Centos6.10系统迁移到新固态硬盘LVM
  13. 不同进制之间相互转换
  14. 关于海神阁阁主真实身份的推测
  15. 联想拯救者刃7000K 2022 评测
  16. 5g通用模组是什么_5G通用模组使能行业数字化转型,中国电信在行动
  17. 《高质量C/C++编程指南》第1期
  18. DbContext 查询(二)
  19. python获取接口返回值_Python+request 登录接口reponse的返回值token跨py文件的传递《二》...
  20. 海到无边天作岸,身登绝顶我为峰

热门文章

  1. mac虚拟摄像头插件_macOS平台下虚拟摄像头的研发总结
  2. 2021/10/15 考试总结
  3. 学习单片机,通常要学哪些知识点?(附送75块带屏开发板)
  4. LowMemoryKiller 的使用
  5. 算法竞赛进阶指南 激光炸弹
  6. vue自定义数字键盘
  7. wind10 终端conda切换python环境,pip不存在以及解决easy_install pip报错
  8. 模拟飞机票订票系统设计心得
  9. 如何让IE窗口保持最大化
  10. .NET项目使用EF+Migration