logo
产品简介 产品简介
基本概念 基本概念
平台新手指引 平台新手指引
计价模式 计价模式
开发者文档下拉
开放平台计价
定制服务计价
获取访问令牌 获取访问令牌
语音合成 语音合成
开发者文档下拉
接口说明
发音人列表
在线合成 开发者文档下拉
Android SDK
iOS SDK
C++(Linux) SDK
RESTful API
Websocket API
长文本语音合成API
离线合成 开发者文档下拉
离线合成 Android SDK
离线合成 iOS SDK
语音识别 语音识别
开发者文档下拉
一句话识别 开发者文档下拉
RESTful API
Websocket API
实时长语音识别 开发者文档下拉
Websocket API
录音文件识别 开发者文档下拉
RESTful API
SDK文档 开发者文档下拉
Android SDK
iOS SDK
声音复刻 声音复刻
开发者文档下拉
定制模型 开发者文档下拉
RESTful API
Android SDK
iOS SDK
语音合成 开发者文档下拉
RESTful API
声音转换 声音转换
开发者文档下拉
Websocket API
Android SDK
iOS SDK
协议规则 协议规则
开发者文档下拉
平台服务协议
平台通用规则
法律声明及隐私政策
服务等级协议SLA
常见问题 常见问题
开发者文档下拉
语音合成
语音识别

离线合成iOS SDK

下载安装

SDK及示例demo下载地址: https://github.com/data-baker/BakerSynthesizerOfflineIOS

兼容性说明

  • iOS系统: iOS 8.0及以上;
  • 架构支持:arm64、arm64e、armv7、armv7s;
  • 系统库依赖:libc++.tbd;

XCode集成lib(可参考demo)

  • 导入lib 文件,在使用的类中引入头文件;
  • 设置鉴权信息,设置ClientId,clientSecret;
  • 实例化合成类、设置合成参数、设置回调代理;
  • 实现代理回调处理回调结果;

SDK接口说明

公共类 说明
DBOfflineSynthesizer 单例合成类,处理离线TTS的合成功能
DBSynthesizerRequestParam 合成参数类,设置合成的参数
代理协议
DBSynthesizerDelegate 回调语音合成数据的协议
DBSynthesisPlayerDelegate 语音合成播放相关的回调
公共枚举
DBTTSEnumerate 公共枚举相关,包含错误码等

调用说明

本SDK提供两种功能:

  • 离线合成功能,即通过sdk能获取合成的语音数据不支持播放;
    • a.初始化DBOfflineSynthesizerManager类,得到DBOfflineSynthesizerManager的实例,调用setUpClientId:clientSecret:successHandler:failureHandler来初始化SDK;
    • b.注册成为DBSynthesizerDelegate的回调者;
    • c.设置DBSynthesizerRequestParam 合成参数,有三个参数必须设置:text(合成文本),audioType:(语音采样率,默认为16K),speaker(发音人,仅支持TTSConfig里面的几个声音模型);
    • d.调用DBOfflineSynthesizerManager 实例方法startPlayISNeedSpeaker:No开始与云端服务连接;
    • e.在DBSynthesizerDelegate回调中获得合成的音频数据并按您自己的业务需要 处理合成结果或错误情况。
    • f.在业务完全处理完毕,或者页面关闭时,调OfflineSynthesizerManager的实例方法stop,结束合成,释放资源;
  • 离线合成播放功能:即在第一种的功能上还支持播放;
    • a.初始化DBOfflineSynthesizerManager类,得到DBOfflineSynthesizerManager的实例,调用setUpClientId:clientSecret:successHandler:failureHandler来初始化SDK;
    • b.注册成为DBSynthesizerDelegate,DBSynthesisPlayerDelegate的回调;
    • c.设置DBSynthesizerRequestParam合成参数,有三个参数必须设置:text(合成文本),audioType:(语音采样率,默认为16K),speaker(发音人,仅支持TTSConfig里面的几个声音模型);
    • d.调用DBOfflineSynthesizerManager实例方法startPlayISNeedSpeaker:Yes开始与云端服务连接;
    • e.1.在DBSynthesizerDelegate协议中回调合成相关处理; 2.在DBSynthesisPlayerDelegate中处理语音合成播放的相关回调;
    • f.在业务完全处理完毕,或者页面关闭时,调OfflineSynthesizerManager的实例方法stop,结束合成,释放资源;

参数说明

1. 合成参数说明


参数 参数名称 是否必填 说明
clientId clientId 初始化sdk的clientId
clientSecret clientSecret 初始化sdk的clientSecret
setText 合成文本 设置要转为语音的合成文本
DBSynthesizerDelegate 离线合成的回调 支持离线合成设置该回调
DBSynthesisPlayerDelegate 合成播放的回调 支持离线合成播放的功能设置该回调
setSpeaker 发音人 参照TTSConfig文件中设置的发音人
setSpeed 语速 范围0~9,默认5
setVolume 音量 范围0~9,默认5


2. DBSynthesizerDelegate 回调类方法说明


参数 参数名称 说明
onSynthesisStarted 开始合成 开始合成
onBinaryReceived 流式持续返回数据的接口回调 data 合成的音频数据;
audioType 音频类型,如pcm。
interval 音频interval信息,离线统一为空。
endFlag 是否时最后一个数据块,false:否,true:是。
onSynthesisCompleted 合成完成 当onBinaryReceived方法中endFlag参数=true,即最后一条消息返回后,会回调此方法。
onTaskFailed 合成失败 返回msg内容格式为:{"code":40000,"message":"…","trace_id":" 1572234229176271"} trace_id是引擎内部合成任务ID。


3. DBSynthesisPlayerDelegate 回调类方法说明


参数 参数名称 说明
readlyToPlay 播放器准备就绪 此时可以调起播放器进行播放
playFinished 播放完成 播放结束回调
playPausedIfNeed 播放暂停 播放暂停回调
playResumeIfNeed 播放继续 播放开始回调
playerCallBackFaiure error: 播放失败的相关回调信息 播放失败的相关回调
playerNeedSynthesizerText:playerCanBuffer texteCount:待合成的文本数
bufferLength:播放器缓冲的音频数据长度
回调当前合成文本的段数,和可以播放的缓冲数据长度;—可选方法

错误说明

1. 失败时返回的msg格式


参数名称 类型 说明
code int 错误码9xxxx表示SDK相关错误,5xxxx授权及其他错误
message string 错误描述
trace_id string 引擎内部合成任务id


2. 对应code值


错误码 说明
18190001 合成SDK初始化失败
18190002 合成文本内容为空
18190003 参数格式错误
18190004 返回结果解析错误
18190005 合成失败,失败信息相关错误
18190006 播放器相关错误
18150000 离线授权没有授权信息
18150001 离线授权的设备ID不足
18150002 离线授权设备的总数超过限制
50003 网络请求失败
10001 错误,合成引擎,接口函数被多次调用
10002 引擎没有成功初始化
10003 引擎内存不足
10004 传给接口的参数错误
10005 引擎内部运行失败,当前文字无法正常合成
10006 去除xml标签之后的合成文本长度超过引擎支持的最大长度
2000 合成器错误列表,匹配包名是否合法
2001 合成器尚未初始化
2002 传入文本为空
2003 传入文本过长