tts高级编程 android,Android TTS(TextToSpeech) 使用

news/2024/11/8 18:51:19/

TTS 是什么?

TTS 是 Text To Speech 的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话。

TTS 技术对文本文件进行实时转换,转换时间之短可以秒计算。

TTS 不仅能帮助有视觉障碍的人阅读计算机上的信息,更能增加文本文档的可读性。现在的 TTS 应用包括语音驱动的邮件以及声音敏感系统,并常与声音识别程序一起使用。

开发者官网介绍

Android 开发者官网介绍

从上面 Android 开发者官网的介绍可以看出 TextToSpeech 必须被实例化之后才能使用。

实现 TextToSpeech.OnInitListener 方法来获取实例化结果的监听。当你已经使用完 TextToSpeech 实例之后, 应该调用 shutdown() 方法来释放 TextToSpeech 所使用的本地资源。

构造方法

//使用默认的引擎

TextToSpeech(Context context, TextToSpeech.OnInitListener listener)

//使用指定的引擎

TextToSpeech(Context context, TextToSpeech.OnInitListener listener, String engine)

主要方法

/**

* text 需要转成语音的文字

* queueMode 队列方式:

* QUEUE_ADD:播放完之前的语音任务后才播报本次内容

* QUEUE_FLUSH:丢弃之前的播报任务,立即播报本次内容

* params 设置TTS参数,可以是null。

* KEY_PARAM_STREAM:音频通道,可以是:STREAM_MUSIC、STREAM_NOTIFICATION、STREAM_RING等

* KEY_PARAM_VOLUME:音量大小,0-1f

* utteranceId:当前朗读文本的id

*/

textToSpeech.speak(content, TextToSpeech.QUEUE_FLUSH, null,i+"");

// 不管是否正在朗读TTS都被打断

textToSpeech.stop();

// 关闭,释放资源

textToSpeech.shutdown();

// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规

textToSpeech.setPitch(0.5f);

// 设定语速,默认1.0正常语速

textToSpeech.setSpeechRate(1.5f);

项目中使用

1、创建 TextToSpeech 类

//使用默认引擎,传入 Context 和 OnInitListener

TextToSpeech toSpeech = new TextToSpeech(this, this);

2、重写 onInit() 方法

@Override

public void onInit(int status) {

if (status == TextToSpeech.SUCCESS) {

int result = toSpeech.setLanguage(Locale.CHINA);

if (result == TextToSpeech.LANG_MISSING_DATA

|| result == TextToSpeech.LANG_NOT_SUPPORTED) {

Toast.makeText(this, "数据丢失或不支持", Toast.LENGTH_SHORT).show();

}

if (toSpeech != null) {

toSpeech.setPitch(1.0f);// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规

toSpeech.speak(list_task_little.get(currentPosition).getTask_content(),

TextToSpeech.QUEUE_FLUSH, null);

}

}

}

调用方法 int result = toSpeech.setLanguage(Locale.CHINA); 设定语言为中文

在 onInit() 方法中判断初始化是否成功,初始化成功使用 toSpeech.setPitch(1.0f) 进行设置音调,值越大,音调越高。

使用 textToSpeech.setSpeechRate(1.5f) 设定语速,默认1.0正常语速。

3、释放资源

@Override

protected void onStop() {

super.onStop();

toSpeech.stop(); // 不管是否正在朗读TTS都被打断

toSpeech.shutdown(); // 关闭,释放资源

}

当页面需要退出或者不在使用 TTS 的时候,进行资源释放。

相关资源:讯飞TTS语音引擎语音包1.0.apk_讯飞tts语音引擎-Android工具类...


http://www.ppmy.cn/news/806270.html

相关文章

edge-tts微软文本转语音库

Edge-TTS是一个Python库,比较好用,直接pip安装。 pip install edge-tts 输入edge-tts,输出提示信息,安装完成。 usage: edge-tts [-h] [-t TEXT] [-f FILE] [-v VOICE] [-l] [--rate RATE] [--volume VOLUME] [-O OVERLAPPING][--write-me…

语音合成 - TTS gTTS

目录 1. 简单介绍 2. 代码示例 1. 简单介绍 https://gtts.readthedocs.io/en/latest/https://gtts.readthedocs.io/en/latest/ gTTS 是基于 Python 的文本转语音库,用于语音合成。 2. 代码示例 安装: pip install gTTS Python: from gtts import…

语音合成TTS

一、核心概念 1、TTS(Text-To-Speech,从文本到语音) 我们比较熟悉的ASR(Automatic Speech Recognition),是将声音转化为文字,可类比于人类的耳朵。 而TTS是将文字转化为声音(朗读出…

Coqui TTS 安装与测试

前言 本篇记录一下 Coqui TTS 的安装。Coqui-TTS 的主要作者是德国人,这个库似乎之前和 Mozilla 的 TTS (https://github.com/mozilla/TTS)有千丝万缕的关系,但是现在后者的 TTS 已经停止更新,而 Coqui TTS 更新一直很…

ASR技术和TTS技术含义及区别

1、TTS和ASR的概念区别 我们比较熟悉的ASR技术(Automatic Speech Recognition,语音识别),是将声音转化为文字,可类比于人类的耳朵。 而TTS技术(Text-To-Speech,语音合成)&#xff…

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

微软TTS语音引擎(中文)5.1 “TTS”是“文本到语音(Text To Sound)”的简称,TTS语音引擎为我们提供清晰和标准的美语发音。TTS5.1目前支持英语和简体中文发音。Windows98本身不支持汉语语音引擎,如果你使用的操作系统是Windows98&a…

windows配置启动若依前后端项目

一、后端 1、环境准备 JDK8、Redis、Mysql、Maven【并配置镜像源】 以上工具全部使用msi/exe安装,并勾选添加到环境变量,如果没有添加到环境变量可以参考其他博主关于每种怎么配置的情况 mysql新增一个目录名为ry-vue的空数据库 2、前往若依官网下载…

frida-ps 连接模拟器

问题描述:frida-ps -help 只有连接usb的选择,没有连接模拟器的选择. C:\Users\xxx>frida-ps -h Usage: frida-ps [options]Options:--version show programs version number and exit-h, --help show this help message and …