百度语音合成(TTS)SDK使用方法
- <uses-permission android:name="android.permission.INTERNET"></uses-permission>
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
- <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
初始化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) {
- }
- }
百度语音合成(TTS)SDK使用方法相关推荐
- 百度 android tts sdk,百度Android语音合成(TTS)SDK使用方法
语音合成是实现人机语音交互,建立一个有听和讲能力的交互系统所必需的关键技术.随着语音技术的发展,百度自主研发了语音合成系统(TTS),功能是接受用户发送的文本,生成语音发送给用户. 这篇文章将介绍如何 ...
- android 百度地图定位SDK使用方法
本以为gps定位就只是拿个经纬度,不会很复杂,结果折腾了一下午才弄好,惭愧啊~ Ps:今天练跆拳道,刚热身就两条腿一起抽筋,难道是平时撸多了......好吧,我想多了,废话不多说,开始入正题~ 首先介 ...
- 百度语音合成Rest API使用
TIP:这是RestApi使用,实际在web使用中java SDK方式使用较好,本文为测试使用,包括maven搭建运行springmvc的所有代码,实际代码可直接跳到publicutil.java和s ...
- Node接入百度语音合成教程
** 先开始用的是百度语音在线合成的接口,结果折腾了半天存在本地的语音播放不出来.也不知道那个环节出了问题.于是就去找其他的解决办法,接下来就是接入的是百度语音合成的SDK,自我感觉比接口简单多了 * ...
- 【Android语音合成TTS】百度语音接入方法,和使用技巧详解
请尊重他人的劳动成果,转载请注明出处:[Android语音合成TTS]百度语音接入方法,和使用技巧详解 Ps. 依托于百度开放云,百度语音为合作伙伴提供了业界领先.永久免费的语音技术服务,目前已上线的 ...
- Unity 百度SDK 之 在线语音合成 TTS WebAPI 功能的实现
Unity 百度SDK 之 在线语音合成 TTS WebAPI 功能的实现 目录 Unity 百度SDK 之 在线语音合成 TTS WebAPI 功能的实现 一.简单介绍 二.百度官网关于在线语音 ...
- 百度语音合成(TTS) 在Android的使用方法
百度语音合成(TTS) 在Android的使用方法 标签: android语音合成 2016-07-29 16:41 640人阅读 评论(2) 收藏 举报 分类: 语音识别 Android(3) ...
- 百度语音合成(TTS) 在Android的使用方法
项目中有新的需求,要求对一些人名进行 语音播报, 那么这样就需要用到语音合成技术(Text To Speech),查了网上比较多的资料,在Android方面能用的貌似比价少,首先找到的是科大讯飞的 语 ...
- 百度语音合成 js html,Node.js结合百度TTS接口实现文字转语音功能
今天工作的时候偶然发现了百度的TTS Restful接口(TTS是TextToSpeech,说白了就是文本转语音的功能).该接口如下,浏览器中可以直接访问: http://tts.baidu.com/ ...
最新文章
- Spring Boot 2.4.5、2.3.10 发布
- linux递归赋权限,Linux下递归更改文件夹和子文件夹的权限
- 纬度和日照时长的关系
- Netflix如何节省92%视频编码成本?
- 乌班图系统16.04安装
- ds排序--希尔排序_图解直接插入排序和希尔排序
- html 复选框name值,HTML(5)表单元素以及对各个表单元素的name、value属性的理解
- 集结号!四大国产开源数据库共聚申城,共话未来技术演进
- Spring(1)—初识
- 常用方法 保证数据长度相同
- 2018-2019-1 20165202 20165210 20165214 实验二 固件程序设计
- Google的Guava开发库快速快速入门
- 从零基础入门Tensorflow2.0 ----六、31 kaggle 10 monkeys模型微调
- 2021-06-04计算器简易代码
- 【连载】【STM32神舟III号实验例程】SysTick实验(11)
- 基于优化的多核局部费舍尔判别分析的故障分类
- 基于AT89C51单片机的小型气象站
- python里defoults_Python Part.Compound方法代码示例
- 中国公路路网_拔剑-浆糊的传说_新浪博客
- Idea上传项目到gitee