android TTS语音播报

news/2024/11/8 14:45:43/

如今在Android中开发中文语音播报有各式各样的云服务、SDK、API等云云,但是大部分服务是需要联网支持来进行语音合成的,在中文语音合成方面,科大讯飞无疑是佼佼者,而且它也提供了离线语音合成包(需要按分发数量和使用时间付费)的下载。

Android原生API本身也就提供了TTS功能,我们可以使用TextToSpeech类通过简单几行代码就能把想发音的文字播报出来,方法如下:

1、首先需要实例化TextToSpeech类,在TextToSpeech的构造函数中,需要提供一个OnInitListener对象用于完成对TextToSpeech对象的初始化设置,在OnInitListener对象中需要实现onInit方法,我们可以在该方法内来调用setLanguage方法

来设置语言类型,Local.CHINA为中文,设置完后判断当前系统是否支持要发音的语言,代码如下:

@Override
public void onInit(int status) {if (status == TextToSpeech.SUCCESS) {int result = textToSpeech.setLanguage(Locale.CHINA);if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {Toast.makeText(this, "LANG_MISSING_DATA  or LANG_NOT_SUPPORTED
!", Toast.LENGTH_SHORT).show();}}
}
2、然后需要发音的地方调用TextToSpeech实例对象的speak方法即可完成语音播报,在播报前可以通过调用setPitch方法来设置音调,默认值为1,数值越大音调越高,代码如下:
 
textToSpeech.setPitch(1.5f); // 在系统设置里也可以修改音调
textToSpeech.speak("你好, 我们来测试一下语音功能!”, TextToSpeech.QUEUE_FLUSH, null);
3、使用TextToSpeech进行语音播报使用的语言数据时设备上Android系统设置的TTS语音包,默认是不支持中文的,以我的测试平板为例,默认TTS包是Pico TTS,仅支持英文、法文、德文、意大利文及西班牙文等几种语言:没关系去下载一个讯飞语音即可。
4、Android系统支持自定义第三方TTS语音库,我们可以下载安装一个“讯飞语音+”, 并在系统语音设置中将TTS切换选择成“讯飞语音+”

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

相关文章

2022 interspeech TTS

文章目录 JETS: Jointly Training FastSpeech2 and HiFi-GAN for End to End Text to Speechmethod单阶段训练模型的原理对齐原理 Enhancement of Pitch Controllability using Timbre-Preserving Pitch Augmentation in FastPitchmethodpitch shift by VocGANmodel architectu…

语音合成(TTS)应用方案一二三

前言 语音合成是指将文字转成语音(TextToSpeech)进行播放,本文主要介绍三种实现方案。 一、web端实现 通过h5提供的网页语音API来实现,用到speechSynthesis(获取设备上可用的合成声音的信息、控制声音播放、暂停等命令)和SpeechSynthesisUtterance(管理…

TTS 文字转语音研究,效果原来这么好。

自己做了个在线文字转语音服务,没想到效果竟然这么好 有时候我们需要文字转语音服务,在网上找了好多免费的,但效果都不太好,偶然间发现了微软的Edge浏览器有个大声朗读功能,试了一下,效果竟然出奇的好&…

TTS技术简单介绍和Ekho(余音)TTS的安装与编程

TTS技术简单介绍和Ekho(余音)TTS的安装与编程 zouxy09qq.com http://blog.csdn.net/zouxy09 一、TTS技术简单介绍: TTS技术,TTS是Text To Speech的缩写,即“从文本到语音”。它将计算机自己产生的、或外部输入的文字信…

ChatAudio 通过TTS + STT + GPT 实现语音对话(低仿微信聊天)

效果图 什么是 STT 和 TTS? STT 是语音转文字(Speech To Text)TTS 是文字转语音(Text To Speech) 为什么要使用 SST TTS 如果用户直接输入音频,OpenAI 的 API 中并没有直接使用语音和 GPT 进行对话的功能。…

.net实现简单语音朗读(TTS)功能

首先,添加DotNetSpeech.dll引用,可以在这里直接下载,也可以参照这篇文章说的,在安装Speech SDK以后,在Common Files\Microsoft Shared\Speech\目录下面找到SAPI.dll,用Tlbimp.exe工具将该dll转换成.net平台…

UE5文本转语音TTS插件

UE4.26版本的TTS文本转语音插件,同时有UE5版本 使用起来也非常简单 在文本框输入想要发音的文字 关键的语音调用 项目下载地址:https://download.csdn.net/download/Highning0007/87337400

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

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