logo
电话400 898 2016
预约试用
开放平台
En
尊敬的开发者,您好! 标贝科技的开发文档已更换新的地址,旧版文档地址将会在2023年12月31日下线, 给您带来不便,敬请谅解! 立即查看
产品简介 产品简介
基本概念 基本概念
平台新手指引 平台新手指引
计价模式 计价模式
开发者文档下拉
开放平台计价
定制服务计价
获取访问令牌 获取访问令牌
语音合成 语音合成
开发者文档下拉
接口说明
发音人列表
短文本合成 开发者文档下拉
Android SDK
iOS SDK
C++(Linux) SDK
RESTful API
Websocket API
长文本合成 开发者文档下拉
长文本合成RESTful API
长文本合成Websocket API
离线合成 开发者文档下拉
模型文件说明
离线合成(普通版) Android SDK
离线合成(普通版) iOS SDK
离线合成(精品版) Android SDK
离线合成(精品版) iOS SDK
XML标签
SSML标签
语音合成时间戳功能
语音识别 语音识别
开发者文档下拉
音频格式说明
一句话识别 开发者文档下拉
RESTful API
Websocket API
Android SDK
iOS SDK
实时长语音识别 开发者文档下拉
Websocket API
Android SDK
iOS SDK
录音文件识别 开发者文档下拉
RESTful API
自学习工具 开发者文档下拉
热词
个性化模型
声音复刻 声音复刻
开发者文档下拉
定制模型 开发者文档下拉
RESTful API
Android SDK
iOS SDK
定制声音合成 开发者文档下拉
短文本合成RESTful API
长文本合成Websocket API
声音转换 声音转换
开发者文档下拉
发音人列表
Websocket API
Android SDK
iOS SDK
离线声音转换 离线声音转换
开发者文档下拉
发音人列表
Android SDK
iOS SDK
声纹识别 声纹识别
开发者文档下拉
RESTful API
声音理解 声音理解
开发者文档下拉
RESTful API
协议规则 协议规则
开发者文档下拉
平台服务协议
平台通用规则
法律声明及隐私政策
服务等级协议SLA
常见问题 常见问题
开发者文档下拉
语音合成
语音识别

短文本合成iOS SDK

下载安装

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

系统: iOS 9.0 以上;

架构: arm 64 ,i386

XCode集成Framework(参考demo)

    • Pod 方式集成:

      Pod ‘DBAudioSDK/DBOnlineTTSKit ‘ ,’xxx’ ; ‘xxx’是SDK的版本号;
    • 手动导入资源文件,资源目录如下图,具体可参照demo
  • 在viewController中引用SDK的头文件
    #import ”DBSynthesizerManager.h“// 合成器的头文件
  • 实例化DBSynthesizerManager

    实例化DBSynthesizerManager对象,设置授权信息:a.公有化设置clientId和clientSecret;b.私有化设置url;具体可参考demo;

    备注:本sdk提供两种功能,1:处理在线合成的功能,称为合成功能;2.处理在线合成+播放器功能,称为合成播放功能;

  • 设置回调代理对象
    // 1.合成功能回调
    _synthesizerManager.delegate = self;
    // 2.合成播放功能
    _synthesizerManager.playerDelegate = self;
    

SDK关键类

  • DBSynthesizerManager.h:语音合成关键业务处理类,需要注册自己为该类的回调对象;
  • DBSynthesizerManagerDelegate:为DBSynthesizerManager的回调协议;
  • DBSynthesisPlayerDelegate:为播放器的合成回调协议,需要播放功能的需要遵守该协议;
  • DBSynthesizerRequestParam.h:设置合成需要的相关参数,按照如下的接口文档设置即可;
  • DBFailureModel.h:请求异常的回调类,包含错误码,错误信息,和错误的trace_id;
  • DBTTSEnumerate.h:sdk全局的错误枚举类;

调用说明

  • 初始化DBSynthesizerManager类,得到DBSynthesizerManager的实例。
  • 设置DBSynthesizerRequestParam合成参数,包括必填参数和非必填参数;
  • 调用[DBSynthesizerManager startPlayNeedSpeaker:YES]方法开始与云端 服务连接,如果设置为NO仅调用合成功能;
  • 在业务完全处理完毕,或者页面关闭时,调[self.synthesizerManager cancel]结束服务,释放资源;
  • 播放器相关属性;
  • /// 合成播放器的回调
    @property(nonatomic,weak)id <DBSynthesisPlayerDelegate> delegate;
    /// 当前的播放进度
    @property(nonatomic,assign,readonly)NSInteger currentPlayPosition;
    /// 音频总长度
    @property(nonatomic,assign,readonly)NSInteger audioLength;
    /// 当前的播放状态
    @property(nonatomic,assign,readonly,getter=isPlayerPlaying)BOOL playerPlaying;
    

参数说明

基本参数说明:

参数 参数名称 是否必填 说明
clientId clientId 初始化sdk的clientId
clientSecret clientSecret 初始化sdk的clientSecret
setText 合成文本 设置要转为语音的合成文本
setDelegate 数据回调方法 DBSynthesizerDelegate:合成器回调
setPlayerDelegate 播放回调方法 DBSynthesisPlayerDelegate播放器回调
setVoice 发音人 设置发音人声音名称,默认:标准合成_模仿儿童_果子
setLanguage 合并文本语言类型 中文(zh),英文(eng),粤语(cat),四川话(sch),天津话(tjh),台湾话(tai),韩语(kr),巴葡语(bra),日语(jp),西班牙西语(ESP) ,墨西哥西语(MEX),维吾尔语(UYG)
setSpeed 语速 设置播放的语速,在0~9之间(支持浮点值),不传时默认为5
setVolume 音量 设置语音的音量,在0~9之间(只支持整型值),不传时默认值为5
setPitch 音调 设置语音的音调,取值0-9,不传时默认为5
setAudioType 返回数据文件格式 可不填,不填时默认为4
audiotype=4 :返回16K采样率的pcm格式
audiotype=5 :返回8K采样率的pcm格式
spectrum 合成频谱 取值范围0~20;不传时默认为不调整频谱;
值为0代表使用配置文件tts_attention.conf中spec_adjust_d的值;
1代表不调整频谱;
1以上的值代表高频能量增加幅度,值越大声音的高频部分增强越多,听起来更亮和尖细
spectrum_8k 8K的合成频谱 取值范围0~20;不传时默认为0,仅针对8K音频频谱的调整。
enable_subtitles 字级别的时间戳 字级别时间戳功能,同interval=”1”一起使用:
'0':关闭字级别时间戳功能
'1':开启字级别时间戳功能
详细使用方法参考语音合成时间戳
silence 标点符号静音时长 设置标点符号静音时长:
'0':默认值
'1':句中标点停顿较短,适合直播、配音解说等场景
'2':句中标点停顿较长,适合朗诵、教学等场景

回调类方法说明

DBSynthesizerManagerDelegate 回调类方法说明:

参数 参数名称 说明
onSynthesisStarted 开始合成 开始合成
onPrepared 准备就绪 第一帧数据返回时的回调,此时可以使用数据执行播放。
onBinaryReceived 流式持续返回数据的接口回调 data 合成的音频数据。
audioType 音频类型,如pcm。
interval 音频interval信息,可能为空。
interval_x音频interva_x信息,可能为空
endFlag是否时最后一个数据块,false:否,true:是。
onSynthesisCompleted 合成完成 当onBinaryReceived方法中endFlag参数=true,即最后一条消息返回后,会回调此方法。
onTaskFailed 合成失败 返回msg内容格式为:{"code":40000,"message":"…","trace_id":" 1572234229176271"} trace_id是引擎内部合成任务ID。

DBSynthesisPlayerDelegate回调方法说明:

参数 参数名称 说明
readlyToPlay 播放器准备就绪 此时可以调起播放器进行播放
playFinished 播放完成 播放结束回调
playPausedIfNeed 播放暂停 播放暂停回调
playResumeIfNeed 播放继续 播放开始回调
updateBufferPositon 更新播放缓存进度 播放器缓存进度回调
playerFaiure 合成失败,以及播放器处理失败的回调 返回错误码和错误信息,如果是合成器错误会返回traceId

错误码

失败时返回的msg格式:

参数名称 类型 描述
code string 错误码
message string 错误描述
trace_id string 引擎内部合成任务id(之后服务器错误会有)

对应code值:

错误码 含义
11190001 缺少ClientId
11190002 缺少Secret
11190003 token获取失败
11190004 参数未设置
11190005 合成⽂本内容为空
11190006 发⾳⼈参数错误
11190007 解析错误
11190008 链接服务器失败
10001 access_token参数获取失败或未传输
10002 domain参数值错误
10003 language参数错误
10004 voice_name参数错误
10005 audiotype参数错误
10006 rate参数错误
10007 idx错误
10008 single错误
10009 text参数错误
10010 文本太长
20000 获取资源错误
20001 断句失败
20002 分段数错误
20003 分段后的文本长度错误
20004 获取引擎链接错误
20005 RPC链接失败错误
20006 引擎内部错误
20007 操作redis错误
20008 音频编码错误
30000 鉴权错误(access_token值不正确或已经失效)
30001 并发错误
30002 内部配置错误
30003 json串解析错误
30004 获取url失败
30005 获取客户IP地址失败
30006 任务队列错误
40001 请求不是json结构
40002 缺少必须字段
40003 版本错误
40004 字段值类型错误
40005 参数错误
50001 处理超时
50002 内部rpc调用失败