简介及运行环境
更新时间:2020-03-04
简介及运行环境
概述
本文档是百度语音开放平台Andriod SDK的用户指南,描述了在线合成等相关接口的使用说明。 合成的策略是边下载边播放。区别于Rest Api一次性下载整个录音文件。
兼容性
类别 | 兼容范围 |
---|---|
系统 | 支持Android 2.3 以上版本 API LEVEL 9 |
机型 | 上市的android手机和平板。对其它android设备及订制系统不做官方支持 |
硬件要求 | 要求设备上有麦克风 |
网络 | 支持移动网络(包括2G等)、WIFI等网络环境 |
开发环境 | 建议使用最新版本Android Studio 进行开发 |
版本更新
日期 | jar文件版本 | 更新内容 |
---|---|---|
2019-11-03 | com.baidu.tts_2.5.5.109.20191014_01b8485.jar | 优化离线合成,更新离线引擎及离线发音资源;新增回调参数,告知本次合成是离线还是在线引擎生成的 |
2018-08-03 | com.baidu.tts_2.3.2.20180713_6101c2a.jar | 优化离线合成算法及bug修复 |
NDK so库架构
共计5个架构目录:armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,每个架构下均有以下5个so库文件。 如果为了节省安装包体积,可以只使用armeabi目录,性能损失微小。
资源名称 | 资源大小 |
---|---|
libbd_etts.so | 约1.6M |
libBDSpeechDecoder_V1.so | 约400k |
libgnustl_shared.so | 约700k |
如果仅需要在线功能,不使用压缩传输,可以不需要上述so文件。
// 不使用压缩传输
mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_AUDIO_ENCODE, SpeechSynthesizer.AUDIO_ENCODE_PCM);
mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_AUDIO_RATE, SpeechSynthesizer.AUDIO_BITRATE_PCM);
如果仅需要在线功能,使用压缩传输,仅需要保留ibBDSpeechDecoder_V1.so
DEMO压缩包说明
DEMO压缩包下载即可运行,其中DEMO内已经附带了SDK的库。
- com.baidu.tts_x.x.x.xxxxx_xxxxx.jar 位于 app/libs 目录下。
- armeabi,armeabi-v7a,arm64-v8a,x86,x86_64 5个架构目录位于app\src\main\jniLibs 目录下
DEMO 测试
demo中已经填写了默认的测试信息(QPS受限),可以直接运行测试。 可以在百度云网站上申请自己语音合成的应用后,会有appId、appKey、appSecret及android包名 4个鉴权信息, 修改app/src/main/assets/auth.properties 里的4个字段 , 并修改app/build.gradle里 defaultConfig.applicationId为包名:
# 离在线Android SDK 鉴权信息
## 1.修改这个文件4个鉴权信息
## 2.修改app/build.gradle里 defaultConfig.applicationId为你网页上应用填写的android包名
# 网页上应用的appId,申请纯离线SDK鉴权的必备信息
appId:110xxx57
# 网页上应用的appKey, 纯离线功能不需要。在线模式和离在线混合模式需要。
appKey:OvcxxxxxxxxsFFncG1
# 网页上应用的secretKey, 纯离线功能不需要。在线模式和离在线混合模式需要。
secretKey:e72ebb6xxxxxxxxxxe6706e2
# 包名,这个值必须和app/build.gradle 里 defaultConfig.applicationId一致,即必须为context.getPackageName()
applicationId:com.baidu.tts.sample
版本信息及离线资源完整性验证
SynthesizerTool.getEngineVersion();
SynthesizerTool.getEngineInfo();
SynthesizerTool.verifyModelFile("/storage/emulated/0/xxxxx/bd_etts_common_speech_m15_mand_eng_high_am-mgc_v3.6.0_20190117.dat")
SynthesizerTool.verifyModelFile("/storage/emulated/0/xxxx/bd_etts_text.dat")
SynthesizerTool.getModelInfo("/storage/emulated/0/xxxxx/bd_etts_common_speech_m15_mand_eng_high_am-mgc_v3.6.0_20190117.dat")
SynthesizerTool.getModelInfo("/storage/emulated/0/xxxx/bd_etts_text.dat")