开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
AR与VR
自然语言处理
知识图谱
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
智能农业
信息服务
智能园区
智能硬件
语音技术

    简介

    简介

    本文档是百度离线语音合成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
    离线语音合成资源文件
    (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,英文),女声,男声 若无需离线合成则无需引入
    上一篇
    离线合成Android-SDK
    下一篇
    集成指南