语音合成是实现人机语音交互,建立一个有听和讲能力的交互系统所必需的关键技术。
这篇文章将介绍如何使用 百度 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使用方法相关推荐

  1. 百度 android tts sdk,百度Android语音合成(TTS)SDK使用方法

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

  2. android 百度地图定位SDK使用方法

    本以为gps定位就只是拿个经纬度,不会很复杂,结果折腾了一下午才弄好,惭愧啊~ Ps:今天练跆拳道,刚热身就两条腿一起抽筋,难道是平时撸多了......好吧,我想多了,废话不多说,开始入正题~ 首先介 ...

  3. 百度语音合成Rest API使用

    TIP:这是RestApi使用,实际在web使用中java SDK方式使用较好,本文为测试使用,包括maven搭建运行springmvc的所有代码,实际代码可直接跳到publicutil.java和s ...

  4. Node接入百度语音合成教程

    ** 先开始用的是百度语音在线合成的接口,结果折腾了半天存在本地的语音播放不出来.也不知道那个环节出了问题.于是就去找其他的解决办法,接下来就是接入的是百度语音合成的SDK,自我感觉比接口简单多了 * ...

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

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

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

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

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

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

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

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

  9. 百度语音合成 js html,Node.js结合百度TTS接口实现文字转语音功能

    今天工作的时候偶然发现了百度的TTS Restful接口(TTS是TextToSpeech,说白了就是文本转语音的功能).该接口如下,浏览器中可以直接访问: http://tts.baidu.com/ ...

最新文章

  1. Spring Boot 2.4.5、2.3.10 发布
  2. linux递归赋权限,Linux下递归更改文件夹和子文件夹的权限
  3. 纬度和日照时长的关系
  4. Netflix如何节省92%视频编码成本?
  5. 乌班图系统16.04安装
  6. ds排序--希尔排序_图解直接插入排序和希尔排序
  7. html 复选框name值,HTML(5)表单元素以及对各个表单元素的name、value属性的理解
  8. 集结号!四大国产开源数据库共聚申城,共话未来技术演进
  9. Spring(1)—初识
  10. 常用方法 保证数据长度相同
  11. 2018-2019-1 20165202 20165210 20165214 实验二 固件程序设计
  12. Google的Guava开发库快速快速入门
  13. 从零基础入门Tensorflow2.0 ----六、31 kaggle 10 monkeys模型微调
  14. 2021-06-04计算器简易代码
  15. 【连载】【STM32神舟III号实验例程】SysTick实验(11)
  16. 基于优化的多核局部费舍尔判别分析的故障分类
  17. 基于AT89C51单片机的小型气象站
  18. python里defoults_Python Part.Compound方法代码示例
  19. 中国公路路网_拔剑-浆糊的传说_新浪博客
  20. Idea上传项目到gitee

热门文章

  1. 微信公众号接口开发----退款
  2. html下拉框如何加边框颜色,css如何加边框颜色?
  3. 牛X下载者木马清除方法。
  4. Oracle数据库从入门到精通系列之二:SGA和后台进程
  5. cucumber生成测试报告
  6. 基于stm32c8t6移植FreeRTOS问题汇总
  7. 通过json文件渲染到页面
  8. 如何看待 30 岁转行做程序员这件事
  9. 拯救iphone 6 :无法下载应用解决办法
  10. 华为eNSP防火墙NAT地址转换之NAT-NOPAT