在线语音合成(iOS)

一、在线TTS SDK 介绍

开发者通过集成DUI Lite-在线TTS,提供将文字信息转化为声音信息的能力,相当于给应用适配了“嘴巴”功能。您将SDK导入到工程中,就可以获取从文字输入到语音输出的支持。另外,也提供了众多特色的发音人供您选择,其合成音在音色等各方面都趋近于人声,给您带来更好的体验。

二、SDK使用说明

在使用DUILite 在线TTS的SDK时,请先授权,否则禁止使用。授权操作详见文档授权说明

2.1 参数与配置

在使用合成功能之前,请先配置这些选项。

参数名 取值 说明 是否必须 默认值
delegate 对象 设置回调的对象 必须 N/A
refText 字符串文本 设置须要合成的文本 必须 N/A
speed float型 设置播放语速,范围是[0.7, 2],1表示正常语速,数值越小语速越快;默认是正常语速,如在控制台已调试好合成音,speed取合成音倍率的值 非必须 1.0
volume float型 设置音量大小,范围是[1, 100],取值越大音量越大 非必须 80.0
speaker 字符串,指定发音人,取值见以下内置发音人列表 设置发音人 非必须 zhilingf
ttsType 字符串,取值:text/ssml 指定refText类型 非必须 text
cache BOOL型,取值YES|NO 是否使用缓存 非必须 NO
mp3Quality NSString型,取值low|high 指定合成音频为mp3时,采用高或低编码率 非必须 low
audioType NSString型,取值mp3|wav 指定合成音频的格式 非必须 mp3

内置发音人列表

发音人取值

说明

是否支持SSML

dlaf

多拉爱梦;中英文;青年女声

swkm 孙悟空;纯中文;青年男声
lzyinf 小颖;纯中文;青年女声
hbrinf 快乐智慧 纯中文 童声女声
zzxiangm 赵忠祥 纯中文 中年男声
feyinf 女老师风吟;女声;威严正式;中英混合
xiyaof 标准女声小妖;女声;慵懒烟嗓;中英混合
lzliaf 可爱男童连连;男声;活泼可爱;中英混合
xjingf 飘逸女声小静;女声;商务知性;中英混合
lucyfa 标准女声小浩;女声;干练;中英混合
zhilingfa 甜美女神小玲;女声;甜美、自然、性感;中英混合
lzliafa 可爱男童连连;男童;活泼可爱;中英混合
lili1f_yubo 娱报女声璃璃;女声;娱乐播报、活力;中英混合
juyinf_guigushi 鬼故事绝音;女声;自然;中英混合
cyangf 女学生初阳;女声;可爱;中英混合
xiyaof_laoshi 女老师小妖;女声;自然;中英混合
qianranfa 可爱女童然然;女童;天真俏皮;中英混合
aningf 标准女声安宁;女声;温婉;中英混合
yaayif 女声杨阿姨;女声;和蔼可亲;中英混合
gdgm 沉稳幽默纲叔;男声;传统;中英文混合
zhilingf 甜美女神小玲;女声;甜美、自然、性感;中英混合
xizhef 女老师行者;女声;严肃;中英混合
xijunm 标准男声小军;男声;新闻播报;中英混合
xijunma 标准男声小军;男声;新闻播报;中英混合
kaolam 标准男声考拉;男声;标准;中英混合
qiumum 标准男声秋木;男声;活泼开朗;中英混合
tzruim 标准男声小睿;男声;活力朝气;中英混合
wjianm 标准男声小江;男声;亲切友善;中英混合
qianranf 可爱女童然然;女童;天真俏皮;中英混合
linbaf_qingxin 清新女声零八;女声;自然;中英混合
linbaf_gaoleng 高冷女声零八;女声;自然;中英混合
anonyg 标准女童佚佚;女童;传统;中文
yukaim_all 磁性男声俞老师;男声;自然;中英混合
xiyaof_qingxin 清新女声小妖;女声;清新甜美;中英混合
hyanif 邻家女声小妮;女声;温柔亲切;中文
xjingf_gushi 故事女声小静;女声;自然;中英混合
zzherf 标准女声朱株儿;女声;故事;中英混合
zzhuaf 故事女声砖砖;女声;自然;中英混合
hyanifa 邻家女声小妮;女声;温柔亲切;中英混合
lili1f_diantai 电台女声璃璃;女声;电台、安静;中英混合
lanyuf 标准女声蓝雨;女声;温柔甜美;中英混合
jjingf 知性女声晶晶;女声;知性大方;中英混合
gqlanf 温柔女声小兰;女声;温柔、邻家;中英混合
smjief 清亮女声小洁;女声;亲和;中英混合
jlshim 男声季老师;男声;成熟稳重;中英混合
zxcm 风趣幽默星哥;男声;传统;中文
kaolaf 清纯女声考拉;女声;端庄优雅;中英混合
boy 标准男童堂堂;男童;憨厚;中英混合
lucyf 标准女声小浩;女声;干练;中英混合
geyou 淡定风趣葛爷;男声;传统;中英混合
lili1f_shangwu 商务女声璃璃;女声;商务大气;中英混合
anonyf 标准平和小佚;女声;传统;中英混合

2.2. 合成音数据参考

消耗参考

字符总数 中文字符总数 英文字符总数 中文标点总数
244 219 9 16

数据参考

类型 内容
合成文本 "苏州思必驰信息科技有限公司是一家语音技术公司,专注于将领先的系列智能语音技术应用于移动互联、智能设备、客户联络中心等行业。公司的中文名字是思必驰,思想必将驰骋,寓意着公司孤立自由的思想,以创新为本。同时这个名字还是英文单词Speech的音译,同样代表了公司立足智能语音技术行业的决心。而推出的DUI平台是国内首个以对话为核心的一站式交互定制平台,覆盖多应用场景和第三方内容资源,内置国内最专业语音技能库,为物联网、移动互联网和互联网的开发者,提供单项技术服务和一站式对话交互定制解决方案。"
格式 mp3
数据大小 163.08kb

2.3 使用Log测试服务

使用Log测试请先在程序入口处调用如下代码,打开Log开关。
log开关设置

[DUILiteAuth setLogEnabled:YES];

2.4 初始化

使用以下方法来初始化SDK:

初始化

//创建合成引擎对象
@property (nonatomic, strong)  AISTTSPlayer* player;
 
设置音频策略
- (void)setAudioConfig{
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];
    [[AVAudioSession sharedInstance] setActive:YES error:nil];
}
 
//引擎初始化,设置相关参数
-(void)initTTS{
    NSMutableDictionary *authConfigDic = [[NSMutableDictionary alloc] init];
    [authConfigDic setObject:@"xxxxxxxxxx" forKey:K_PRODUCT_ID];
    [authConfigDic setObject:@"xxxxxxxxxx" forKey:K_USER_ID];
    [authConfigDic setObject:@"xxxxxxxxxx" forKey:K_API_KEYS];
    [authConfigDic setObject:@"xxxxxxxxxx" forKey:K_PRODUCT_KEYS];
    [authConfigDic setObject:@"xxxxxxxxxx" forKey:K_PRODUCT_SECRET];
 
    [DUILiteAuth setAuthConfig:self config:authConfigDic];
     
    if (!self.player) {
        self.player = [[AISTTSPlayer  alloc] init];
    }
    //设置协议委托对象
    self.player.delegate = self;
    //设置合成参数
    self.player.refText = @"苏州思必驰信息科技有限公司";
    self.player.speed = 1.0;
    self.player.volume = 50.0;
    self.player.speaker = @"zhilingf";
}
 
 
//实现回调函数
-(void)onAISTTSInitCompletion{
    NSLog(@"语音合成完成");
}
 
-(void)onAISTTSPlayCompletion{
    NSLog(@"播放完成");
}
 
-(void)onAISTTSError:(NSError *)error{
    NSLog(@"错误信息: %@",error);
}

2.5 功能列表

2.5.1 启动合成引擎,等待播放

引擎启动接口

[self.player startTTS];

2.5.2 关闭合成引擎,停止合成

引擎关闭接口

[self.player stopTTS];

2.5.3 暂停合成引擎,暂停播放

引擎暂停接口

[self.player pauseTTS];

2.5.4 恢复合成引擎,继续播放

引擎恢复接口

[self.player continueTTS];

2.6 错误码描述

error id 错误描述 原因及解决办法
070901 Cloud speech synthesis failed 请检查合成类型和合成文本是否匹配,或者可能是服务返回的音频为空,请联系客服
070902 Online voice playback failed 请重新合成播放,或者联系客服
070903 Cloud voice request synthesis failed 检查网络是否畅通、检查是否是基础技术产品、检查产品是否已经发布
070904 Synthetic sound text is empty 检查参数refText传入的内容
070905 Synthetic sound text does not match the composite type 请检查是否是ssml合成文本,或者检查ssml本文书写是否正确