资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

简介

简介

本文档是百度离线语音合成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大小说明

  1. 由于 BITCODE 开启会导致二进制文件体积增大,这部分会在 APPStore 发布时进行进一步编译优化,并不会引起最终文件的体积变化,故此处计算的是关闭 BITCODE 下的二进制增量。
  2. .a中是多个架构做了合并,使用lipo可以看到细节。所以.a库文件本身很大,且打包出来的ipa也相对较大。但用户实际下载到手机中会被AppStore优化,只下载用户设备需要的架构,所以实际在手机上占用的空间很小。
Architectures in the fat file: libBaiduSpeechSDK.a are: armv7 i386 x86_64 arm64
  1. 如果不需要离线功能,可以移除离线相关的资源文件(参考下一节),并删除代码中所有调用离线引擎代码相关的片段。

以下是2.2.7.0在iPhone6中安装Demo后,实际系统计算出的App占用大小,根据机型可能会有差异。

功能 大小
带离线合成,并引入一种离线发音人 14.8M
不带离线合成,不引入离线合成资源 7M

开发包说明

文件(夹)名 说明 备注
BDSClientLib 离在线语音合成SDK Lib库,支持simulator和iOS设备。 必须引入
BDSClientSample 开发示例(xcode project)
BDSClientResource/
TTS/ChineseAnd
English_Speech*.dat
具体参照离线发音人资源 若无需离线合成则无需引入
注意:路径不能使用中文

BDSClientResource/
TTS/ChineseAnd
English_Text.dat
离线语音合成资源文件(text data file), 中英文 若无需离线合成则无需引入
注意:路径不能使用中文
BDSClientResource/
TTS/English_Speech
_Female.dat,
BDSClientResource/
TTS/English_Speech
_Male.dat
离线语音合成资源文件 (speech data file,英文),女声,男声 若无需离线合成则无需引入
注意:路径不能使用中文