- ···
- 产品服务
- ···
- 解决方案
- ···
- 文档中心
- ···
# 一、简介
语音合成是将一段文字转换成语音,可根据需要合成不同音色、语速和语调的声音。
# 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
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
2
3
# 3.5 代理回调
# 3.5.1 事件回调
- (void)onEvent:(USCSpeechSynthesizerEvent)event {
NSLog(@"%s: %d", __func__, event);
}
1
2
3
4
5
2
3
4
5
# 3.5.2 错误回调
- (void)onCompleted:(USCSpeechSynthesizerError *)errorCode {
NSLog(@"%s: %d - %@", __func__, errorCode.errorCode, errorCode.errorDesc);
}
1
2
3
4
5
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不在白名单 |