Android 系统自带的TTS (Text To Speak)语音库目前只有English ,German , Italian ,French ,Spanish(英文,德语,意大利语,法语,西班牙语)五个音库.所以中文发音必须要借助其他的软件,或者引擎.近些天研究目前有三个方法可以实现:
1,一种是借助shoushuotts音库引擎和jar文件在自己的项目中调用.具体方法可查看网址:http://dev.10086.cn/cmdn/bbs/thread-58426-1-1.html
(经过测试,中文发音很慢,用些多音字和特殊符号无法识别)
2.是用addr软件,方法同上,要添加两个jar文件.有源代码实例:
(测试发现,其中文发音是老外的调调,并且严重怀疑他的中文也是老外教的)
3 安装讯飞语音插件.需要安装两个文件,讯飞语音TTS.apk 和讯飞语音包.apk,不需要jar文件,直接到系统配置 -> 语音输入与输出 --> 文字转语音设置 -->讯飞语音后边打钩(选择后才能设置其他项) -- > 默认引擎(讯飞语音) -->语言(中文) (用必要是还可以在讯飞语音合成里选择男声和女声)
配置完成后,可直接用系统提供的TextToSpeak的方法直接调用即可.
(测试发现,改发音是中标准的中文发音,据了解,国内语音识别系统做的最好的一家,发音连贯,并且可辨认符号如℃等)
示例代码如下:
public class NiHaoTTS extends Activity implements OnInitListener {
private int MY_DATA_CHECK_CODE = 0;
private TextToSpeech tts;
private EditText inputText;
private Button speakButton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.xunfei_tts);
inputText = (EditText) findViewById(R.id.input_text);
speakButton = (Button) findViewById(R.id.speak_button);
speakButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
String text = inputText.getText().toString();
if (text!=null && text.length()>0)
{
Toast.makeText(NiHaoTTS.this, "Saying: " + text, Toast.LENGTH_LONG).show();
//开始阅读 text
tts.speak(text, TextToSpeech.QUEUE_ADD, null);
}
}
});
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == MY_DATA_CHECK_CODE)
{
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS)
{
// success, create the TTS instance
tts = new TextToSpeech(this, this);
}
else
{
// missing data, install it
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}
@Override
public void onInit(int status)
{
if (status == TextToSpeech.SUCCESS)
{
Toast.makeText(NiHaoTTS.this,
"Text-To-Speech engine is initialized", Toast.LENGTH_LONG).show();
}
else if (status == TextToSpeech.ERROR)
{
Toast.makeText(NiHaoTTS.this,
"Error occurred while initializing Text-To-Speech engine", Toast.LENGTH_LONG).show();
}
}
}
分享到:
相关推荐
Android中文语音TTS,全称为Text-to-Speech,是一种技术,能够让设备将文字转化为可听见的语音输出。在Android平台上,TTS系统是为开发者提供的一种服务,它允许应用程序将文字转换成自然语言的语音,使得用户无需...
android下实现对文本的语音朗读,TTS技术,支持中文朗读。Android SDK 4.04下测试通过。 附件包含测试源代码及语音库文件 这是语音合成测试工程,如果需要朗读中文请安装中文引擎。我采用的是讯飞语音库,手机版本...
在这个"基于 TensorFlow Lite 开发的 Android 端中文语音识别 Demo.zip"中,我们将探讨如何利用 TensorFlow Lite 在移动设备上实现本地化的中文语音识别功能。 首先,让我们了解 TensorFlow Lite。它是 TensorFlow ...
本主题聚焦于如何在Android Studio中实现离线中文语音播放,支持男声和女声,并能调整音量和实现变声效果。离线TTS的优势在于无需网络连接,节省数据流量,同时在没有网络的环境下依然可以正常使用。 首先,我们...
本项目“android Speech Recognition_Demo”专注于提供一个离线的、针对中文的语音识别解决方案,避免了网络连接的限制,提高了识别的即时性和隐私性。 离线语音识别在Android开发中具有以下关键知识点: 1. **...
对于需要高质量中文语音合成的Android应用,科大讯飞的引擎是理想的选择。 4. **使用方法**:这些语音引擎包以APK的形式提供,可以直接安装在Android设备上。用户可以在设备的设置中找到TTS选项,切换到已安装的...
在Android平台上,语音识别与语音播报是两种非常实用的功能,它们极大地增强了用户的交互体验,尤其在移动设备上,用户可以通过语音指令操作应用,或者让应用读出屏幕上的文本信息。以下将详细介绍这两个功能的实现...
android_tts_离线语音demo包文字转语音。 不依赖于手机的tts,及时手机没有安装tts,也可以运行。 成功的将文字转成语音,可以切换声音,调整语速。 尚存一个小问题,英文单词不认识了,读成了一个个字母。欢迎高人...
在Android应用开发中,实现收款成功金额的语音播报功能是一项实用且重要的功能,它能够为用户提供无障碍的交互体验,尤其适用于商店、餐厅等商业场景。本文将深入探讨如何在Android平台上构建这样的功能。 首先,...
在Android平台上,网络语音搜索是实现用户通过语音与应用程序交互的重要功能。`RecogizerIntent`是Android系统中用于处理语音识别的关键类,它允许开发者集成语音搜索到自己的应用中,使得用户可以通过说话来输入...
本项目聚焦于“android Speech Recognition_Demo”,这是一个专为Android设计的离线中文语音识别示例,它包含了可编辑的源码,使得开发者能够自定义和优化识别功能。 离线语音识别相较于在线语音识别,最大的优势...
本主题聚焦于“Android中文语音导航库及SVOX语音插件”,它旨在为开发者提供一套完整的解决方案,使应用能够流畅地进行中文语音播报,帮助用户在行驶过程中轻松获取导航指引。 首先,我们要理解Android系统中的语音...
总的来说,这个"Android中文数字语音"应用涵盖了Android应用开发的多个关键领域,包括但不限于数据处理(数字转换)、文本到语音的转换、音频资源管理、用户界面设计和交互。开发者在实现这个应用的过程中,不仅需要...
本篇将详细讲解如何在Android应用中实现文字转语音功能,特别关注对中文的支持。 首先,Android系统的TTS服务是一个内置的服务框架,它允许应用程序将文本转换为合成语音。要使用这个服务,我们需要在应用中添加...
用于Android开发中基础的语音开发包
总的来说,这个源码项目提供了实现一个Android中文语音助理的完整框架,涵盖了从语音输入到语音输出,再到实际任务执行的全过程。开发者可以通过研究这个源码,学习如何在Android平台上构建类似功能的应用。
语音包里面包含语言如下: E 英文 F 法语 G 德语 I 印尼语 J 日本语 K 韩语 L 泰语 P 葡萄牙语 R 俄语 S 简体中文 T 香港-繁体中文 V 越南语 a 西班牙语-西班牙 t 土耳其语 w 繁体中文-台湾 脚本...
### Android语音合成技术详解 #### 一、引言 随着移动设备功能的不断增强与多样化,Android平台上的语音合成(Text-to-Speech, TTS)技术变得越来越重要。语音合成引擎不仅能够帮助视障用户更好地使用手机,还能应用...