百度语音合成(TTS)SDK使用方法

语音合成是实现人机语音交互,建立一个有听和讲能力的交互系统所必需的关键技术。

这篇文章将介绍如何使用百度Android语音合成SDK。

与语音识别SDK类似,使用语音合成SDK也需要注册,并开启语音合成API服务,详细步骤可以参考   点击打开链接        中的注册部分。

百度语音合成SDK以JAR包+动态链接库形式发布,需要开发者在        点击打开链接      下载SDK开发包,并将libs文件夹拷贝到工程中

申请必要的权限

[java] view
plain
copy

  1. <uses-permission android:name="android.permission.INTERNET"></uses-permission>
  2. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
  3. <uses-permission android:name="android.permission.READ_PHONE_STATE"/>

初始化SpeechSynthesizer对象

[java] view
plain
copy

  1. speechSynthesizer = new SpeechSynthesizer(getApplicationContext(),
  2. "holder", this);
  3. // 此处需要将setApiKey方法的两个参数替换为你在百度开发者中心注册应用所得到的apiKey和secretKey
  4. speechSynthesizer.setApiKey("your-apiKey", "your-secretKey");

参数设置

[java] view
plain
copy

  1. private void setParams() {
  2. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_SPEAKER, "0");
  3. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_VOLUME, "5");
  4. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_SPEED, "5");
  5. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_PITCH, "5");
  6. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_AUDIO_ENCODE, "1");
  7. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_AUDIO_RATE, "4");
  8. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_LANGUAGE, "ZH");
  9. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_NUM_PRON, "0");
  10. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_ENG_PRON, "0");
  11. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_PUNC, "0");
  12. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_BACKGROUND, "0");
  13. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_STYLE, "0");
  14. speechSynthesizer.setParam(SpeechSynthesizer.PARAM_TERRITORY, "0");
  15. }

不需要实现这么多参数,具体参数的含义可以参看SDK的使用文档和参数设置。

如果需要对音频播报的音频流进行设置,可以调用如下接口

[java] view
plain
copy

  1. speechSynthesizer.setAudioStreamType(AudioManager.STREAM_MUSIC);

以上内容即可以实现语音合成的操作,识别过程中可以使用SpeechSynthesizerListener来监听状态,从而更好的实现界面同步。

[java] view
plain
copy

  1. class listener implements SpeechSynthesizerListener {
  2. @Override
  3. public void onStartWorking(SpeechSynthesizer synthesizer) {
  4. logDebug("开始工作,请等待数据...");
  5. }
  6. @Override
  7. public void onSpeechStart(SpeechSynthesizer synthesizer) {
  8. logDebug("朗读开始");
  9. }
  10. @Override
  11. public void onSpeechResume(SpeechSynthesizer synthesizer) {
  12. logDebug("朗读继续");
  13. }
  14. @Override
  15. public void onSpeechProgressChanged(SpeechSynthesizer synthesizer, int progress) {
  16. }
  17. @Override
  18. public void onSpeechPause(SpeechSynthesizer synthesizer) {
  19. logDebug("朗读已暂停");
  20. }
  21. @Override
  22. public void onSpeechFinish(SpeechSynthesizer synthesizer) {
  23. logDebug("朗读已停止");
  24. }
  25. @Override
  26. public void onNewDataArrive(SpeechSynthesizer synthesizer, byte[] dataBuffer, int dataLength) {
  27. logDebug("新的音频数据:" + dataLength);
  28. }
  29. @Override
  30. public void onError(SpeechSynthesizer synthesizer, SpeechError error) {
  31. logError("发生错误:" + error.errorDescription + "(" + error.errorCode + ")");
  32. }
  33. @Override
  34. public void onCancel(SpeechSynthesizer synthesizer) {
  35. logDebug("已取消");
  36. }
  37. @Override
  38. public void onBufferProgressChanged(SpeechSynthesizer synthesizer, int progress) {
  39. }
  40. }

百度语音合成(TTS)SDK使用方法

时间: 2024-11-10 07:56:26

百度语音合成(TTS)SDK使用方法的相关文章

百度语音合成api/sdk及demo

1.流程 1)换取token 用Api Key 和 SecretKey.访问https://openapi.baidu.com/oauth/2.0/token 换取 token // appKey = Va5yQRHl********LT0vuXV4 // appSecret = 0rDSjzQ20XUj5i********PQSzr5pVw2 https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&clie

Android语音合成(TTS)SDK使用方法

语音合成是实现人机语音交互,建立一个有听和讲能力的交互系统所必需的关键技术. 这篇文章将介绍如何使用百度Android语音合成SDK. 与语音识别SDK类似,使用语音合成SDK也需要注册,并开启语音合成API服务,详细步骤可以参考   点击打开链接        中的注册部分. 百度语音合成SDK以JAR包+动态链接库形式发布,需要开发者在        点击打开链接      下载SDK开发包,并将libs文件夹拷贝到工程中 申请必要的权限 [java] view plaincopy <use

【Android语音合成TTS】百度语音接入方法,和使用技巧详解

请尊重他人的劳动成果,转载请注明出处:[Android语音合成TTS]百度语音接入方法,和使用技巧详解 Ps. 依托于百度开放云,百度语音为合作伙伴提供了业界领先.永久免费的语音技术服务,目前已上线的服务包括语音识别.语义解析.语音合成,后续会继续带来开放资源.多轮对话等技术服务:通过SDK.REST API及离线开发包等多种服务方式,满足不同开发者的开发需求. 目前百度语音提供免费的语音接入,语音合成质量尚可,但还没开放离线TTS. 服务接入流程 具体详情可查看:http://yuyin.ba

Android Studio下Android应用开发集成百度语音合成使用方法样例

转载请注明来源: http://blog.csdn.net/kjunchen/article/details/51093134 Android Studio下Android应用开发集成百度语音合成使用方法样例 首先,语音合成是指将文本信息转换成声音.意思就是将文本转化为声音,让你的应用开口说话.国内在业内比较有名的第三方语音合成平台有百度语音和科大讯飞. 本博文集成的是百度语音合成,其主要特点是: 完全永久免费 业界首创完全永久免费新形式,为开发者提供最流畅最自然的语音合成服务.完全免费,永久使

百度语音识别开放平台SDK使用方法

百度Android语音识别SDK分在线与离线两种,这篇文章介绍在线SDK的使用方法. 在线SDK是以JAR包和动态链接库形式发布和使用,可以从百度开放云平台网站中下载SDK及使用说明文档. http://developer.baidu.com/wiki/index.php?title=docs/cplat/media/voice 完成语音SDK的集成分以下几步,本文将一步步介绍SDK集成方法. 1.注册开放开放平台 点击管理控制台,选择移动应用管理 选择创建应用,填写应用名称     可以看到右

百度Android语音识别SDK语义理解与解析方法

百度语义理解开放平台面向互联网开发者提供自然语言文本的解析服务,也就是可以根据文本的意图解析成相应的表示. 为了易于人阅读,同时也方便机器解析和生成,意图表示协议采用 json 语言进行描述,采用 gb18030 编码. json 语言的基本概念: 1.属性名/属性值 即键值对(key-value) 2.数组 在 json 中是"[]"括起来的内容,数据结构为 ["value1","value2",...],取值方式和所有语言中一样,使用索引获取

百度语音识别REST API使用方法(含C++代码)——不需要集成SDK的方法

上一篇文章http://blog.csdn.net/zpf8861/article/details/32322089已经介绍了百度语音识别REST API的使用步骤和功能介绍,这篇文章主要通过一个实例代码来展示如何使用该API. 本文代码为C++版,可以用于C环境的应用开发中,下面介绍其中重要的代码. 下面代码是一个可以使用该方式进行语音识别功能的实例代码 #include <stdio.h> #include <stdlib.h> #include "curl/incl

百度语音识别REST API使用方法(含JAVA代码)——不需要集成SDK的方法

上一篇文章http://blog.csdn.net/zpf8861/article/details/32322089已经介绍了百度语音识别REST API的使用步骤和功能介绍,这篇文章主要通过一个实例代码来展示如何使用该API. 本文代码为JAVA版,可以用于Android应用开发中,下面介绍其中重要的代码. 获得Token 其中apiKey和secretKey是从百度开放平台获得的,获得方法参看上一篇文章. private static void getToken() throws Excep

【Android语音合成TTS】国内主流引擎对比

PS. TTS即TextToSpeech(从文本到语言),也就是语音合成.TTS把文字智能地转化为自然语音流.TTS技术对文本文件进行实时转换,转换时间之短可以秒计算.在其特有智能语音控制器作用下,文本输出的语音音律流畅,使得听者在听取信息时感觉自然,毫无机器语音输出的冷漠与生涩感. 纵观整个应用市场会发现越来越多的APP含有语音识别语音合成的功能,TTS可以帮助开发者轻松构建各类语音交互应用,帮助各行业伙伴打造语音服务特色产品. 下面就给大家分析一下国内的主流语音引擎提供商,希望能对大家开发和