资讯 社区 文档 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

简介及运行环境

简介及运行环境

概述

本文档是百度语音开放平台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")