百度语音合成精简版

我参照文档合成的源码下载:

https://download.csdn.net/download/qq_31939617/10388588 下载

文档:
Android TTS SDK 集成进入helloworld 项目

(一) 简介:
本文针对遇见集成Android合成SDK有困难的用户,以helloworld项目作为示例,给出的步骤。

本文将集成MiniActivity至一个新建的helloworld项目。
参考文档:
https://cloud.baidu.com/doc/SPEECH/TTS-Android-SDK.html#.E9.9B.86.E6.88.90.E6.8C.87.E5.8D.97

前提: 将官方demo的源代码通过android studio在android真机上运行起来并且测试成功。Demo暂不支持模拟器。
目标用户:Android初学者或者想立即集成的用户。
Android Studio 3.0.1
官方Demo 2.3.1
Gradle 3.0.1
测试机型 红米note4
Android 6.0

(二) 准备一个helloworld项目及官网注册应用
百度语音合成精简版_第1张图片
注意,红框画出的是包名。 在项目测试成功后,您可以将您自己的包名填写在官网申请的应用里。并且该应用开通了语音识别能力。

目前您可以“暂时”用demo的示例的应用信息。

百度语音合成精简版_第2张图片

百度语音合成精简版_第3张图片

改成MimiActivity:

百度语音合成精简版_第4张图片

Android studio自动下载依赖项目后,运行,手机上出现以下界面:
百度语音合成精简版_第5张图片

(三) 复制 AndroidManifest.xml

从官方demo的AndroidManifest.xml中找到如下信息,然后复制到您自己的同名文件中。

红色框内的权限是您需要的添加的部分
百度语音合成精简版_第6张图片

(四) 复制jar 文件

将官方demo中的app\libs\com.baidu.tts_2.3.1.20170808_e39ea89.jar复制进您项目的同名目录。

百度语音合成精简版_第7张图片

此处是android 默认的jar libs目录,在build.gradle中可以确认:

百度语音合成精简版_第8张图片

(五) 替换MiniActivity
百度语音合成精简版_第9张图片

找到官方demo中的MiniActivity(com.baidu.tts.sample目录下)

百度语音合成精简版_第10张图片

点击上图刷新按钮,可以发现需要更新common_mini layout文件及若干JAVA类

复制官方demo中的 res\layout\common_mini.xml 文件,至项目的同名目录
百度语音合成精简版_第11张图片

测试编译项目,此时应该没有报错。

(六) 复制jni库的so文件
确认源代码MiniActivity中开启纯在线private TtsMode ttsMode = TtsMode.ONLINE;
此时项目可以运行,可以看见如下界面:
百度语音合成精简版_第12张图片

由于缺少so文件,点击开始后,在logcat中有如下报错:

百度语音合成精简版_第13张图片

12-27 18:32:52.507 13937-14063/sample.tts.baidu.com.hellotts E/art: No implementation found for int com.baidu.speechsynthesizer.utility.SpeechDecoder.decodeWithCallback(byte[], java.lang.Object) (tried Java_com_baidu_speechsynthesizer_utility_SpeechDecoder_decodeWithCallback and Java_com_baidu_speechsynthesizer_utility_SpeechDecoder_decodeWithCallback___3BLjava_lang_Object_2)

我们继续修改项目:
复制官方demo中 app\src\main\jniLibs 至项目的同名目录,如果对android studio不熟悉,这一步可以在windows 资源管理器操作
目录层级如下:
百度语音合成精简版_第14张图片

(七) 联网测试
请确认手机可以联网,

MiniActivity中开启纯在线private TtsMode ttsMode = TtsMode.ONLINE;

运行项目后,点击“合成并播放”按钮(注意只要点一次),会听见女声 “欢迎使用百度语音合成,请在代码中修改合成文本”

注意,如果您不知道测试方法的,请先运行官方demo,确保官方demo先测试成功。
百度语音合成精简版_第15张图片

至此在线合成集成成功,之后我们需要根据需求定制参数。

(八) 集成离线合成。
此时开启离线功能:
修改 private TtsMode ttsMode = TtsMode.MIX;
百度语音合成精简版_第16张图片

可以看见缺少/sdcard/baiduTTS/bd_etts_text.dat 根据提示,从assets 目录复制3个dat文件到 /sdcard/baiduTTS/

如果/sdcard/baiduTTS不可写,也可以将private static final String TEMP_DIR = “/sdcard/baiduTTS”; 修改为任意目录

百度语音合成精简版_第17张图片

此时发现-204错误,核对后发现一开始的4个鉴权信息中 包名错了
百度语音合成精简版_第18张图片

修改为正确的包名 com.baidu.tts.sample
百度语音合成精简版_第19张图片

此时,官方demo集成全部完毕。
断网后测试会听见男声:
百度语音合成精简版_第20张图片

(九) 个性化合成参数
离线的男女声选择:
这里写图片描述
合成参数选择
百度语音合成精简版_第21张图片
(十) 替换自己申请应用的信息及包名
此时别忘了测试都是用demo的appId appKey SecretKey及包名信息的。

我们以一个新的注册信息为例,注意该应用别忘了开启合成能力:

百度语音合成精简版_第22张图片

修改 appId appKey appSecret
百度语音合成精简版_第23张图片

修改包名:
百度语音合成精简版_第24张图片

(十一) 代码下载

我参照文档合成的源码下载:

https://download.csdn.net/download/qq_31939617/10388588 下载

你可能感兴趣的:(android)