365bet注册开户- 首页

logo
产品简介 产品简介
基本概念 基本概念
平台新手指引 平台新手指引
计价模式 计价模式
开发者文档下拉
开放平台计价
定制服务计价
获取访问令牌 获取访问令牌
语音合成 语音合成
开发者文档下拉
接口说明
发音人列表
在线合成 开发者文档下拉
Android SDK
iOS SDK
C++(Linux) SDK
RESTful API
Websocket API
长文本语音合成API
离线合成 开发者文档下拉
离线合成 Android SDK
离线合成 iOS SDK
XML标签
语音识别 语音识别
开发者文档下拉
音频格式说明
一句话识别 开发者文档下拉
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
Android SDK
iOS SDK
声纹识别 声纹识别
开发者文档下拉
RESTful API
协议规则 协议规则
开发者文档下拉
平台服务协议
平台通用规则
法律声明及隐私政策
服务等级协议SLA
常见问题 常见问题
开发者文档下拉
语音合成
语音识别

定制模型iOS SDK

下载安装

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

集成SDK

  • 兼容性说明

    • 兼容性:系统:iOS 8以上版本
    • CPU架构:arm64 arm64e armv7 armv7s
    • 添加隐私麦克风权限:Privacy - Microphone Usage Description:使用麦克风检测声音
  • 添加源文件

    • pod 方式集成;

      Pod DBAudioSDK/DBVoiceEngraverKit ,’xxx’ ;  xxx 指SDK的版本号;
    • 导入资源文件,资源文件如下,具体参照demo:

  • 引用SDK的头文件
  • #import “DBVoiceEngraverManager.h”// 声音复刻头文件
    #import “DBVoiceDetectionUtil.h” //噪声检测头文件

SDK关键类

类接口名称 参数说明
DBVoiceDetectionUtil 声音检测工具类,负责噪声检测
DBVoiceDetectionDelegate 回调声音检测的结果和录音时音量的结果,以及试听结束的回调
DBVoiceEngraverEnumerte 包含复刻SDK中的错误枚举
DBVoiceModel 复刻成功后返回的声音模型
DBVoiceRecognizeModel 返回上传声音后的识别结果

调用说明

  • 整个复刻体验闭环包含两个模块,一个模块是录音上传服务器进行声音模型训练,产出声音模型ID,另一个模块是根据声音模型ID去合成服务器合成,产出声音文件,播放声音文件完成体验。
  • 此(复刻)SDK仅支持第一个模块的功能,即②③④⑤⑥⑦等功能。第二个体验的模块⑧,我们提供2种集成方式供选择,以便实现实际项目中的需求。参考调用说明2的说明。
  • 声音复刻的流程
    • 实例化DBVoiceDetectionUtil检测噪声,并遵守相关代理,在代理回调中处理噪声检测的结果;
    • 点击开始复刻,并获取复刻文本,获取成功后进入朗读文本页面;
    • 实例化DBVoiceEngraverManager单例对象,并传入文本开始声音复刻;
    • 开始朗读文本;
    • 结束朗读文本;
    • 上传文本并进行准确率识别;
    • 录制完成,填入相关信息并开始录制;
    • 根据queryId 或者modelId 获取复刻后的声音;
    • 选择相应的声音模型进行声音体验;
  • 第一种集成方式如Demo中所示,用声音模型ID + RestAPI的形式,合成MP3声音文件,进行播放。这种合成方式适用于单次不超过250字文本长度的文本合成。

    另一种方式则是声音模型ID + TTS合成SDK,具体集成方式可参考我们TTS合成SDK的接入文档。这种方式无文本长度限制,实时合成流式返回,TTS合成SDK中也有播放器功能,集成使用很方便。

参数说明

方法名称 使用说明
- (void)setupWithClientId:(NSString *)clientId clientSecret:(NSString *)clientSecret queryId:(nullable NSString * )queryId SuccessHan-dler:(DBSuccessHandler)successHandler failure-Hander:(DBFailureHandler)failureHandler 1.设置clientId,clientSecret;queryId,successHandler,failureHandler初始化的时候设置;
2.queryId为可选项,可以通过它来批量查询复刻后的modelId;
3.clientId,clientSecret为授权信息,需联系标贝公司获取
4.successHandler回调结果,默认为空
5. failureHandler:回调失败结果
- (void)getRecordTextArrayTextHandler:(DBTextBlock)textHandler failure:(DBFailureHandler)failureHandler 获取复刻的文本 textHandler:以数组的形式回调文本数据; failureHandler:回调失败结果
- (void)setupQueryId:(nullable NSString *)queryId 设置查询Id,需要在执行获取sessionId前设置,此参数不是必填参数,但是强烈建议使用 queryId: 查询Id
- (void)startRecordWithText:(NSString *)text failure-Hander:(DBFailureHandler)failureHandler 传入识别文本并开启录音,默认添加了一个120s时长的录音限制; failureHandler:如果发生错误,回调此方法
- (void)pauseRecord; 结束录音,结束本次录音
- (void)unNormalStopRecordSeesionSuccessHan-dler:(DBSuccessHandler)successBlock failure-Han-dler:(DBFailureHandler)failureHandler 非正常录音结束,如果用户没录音完返回需要调用此方法结束录音,不然会默认占用一个录音权限,如果长时间未调用,也会自动释放; successBlock:结束录音成功的回调; failureHandler:如果发生错误,回调此方法
- (void)uploadRecordVoiceRecogizeHandler:(DBVoiceRecogizeHandler)successHandler 上传录音文件进行识别 successHandler:识别成功 1、如果发生错误,回调代理方法- (void)dbVoiceRecognizeError:(NSError *)error
- (void)batchQueryModelStatusByQueryId:(NSString *_Nullable)queryId Success-Han-dler:(DBSuccessModelHandler)successHandler failure-Hander:(DBFailureHandler)failureHandler 根据默认传入的queryId查询模型状态 successHandler:查询成功,以数组的形式返回model failureHandler:如果发生错误,回调此方法
- (void)queryModelStatusByModelId:(NSString *)modelId SuccessHan-dler:(DBSuccessModelHandler)successHandler failure-Hander:(DBFailureHandler)failureHandler 根据默认传入的modelId查询模型状态 successHandler:查询成功,以数组的形式返回model failureHandler:如果发生错误,回调此方
- (void)startModelTrainRecordVoiceWithPhoneNumber:(NSString * _Nullable)phoneNumber notifyUrl:(NSString *_Nullable)notifyUrl successHan-dler:(DBSuccessHandler)successHandler failure-Hander:(DBFailureHandler)failureHandler 开启模型训练; phoneNumber:手机号码 notifyUrl:用于接收复刻结果的回调url successHandler:开启训练成功,开启成功后会回调modelId failureHandler:如果发生错误,回调此方法

回调类方法说明

名称 参数 说明
DBSuccessHandler NSDictionary *dict 成功的回调,以字典的形式回调结果,此处回调为服务端返回的数据
DBVoiceRecogizeHandler DBVoiceRecognizeModel *model 识别成功的回调 status: 1:上传识别成功; 0:上传识别失败 percent: 声音的准确率
DBTextBlock NSArray *textArray 获取需要朗读的文本
DBSuccessModelHandler NSArray *array 获取训练成功的声音模型Id
DBSuccessOneModelHandler DBVoiceModel *model modelStatus: 2:录制中 3:启动训练失败 4:训练中 5: 训练失败 6: 训练成功 modelId: 模型Id,每个声音对应一个模型Id modelStatus:模型状态
DBFailureHandler NSError *error 错误信息

DBVoiceDetectionDelegate说明

方法名称 参数说明
- (void)dbDetecting:(NSInteger)volumeDB 回调声音检测到的分贝值 volumeDB:检测到音量的分贝值
- (void)dbDetectionResult:(BOOL)result value:(NSInteger)volumeDB 噪声检测的最终结果回调 result: 1:检测成功 0:检测失败 volumeDB:检测到音量的分贝值
- (void)dbVoiceRecognizeError:(NSError *)error 音频识别过程中的错误回调 1、error:错误信息
- (void)playToEnd 试听结束后的回调

DBVoiceDetectionUtil说明

方法名称 使用说明
-(DBErrorState)startDBDetection 1.遵循相关的代理,并实现相关的代理方法;
2.开启噪声检测,如果开启成功,返回值为DBErrorStateNOError;

错误码说明

错误码 枚举状态 含义
0 DBErrorStateNOError 成功
1000 DBErrorStateMircropho-neNotPermission 麦克风没有权限
1001 DBErrorStateInitlizeSDK 初始化SDK失败
1002 DBErrorStateFailureToAccessToken 获取token失败
1003 DBErrorStateFailureToGetSession 获取session失败
1004 DBErrorStateFailureIn-validParams 无效的参数
99999 DBErrorStateNetwork-DataError 获取网络数据异常
00011 DBErrorStateTokenInvaild token失效
10003 DBErrorStateFailureEr-rorParams 参数错误
10004 DBErrorStateUpload-Failed 上传文件失败,请选择正确的文件格式
10005 DBErrorStateEmptyfile 上传文件不能为空
10008 DBErrorStateModuleI-dInvailid 模型id不合法,请重试
10009 DBErrorStateModelSyns 模型正在过程录制中,其他客户端不能同时录制!
10010 DBErrorStateRecognizeVoiceTimeOut 识别语音超时!
40002 DBErrorStateMaxUploadTime 提交次数已达到最大限制
40003 DBErrorStateExpiredRquest 接口请在有效期内使用
40004 DBErrorStateRequestAuthFaild 接口签名不合法
40005 DBErrorStateInvaildMoile 请填写正确的手机号!