简介
更新时间:2023-01-10
简介
本文档是百度离线语音合成iOS SDK的用户指南,描述了离线语音合成SDK
相关接口的使用说明。
概念解释
语音合成是实现人机语音交互,建立一个有听和讲能力的交互系统所必需的关键技术。随着语音技术的发展,百度自主研发了语音合成系统(TTS),功能是接收用户发送的文本,生成语音发送给用户。
对本文中将提到的名词约定如下:
语音合成(Text To Speech,TTS):将文本合成为语音,即声音文件。
合成引擎:将文本合成为语音的核心模块。
百度离线语音合成iOS SDK(BDSSpeechSynthesizer):本开发包。BDSSpeechSynthesizer是一个封装了网络首发、音频播放功能的语音合成解决方案。借助BDSSpeechSynthesizer可以在应用程序中快速集成语音合成功能。
功能介绍
百度离线语音合成iOS SDK(以下简称BDSSpeechSynthesizer)是一种面向iOS移动设备的语音合成解决方案,以Cocoa Touch Static Library形式发布。支持四种合成模式的设置,包括纯在线、纯离线、在线优先、离线优先。支持语速、音调、音量、引擎优化级别、发音人、男女声等合成参数设置。
合成模式设置接口BDS_SYNTHESIZER_PARAM_SYNTH_STRATEGY,模式设置接口见下表:
合成模式 | 参数 |
---|---|
纯在线 | TTS_MODE_ONLINE |
纯离线 | TTS_MODE_OFFLINE |
在线优先 | TTS_MODE_ONLINE_PRI |
离线优先 | TTS_MODE_OFFLINE_PRI |
在线优先网络判断(TTS_MODE_ONLINE_PRI) | 参数 |
---|---|
仅WIFI下在线优先, 其它网络状况下离线合成(默认) | REQ_CONNECTIVITY_WIFI |
至少有WIFI、4G网络在线优先, 其它网络状况下离线合成 | REQ_CONNECTIVITY_4G |
至少有WIFI、4G、3G网络在线优先, 其它网络状况下离线合成 | REQ_CONNECTIVITY_3G |
任意有互联网连接在线优先,其他状况下离线合成 | REQ_CONNECTIVITY_ANY = 0 |
兼容性
- 系统: 支持iOS 8.0及以上。
- 机型: iPhone和iPad皆可。
- 架构: 支持i386、x86_64、armv7、arm64。 (离线合成不支持i386和x86_64架构。)
资源占用描述
静态库占用:
SDK类型 | 二进制增量 | __TEXT增量 |
---|---|---|
合成 | 9.3M | 4.0M~4.6M |
SDK大小说明
- 由于 BITCODE 开启会导致二进制文件体积增大,这部分会在 APPStore 发布时进行进一步编译优化,并不会引起最终文件的体积变化,故此处计算的是关闭 BITCODE 下的二进制增量。
- .a中是多个架构做了合并,使用lipo可以看到细节。所以.a库文件本身很大,且打包出来的ipa也相对较大。但用户实际下载到手机中会被AppStore优化,只下载用户设备需要的架构,所以实际在手机上占用的空间很小。
Architectures in the fat file: libBaiduSpeechSDK.a are: armv7 i386 x86_64 arm64
- 如果不需要离线功能,可以移除离线相关的资源文件(参考下一节),并删除代码中所有调用离线引擎代码相关的片段。
以下是2.2.7.0在iPhone6中安装Demo后,实际系统计算出的App占用大小,根据机型可能会有差异。
功能 | 大小 |
---|---|
带离线合成,并引入一种离线发音人 | 14.8M |
不带离线合成,不引入离线合成资源 | 7M |
开发包说明
文件(夹)名 | 说明 | 备注 |
---|---|---|
BDSClientLib | 离在线语音合成SDK Lib库,支持simulator和iOS设备。 | 必须引入 |
BDSClientSample | 开发示例(xcode project) | |
BDSClientResource/ TTS/ChineseAnd English_Speech*.dat |
离线语音合成资源文件 (speech data file,中英文) Female: 女声 (BDS_SYNTHESIZER_SPEAKER_FEMALE) Male: 男声(BDS_SYNTHESIZER_SPEAKER_MALE); Male-yyjw: 情感男生度逍遥(BDS_SYNTHESIZER_SPEAKER_MALE_3); DYY: 度丫丫(BDS_SYNTHESIZER_SPEAKER_DYY) |
若无需离线合成则无需引入 |
BDSClientResource/ TTS/ChineseAnd English_Text.dat |
离线语音合成资源文件(text data file), 中英文 | 若无需离线合成则无需引入 |
BDSClientResource/ TTS/English_Speech _Female.dat, BDSClientResource/ TTS/English_Speech _Male.dat |
离线语音合成资源文件 (speech data file,英文),女声,男声 | 若无需离线合成则无需引入 |