语音合成是实现人机语音交互,建立一个有听和讲能力的交互系统所必需的关键技术。随着语音技术的发展,百度自主研发了语音合成系统(TTS),功能是接受用户发送的文本,生成语音发送给用户。

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

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

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

申请必要的权限

初始化SpeechSynthesizer对象

speechSynthesizer = new SpeechSynthesizer(getApplicationContext(),

"holder", this);

// 此处需要将setApiKey方法的两个参数替换为你在百度开发者中心注册应用所得到的apiKey和secretKey

speechSynthesizer.setApiKey("your-apiKey", "your-secretKey");

参数设置

private void setParams() {

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_SPEAKER, "0");

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_VOLUME, "5");

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_SPEED, "5");

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_PITCH, "5");

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_AUDIO_ENCODE, "1");

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_AUDIO_RATE, "4");

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_LANGUAGE, "ZH");

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_NUM_PRON, "0");

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_ENG_PRON, "0");

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_PUNC, "0");

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_BACKGROUND, "0");

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_STYLE, "0");

speechSynthesizer.setParam(SpeechSynthesizer.PARAM_TERRITORY, "0");

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

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

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

class listener implements SpeechSynthesizerListener {

@Override

public void onStartWorking(SpeechSynthesizer synthesizer) {

logDebug("开始工作,请等待数据...");

}

@Override

public void onSpeechStart(SpeechSynthesizer synthesizer) {

logDebug("朗读开始");

}

@Override

public void onSpeechResume(SpeechSynthesizer synthesizer) {

logDebug("朗读继续");

}

@Override

public void onSpeechProgressChanged(SpeechSynthesizer synthesizer, int progress) {

}

@Override

public void onSpeechPause(SpeechSynthesizer synthesizer) {

logDebug("朗读已暂停");

}

@Override

public void onSpeechFinish(SpeechSynthesizer synthesizer) {

logDebug("朗读已停止");

}

@Override

public void onNewDataArrive(SpeechSynthesizer synthesizer, byte[] dataBuffer, int dataLength) {

logDebug("新的音频数据:" + dataLength);

}

@Override

public void onError(SpeechSynthesizer synthesizer, SpeechError error) {

logError("发生错误:" + error.errorDescription + "(" + error.errorCode + ")");

}

@Override

public void onCancel(SpeechSynthesizer synthesizer) {

logDebug("已取消");

}

@Override

public void onBufferProgressChanged(SpeechSynthesizer synthesizer, int progress) {

}

}

百度 android tts sdk,百度Android语音合成(TTS)SDK使用方法相关推荐

  1. Unity 百度SDK 之 在线语音合成 TTS WebAPI 功能的实现

    Unity 百度SDK 之 在线语音合成 TTS  WebAPI 功能的实现 目录 Unity 百度SDK 之 在线语音合成 TTS  WebAPI 功能的实现 一.简单介绍 二.百度官网关于在线语音 ...

  2. 百度语音合成(TTS) 在Android的使用方法

    项目中有新的需求,要求对一些人名进行 语音播报, 那么这样就需要用到语音合成技术(Text To Speech),查了网上比较多的资料,在Android方面能用的貌似比价少,首先找到的是科大讯飞的 语 ...

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

    请尊重他人的劳动成果,转载请注明出处:[Android语音合成TTS]百度语音接入方法,和使用技巧详解 Ps. 依托于百度开放云,百度语音为合作伙伴提供了业界领先.永久免费的语音技术服务,目前已上线的 ...

  4. 百度语音合成(TTS) 在Android的使用方法

    百度语音合成(TTS) 在Android的使用方法 标签: android语音合成 2016-07-29 16:41 640人阅读 评论(2) 收藏 举报  分类: 语音识别 Android(3)  ...

  5. Android API 29 百度步行导航语音tts集成

    Android API 29 百度步行导航语音tts集成 这个参考官方demo修改. 关键来了,步行导航跟驾车导航不一样的是,驾车导航有专门的语音包支持,而步行和骑行导航只支持路线文字播报, 不支持语 ...

  6. 2019-详细Android Studio开发百度地图(5)—百度地图_导航和TTS语音播报的实现

    百度地图_导航和TTS语音播报的实现 前言 从小白一步步开始,很多资源是很久以前的,而且没有操作配套截图和资源分享.现在本踩过了很多坑,现在开发完成后决定重新写一份教程,希望能借此帮助到许多其他有这方 ...

  7. 【Android语音】百度混合离线语音合成

    首先注册百度开发者平台,创建应用 点击下一步,选择语音合成 点击下一步,选择下载语音合成SDK 07.png 下载完成之后输入包名,包名必须和程序的包名一致,包名可在清单文件中查 1,打开下载的文件, ...

  8. 百度云api android,帮助文档首页/百度移动统计API/百度移动统计 Android版SDK - 百度开放云平台...

    百度移动统计SDK 一.简介 百度移动统计SDK(Android)是百度官方推出的移动统计SDK在Android平台上的版本(以下简称SDK).SDK的发行版本(完整下载包为android.zip)中 ...

  9. android 如何修改百度导航诱导界面,Android 百度导航SDK

    1)AndroidManifest.xml 增加权限,声明service和ak鉴权 android:allowBackup="true" android:icon="@m ...

  10. Android集成百度人脸识别(一)基础版SDK

    首先Android Studio版本:3.2.0 1.注册百度账号并企业认证 2.创建应用生成API Key和Secret Key 3.下载对应的SDK(下载SDK的时候需要新建授权) 因为下载的时候 ...

最新文章

  1. SVO 学习笔记(三)
  2. TDD 与 CI 在 Python 中的实践
  3. 人脸和性别识别(基于OpenCV)
  4. python的jupyter的使用教程-强大的jupyter,python开发者的福音
  5. VC窗口形状的绘制---SetWindowRgn
  6. 【WebRTC---进阶篇】(三)各流媒体服务器的比较
  7. mysql 正则替换 换行,MySQL中使用replace、regexp进行正则表达式替换的用法分析
  8. background部分总结
  9. 挑战程序设计竞赛——Ants(POJ No.1852)
  10. CG资源网 - Maya教程
  11. ue4导入abc文件问题
  12. 用 js判断 一个数是否是素数(质数)_js 基础算法题(二)
  13. 诺贝文学奖对莫言获奖评价
  14. bat for循环_bat教程[285] FOR/F options选项中usebackq的用法
  15. 全国计算机等级考试三级网络技术选择题考点
  16. 极限交付:软件项目外包成功的保障
  17. 可扩展标记语言XML
  18. 休假管理系统——设计类图
  19. vmware中window如何分配独立ip
  20. dnsmasq 使用

热门文章

  1. 服务器重启oracle数据库服务器,oracle数据库怎么重启_网站服务器运行维护,oracle,数据库,重启...
  2. C语言移位操作之增删对应比特位
  3. Windows快捷命令-应急响应
  4. HTML5期末大作业:计算机社团设计--可随意更改名称,各个社团协会
  5. TFC 2017 腾讯Web前端大会 全场笔记
  6. 理解vfs下的open操作
  7. VMware磁盘扩容
  8. Windows截图工具,QQ截图独立版,QQ截图独立运行版,不需要登录QQ,体积小巧,独立运行的高效截图工具,支持截图文字识别和截图搜索,支持截图涂鸦和标记
  9. 焊咀、烙铁头基础知识
  10. CSDN高校俱乐部开学纳新活动