简介

本文档是百度语音开放平台iOS SDK的用户指南,描述了语音合成相关接口的使用说明。

概念解释

语音合成是实现人机语音交互,建立一个有听和讲能力的交互系统所必需的关键技术。随着语音技术的发展,百度自主研发了语音合成系统(TTS),功能是接收用户发送的文本,生成语音发送给用户。

对本文中将提到的名词约定如下:

语音合成(Text To Speech,TTS):将文本合成为语音,即声音文件。

合成引擎:将文本合成为语音的核心模块。

百度语音合成SDK(BDSSpeechSynthesizer):本开发包。BDSSpeechSynthesizer是一个封装了网络首发、音频播放功能的语音合成解决方案。借助BDSSpeechSynthesizer可以在应用程序中快速集成语音合成功能。

功能介绍

百度语音合成客户端iOS离在线融合版SDK(以下简称BDSSpeechSynthesizer)是一种面向iOS移动设备的语音合成解决方案,以Cocoa Touch Static Library形式发布。支持离线语音合成,在线语音合成,在线优先等合成模式。支持语速、音调、音量、引擎优化级别、发音人、男女声等合成参数设置。

本版本优先使用在线语音合成服务合成,以获得更好的合成效果。如在线合成服务不可用,如网络连接异常,蜂窝信号差等,将会使用离线合成引擎合成文本,保证功能可用,并按规则定期侦测在线语音合成服务,如在线服务可用,下次语音合成将使用在线服务合成。

兼容性

  • 系统: 支持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
    
  3. 如果不需要离线功能,可以移除离线相关的资源文件(参考下一节),并删除代码中所有调用离线引擎代码相关的片段。

以下是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/ChineseText.dat,
BDSClientResource
/TTS/English_Text.dat,
BDSClientResource/
TTS/Chinese_And

English_Text.dat
离线语音合成资源文件(text data file), 中文,英文,中英文 若无需离线合成则无需引入
BDSClientResource/
TTS/English_Speech
_Female.dat,
BDSClientResource/
TTS/English_Speech
_Male.dat
离线语音合成资源文件 (speech data file,英文),女声,男声 若无需离线合成则无需引入