# 一、简介

语音合成是将一段文字转换成语音,可根据需要合成不同音色、语速和语调的声音。

# 1.1 接口调用流程图

# 二、 集成指南

支持静态库或者动态库两种集成方式,可以根据目标项目需求选择其中一种。

# 2.1 动态库方式

2.1.1 将 SDK 中的 UniSoundSDKDynamic.xcframework 文件添加到目标工程。

2.1.2 配置 Embeded framework,选择 ‘Embed & Sign’,同时添加系统依赖库 CFNetwork.framework、Security.framework 和 icucore。

2.1.3 Clean + Build。

# 2.2 静态库方式

2.2.1 将 SDK 中 UniSoundSDK/ 目录添加到目标工程。

2.2.2 配置Header Search Paths 和 Library Search Paths。

2.2.3 添加系统依赖库 CFNetwork.framework、Security.framework 和 icucore。

2.2.4 Clean + Build。

# 三、 使用说明

# 3.1 创建合成对象实例

USCSpeechSynthesizer *synthesizer = [USCSpeechSynthesizer sharedInstance];
1

# 3.2 配置代理和合成参数

// 配置合成器代理
synthesizer.delegate = self;
// 配置合成器发音人
[synthesizer setParameter:[USCSpeechSynthesizerConstant VCN_KIYO_PLUS]
forKey:[USCSpeechSynthesizerConstant VCN_KEY]];
1
2
3
4
5

其他配置可选key和value值,请查阅接口文档 USCSpeechSynthesizerConstant.h。

# 3.3 开始合成并播放

[synthesizer startSpeaking:@"测试,测试,测试。"];
1

# 3.4 开始合成并保存到文件

NSString *documentPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
NSString *destUri = [documentPath stringByAppendingPathComponent:@"dest.wav"];
[synthesizer synthesize:@"测试,测试,测试。" toUri:destUri];
1
2
3

# 3.5 代理回调

# 3.5.1 事件回调

- (void)onEvent:(USCSpeechSynthesizerEvent)event {

NSLog(@"%s: %d", __func__, event);

}
1
2
3
4
5

# 3.5.2 错误回调

- (void)onCompleted:(USCSpeechSynthesizerError *)errorCode {

NSLog(@"%s: %d - %@", __func__, errorCode.errorCode, errorCode.errorDesc);

}
1
2
3
4
5

# 四、接口文档

下载SDK获取接口文档 (opens new window)

SDK下载路径:AI开放平台 - 控制台 - 我的应用 - 应用详情 - 短文本语音合成最下方

# 五、错误码

错误类型 错误码 描述
USCSpeechSynthesizerPlayError -10201 播放失败
USCSpeechSynthesizerConnectFail -10202 网络连接失败
USCSpeechSynthesizerFileError -10203 保存文件失败
USCSpeechSynthesizerSignatureFail 401 签名验证失败
USCSpeechSynthesizerInvalidTimestamp 403 时钟偏移校验失败
USCSpeechSynthesizerInvalidParam 20301 参数错误
USCSpeechSynthesizerSpeakerNotAvailable 20302 发音人不可用
USCSpeechSynthesizerServerInternalError 20303 服务内部错误
USCSpeechSynthesizerConcurrencyExceedLimit 20304 并发超过限制
USCSpeechSynthesizerTimesUsedUp 20305 套餐次数用完
USCSpeechSynthesizerAppKeyNotExist 20306 appKey 不存在
USCSpeechSynthesizerIPNotInWhiteList 20307 客户端ip不在白名单