全部产品
阿里云办公

接口说明

更新时间:2019-01-16 10:50:28

功能介绍

语音合成提供将输入文本合成为语音二进制数据的功能。

  • 支持输出PCM、WAV、MP3编码格式数据;
  • 支持设置语速,语调,音量。
  • 支持设置男声/女声;

声音说明:

名称 voice参数值 类型 适用场景 支持语言 支持采样率(Hz)
小云 xiaoyun 标准女声 通用场景 支持中文及中英文混合场景 8K/16K
小刚 xiaogang 标准男声 通用场景 支持中文及中英文混合场景 8K/16K
若兮 ruoxi 温柔女声 通用场景 支持中文及中英文混合场景 8K/16K/24K
小梦 xiaomeng 标准女声 通用场景 支持中文及中英文混合场景 8K/16K
小威 xiaowei 标准男声 通用场景 支持中文及中英文混合场景 8K/16K
阿美 amei 甜美女声 客服场景 支持中文及中英文混合场景 8K/16K
小雪 xiaoxue 温柔女声 客服场景 支持中文及中英文混合场景 8K/16K
思琪 siqi 温柔女声 通用场景 支持中文及中英文混合场景 8K/16K/24K
思佳 sijia 标准女声 通用场景 支持中文及中英文混合场景 8K/16K/24K
思诚 sicheng 标准男声 通用场景 支持中文及中英文混合场景 8K/16K/24K
思悦 siyue 温柔女声 客服场景 支持中文及中英文混合场景 8K/16K/24K
小美 xiaomei 甜美女声 客服场景 支持中文及中英文混合场景 8K/16K/24K
思彤 sitong 标准童声 通用场景 仅支持纯中文场景 8K/16K/24K
宁儿 ninger 标准女声 通用场景 仅支持纯中文场景 8K/16K/24K
小北 xiaobei 萝莉女声 通用场景 仅支持纯中文场景 8K/16K/24K
伊娜 yina 浙普女声 客服场景 仅支持纯中文场景 8K/16K/24K

调用限制

  • 传入文本必须采用UTF-8编码;
  • 传入文本不能超过300个字符。

服务地址

访问类型 说明 URL
外网访问 所有服务器均可使用外网访问URL(SDK中默认设置了外网访问URL,不需用户设置) wss://nls-gateway.cn-shanghai.aliyuncs.com/ws/v1
阿里云上海ECS内网访问 用户使用阿里云上海ECS(即ECS地域为华东2(上海)),可使用内网访问URL ws://nls-gateway.cn-shanghai-internal.aliyuncs.com/ws/v1

交互流程

说明:交互流程图为Java SDK、C++ SDK、iOS SDK、Android SDK的交互流程,不包含RESTful API的交互流程,RESTful API的交互流程图请直接阅读RESTful API 2.0一节。

tts

说明:服务端的响应除了音频流之外,都会在返回信息的header包含task_id参数,用于表示本次识别任务的ID,请记录下这个值,如果发生错误,请将task_id和错误信息提交到工单。

0. 鉴权

客户端在与服务端建立WebSocket链接的时候,需要使用Token进行鉴权。Token获取请阅读获取访问令牌一节

1. synthesis start

客户端发送语音合成请求,其中在请求消息中需要进行参数设置,各参数由SDK中SpeechSynthesizer对象的相关set方法设置,各参数含义如下:

参数 类型 是否必需 说明
appkey String 管控台创建的项目Appkey
text String 待合成文本,文本内容必须采用UTF-8编码,长度不超过300个字符(英文字母之间需要添加空格)
voice String 发音人,默认是xiaoyun
format String 音频编码格式,默认是PCM。支持的格式:PCM、WAV、MP3
sample_rate Integer 音频采样率,默认是16000
volume Integer 音量,范围是0~100,默认50
speech_rate Integer 语速,范围是-500~500,默认是0
pitch_rate Integer 语调,范围是-500~500,默认是0

2. synthesize audio data

服务端开始返回合成的语音二进制数据,SDK接收并处理二进制数

3. synthesis complete

语音合成完毕,服务端发送合成完毕事件通知,示例如下:

  1. {
  2. "header": {
  3. "message_id": "05450bf69c53413f8d88aed1ee600e93",
  4. "task_id": "640bc797bb684bd69601856513079df5",
  5. "namespace": "SpeechSynthesizer",
  6. "name": "SynthesisCompleted",
  7. "status": 20000000,
  8. "status_message": "GATEWAY|SUCCESS|Success."
  9. }
  10. }

服务状态码

在服务的每一次响应中,都包含status字段,即服务状态码,状态码各种取值含义如下:

通用错误:

错误码 原因 解决办法
40000001 身份认证失败 检查使用的令牌是否正确,是否过期
40000002 无效的消息 检查发送的消息是否符合要求
40000003 令牌过期或无效的参数 首先检查使用的令牌是否过期,然后检查参数值设置是否合理
40000004 空闲超时 确认是否长时间没有发送数据掉服务端
40000005 请求数量过多 检查是否超过了并发连接数或者每秒钟请求数
40000000 默认的客户端错误码 查看错误消息或提交工单
50000000 默认的服务端错误 如果偶现可以忽略,重复出现请提交工单
50000001 内部GRPC调用错误 如果偶现可以忽略,重复出现请提交工单

网关错误:

错误码 原因 解决办法
40010001 不支持的接口 使用了不支持的接口,如果使用SDK请提交工单
40010002 不支持的指令 使用了不支持的指令,如果使用SDK请提交工单
40010003 无效的指令 指令格式错误,如果使用SDK请提交工单
40010004 客户端提前断开连接 检查是否在请求正常完成之前关闭了连接
40010005 任务状态错误 发送了当前任务状态不能处理的指令

Meta错误:

错误码 原因 解决办法
40020105 应用不存在 检查应用appKey是否正确,是否与令牌归属同一个账号

TTS错误:

错误码 原因 解决办法
41020001 参数错误 检查是否传递了正确的参数
51020001 TTS服务端错误 如果偶现可以忽略,重复出现请提交工单