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

Xcode集成lib(参考demo)

1.兼容性说明:

iOS系统: iOS 9.0及以上;

架构⽀持:arm64及以上;

Bitcode设置:Enable Bitcode 设置为NO;

离线设备消耗说明: 一个bundleId会认为是一个设备

体验地址

普通版的体验demo地址:下载离线普通版

精品版的体验demo地址:下载离线精品版

依赖库说明

Sdk的接口分为普通版和精品版的接口,SDK的使用流程一致,配置方法存在细微差别,分别为:设置合成类型,离线资源,具体可以参考体验demo。

1.1依赖库

普通版的依赖库

依赖库 集成方式 使用说明
DBMixTTS3SDK.framework Target->Build Setting->Search Paths -> Library Search Paths, 增加$(inherited) + 库的相对路径 tts合成引擎依赖库
tts-framework.a
libc++.tbd Target -> Build Phases -> Link Binary With Libraries 添加libc++.tbd 库 系统C++依赖库

精品版的依赖库

依赖库 集成方式 使用说明
libprotobuf.a Target->Build Setting->Search Paths -> Library Search Paths, 增加$ (inherited) + 库的相对 (DBTTSMix_3.0/depency_github ) tts合成引擎依赖库
libtts-framework.a
TensorFlowlite.framework Target-> Build Setting ->SearchPaths -> Framework Search Paths,增加$(inherited) + framework的相对路径($(PROJECT_DIR)/DBTTSMix_3.0/depency_github) tts合成引擎依赖库
libc++.tbd Target -> Build Phases -> Link Binary With Libraries 添加libc++.tbd 库 系统C++依赖库
DBMixTTS3SDK.framework 拖⼊⼯程,选择”copy Item to Project” 离在线融合framework库

1.2依赖资源


普通版依赖的公共资源

依赖资源 集成方式 使用说明
tts_entry_1.0.0_release_front_chn_eng_ser.dat 拖入到工程,选择“Copy Item to Project” 合成引擎的前端文件
tts_entry_1.0.0_release_back_chn_eng_hts_bb_f4180623_jm3_fix.dat 合成引擎的后端文件

精品版依赖的公共资源

依赖资源 集成方式 使用说明
tts_attn.conf 拖⼊到⼯程,选择 “Copy Item to Project” 合成引擎依赖库
tts_attention.json
tts_entry_1.0.0_release_front_chn_eng_ser.dat 合成引擎的前端⽂件
tts_entry_1.0.0_release_back_chn_eng_hts_bb_f4180623_jm3_fix.dat 合成引擎的后端⽂件

本SDK提供两种功能:

1.仅⽀持离在线合成,即通过sdk能获取合成的语⾳数据不⽀持播放;

2.⽀持离在线合成播放功能:即在第⼀种的功能上还⽀持播放;


项⽬架构及背景说明:

SDK关键类

1.DBMixSynthesizer:语⾳合成关键业务处理类,全局只需⼀个实例即可,并且 需要注册⾃⼰为该类的回调对象;

2.DBSynthesizerRequestParam:在线合成参数类,设置合成需要的相关参数, 按照如下的接⼝⽂档设置即可;

3.DBTTSEnumerate:sdk枚举类,包含sdk中⽤到的⼀些状态枚举包含错误码之 类的说明;

4. DBSynthesisPlayerDelegate: 合成播放的代理回调;

5. DBSynthesizerDelegate : 合成的代理回调;

调⽤说明

1.引⼊SDK的header⽂件

#import <DBMixtTTS3SDK/DBMixSynthesizer.h>

2.设置鉴权

SDK的鉴权分为两种,在线鉴权和离线鉴权,在线鉴权和离线鉴权是相互独⽴的,鉴权和 设置合成的模式会影响最终能使⽤的功能,具体参照下表;

a.)离线合成鉴权

a).设置离线合成的鉴权,传⼊离线的clientId 和clientSecret,鉴权成功后返回结果;

b).设置在线合成的鉴权,传⼊在线的clientId 和clientSecret,鉴权成功会返回token;

3.设置鉴权示例

- (void)offlineSetupClientId:(NSString *)offClientId clientSecret:(NSString
 *)offClientSecret ttsModel:(tts_model)ttsModel messageHander:(DBMessagHandler)messageHandler;

说明:

offClientId: 离线ClientId

offClientSecret:离线offClientSecret

ttsModel:tts_model_2表示普通版,tts_model_3表示精品版

messageHandler:回调鉴权的结果

4.设置离线引擎的声码器和发⾳⼈列表

- (NSInteger)setDataPath:(NSString *)dataPath frontPath:(NSString *)frontPath
voiceArray:(NSArray<DBOfflineSpeechModel*> *)voiceArray;

设置此⽅法会初始化合成引擎,只有初始化引擎后才能设置合成参数,在线合成参数和离线合成参数都需要先初始化合成引擎;

dataPath: 为后端模型;

frontPath: 为前端模型;

voiceArray: 为离线发⾳⼈列表;

5.设置离线合成参数

设置离线合成的参数

a).设置离线合成的⾳量(0-9);

B).设置离线合成的语速(0-9);

6.设置在线合成参数

A).设置在线合成的参数,在线合成的参数是通过对象进⾏配置的,需要传⼊token(token信息为鉴权成功后通过回调返回到),发⾳⼈(参照在线授权的发⾳⼈列表),语速(0-9),⾳量(0-9)等信息;

7.设置回调代理

a).DBSynthesizerDelegate 合成的回调;

处理合成的回调结果,包含开始合成,⾸包返回,合成完成等事件;

b).DBSynthesisPlayerDelegate 合成播放的回调;

合成播放的回调,包含准备播放,开启播放,播放暂停,播放完成的事件;

8.开启合成

Demo提供有按照标点符号进⾏切割的⽅法,切割⻓度是由⽤户⾃⾏决定,默认为200个字数的⻓度,切割完⽂本后,开启合成;

9.播放控制

仅需要播放器的时候才需要处理播放的控制;

⽀持三种播放的模式,a.停⽌合成和播放; b.暂停播放; c.继续播放

参数说明

4.1合成公共参数说明

参数 参数名称 是否必填 说明
networkThreshold ⽹络模式 ⽀持纯在线,纯离线,离在线模式,默认为离在线模式
bufferDataLenght ⾳频数据缓存的程度,单位KB 仅在⽀持播放器的⻓⽂本合成的情况下使⽤,默认为100KB
DBSynthesizerDelegate 仅离线合成的回调 仅⽀持离线合成设置该回调
DBSynthesisPlayerDelegate 离线合成+播放的回调 ⽀持离线合成播放的功能设置该回调
onlineClientId clientId 在线合成的clientId
onlineClientSecret clientSecret 在线合成的clientSecret
offlineClientId clientId 离线合成的clientId
offlineClientSecret clientSecret 离线合成的clientSecret
setDataPath:frontPath:voiceArray; dataPath, frontPath, voiceArray DataPath离线合成引擎后端的数据模型,不需要修改;frontPath:离线合成引擎前端的数据模型,不需要修改;VoiceArray:声⾳数组;

4.2在线合成参数设置

参数 参数名称 是否必填 说明
setSpeaker 发⾳⼈ 开放平台授权的发⾳⼈列表
setAudioType 返回数据⽂件格式 仅⽀持 PCM 16K 的设置
language 语⾔ 合成请求⽂本的语⾔,⽬前⽀持ZH(中⽂和中英混)和ENG(纯英⽂,中⽂部分不会合成),默认:ZH,更多⾳⾊参考官⽹
speed 语速 设置播放的语速,在0~9之间(⽀持浮点值),不传时默认为5
volume ⾳量 设置语⾳的⾳量,在0~9之间(只⽀持整型值),不传时默认值为5
pitch 声调 设置语⾳的⾳调,取值0-9,不传时默认为5中语调
timeOut 超时时间 连接超时时间,会根据该时间设置在线连接超时,如果超时,会进行离线切换,如果不支持离线合成会报错提示(默认5s)
rate 码率 码率:可不填,不填时默认为2,取值范围1-8,配合audioType 使⽤
audioType 采样率 采样率: 16K 的采样率

4.3离线合成参数设置

参数 参数名称 是否必填 说明
setSpeaker 发⾳⼈ 发⾳⼈对应的序号
setAudioType 返回数据⽂件格式 仅⽀持 PCM 16K 的设置
DBSynthesizerParamKeyLanguage 语⾔类型 默认传5-中英混
DBSynthesizerParamKeyVolume ⾳量 默认5,范围0-9
DBSynthesizerParamKeySpeed 语速 默认5,范围0-9

4.4 DBSynthesizerDelegate 回调类⽅法说明

参数 参数名称 说明
onSynthesisStarted 开始合成 开始合成
onBinaryReceived 流式持续返回数据的接⼝回调 data 合成的⾳频数据;audioType ⾳频类型,如pcm,wav。interval ⾳频interval信息,为空。endFlag 是否时最后⼀个数据块,false:否,true:是。
onSynthesisCompleted 合成完成 当onBinaryReceived⽅法中endFlag参数=true,即最后⼀条消息返回后,会回调此⽅法。
onPrepared 收到⾸包数据 合成的第⼀帧的数据已经得到,可以在此开启播放功能
onTaskFailed 合成失败 返回msg内容格式为:{"code":40000,"message":"…","trace_id":" 1572234229176271"} trace_id是引擎内部合成任务ID。

4.5 DBSynthesisPlayerDelegate 回调类⽅法说明

参数 参数名称 说明
readlyToPlay 播放器准备就绪 此时可以调起播放器进⾏播放
playFinished 播放完成 播放结束回调
playPausedIfNeed 播放暂停 播放暂停回调
playResumeIfNeed 播放继续 播放开始回调
playerCallBackFaiure 播放器出错 播放失败的回调
playerNeedSynthesizerText:playerCanBuffer 播放器当前已合成的数据⻓度 回调播放器当前待合成的⽂本数,和已经合成的⾳频数据⻓度

错误说明

5.1失败时返回的msg格式

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

5.2 对应code值:

错误码 含义
23190001 合成SDK初始化失败
23190002 合成⽂本内容为空
23190003 参数格式错误
23190004 返回结果解析错误
23190005 合成失败,失败信息相关错误。
231900006 离线授权没有授权信息
23190007 离线授权的设备ID不⾜
23190008 离线授权设备的总数超过限制
23190009 ⽹络请求失败
23190010 获取token失败
23190011 没有授权的相关信息
23190012 没有授权的模型⽂件
23190013 授权的模型⽂件不匹配
23190014 在线合成中途报错
2xxx 合成的引擎报错,xxx代表数字