全部产品

接口说明

更新时间:2020-10-22 14:52:32

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

功能简介

NUI SDK提供更小的工具包和更完善的状态管理。为满足不同用户需求,NUI SDK既能够提供全链路的语音能力,同时可做原子能力SDK进行使用,并保持接口的统一。

语音合成功能支持如下能力:

  • 支持输出PCM、MP3编码格式数据。

  • 支持设置语速、语调、音量。

  • 支持设置声音类型,如下表所示。

名称

voice参数值

类型

适用场景

支持语言

支持采样率(Hz)

支持字级别音素边界接口

备注

小云

Xiaoyun

标准女声

通用场景

中文及中英文混合

8K/16K

小刚

Xiaogang

标准男声

通用场景

中文及中英文混合

8K/16K

若兮

Ruoxi

温柔女声

通用场景

中文及中英文混合

8K/16K/24K

思琪

Siqi

温柔女声

通用场景

中文及中英文混合

8K/16K/24K

思佳

Sijia

标准女声

通用场景

中文及中英文混合

8K/16K/24K

思诚

Sicheng

标准男声

通用场景

中文及中英文混合

8K/16K/24K

艾琪

Aiqi

温柔女声

通用场景

中文及中英文混合

8K/16K

艾佳

Aijia

标准女声

通用场景

中文及中英文混合

8K/16K

艾诚

Aicheng

标准男声

通用场景

中文及中英文混合

8K/16K

艾达

Aida

标准男声

通用场景

中文及中英文混合

8K/16K

宁儿

Ninger

标准女声

通用场景

中文

8K/16K/24K

瑞琳

Ruilin

标准女声

通用场景

中文

8K/16K/24K

思悦

Siyue

温柔女声

客服场景

中文及中英文混合

8K/16K/24K

艾雅

Aiya

严厉女声

客服场景

中文及中英文混合

8K/16K

艾夏

Aixia

亲和女声

客服场景

中文及中英文混合

8K/16K

艾美

Aimei

甜美女声

客服场景

中文及中英文混合

8K/16K

艾雨

Aiyu

自然女声

客服场景

中文及中英文混合

8K/16K

艾悦

Aiyue

温柔女声

客服场景

中文及中英文混合

8K/16K

艾婧

Aijing

严厉女声

客服场景

中文及中英文混合

8K/16K

小美

Xiaomei

甜美女声

客服场景

中文及中英文混合

8K/16K/24K

艾娜

Aina

浙普女声

客服场景

中文

8K/16K

伊娜

Yina

浙普女声

客服场景

中文

8K/16K/24K

思婧

Sijing

严厉女声

客服场景

中文

8K/16K/24K

思彤

Sitong

儿童音

童声场景

中文

8K/16K/24K

小北

Xiaobei

萝莉女声

童声场景

中文

8K/16K/24K

艾彤

Aitong

儿童音

童声场景

中文

8K/16K

艾薇

Aiwei

萝莉女声

童声场景

中文

8K/16K

艾宝

Aibao

萝莉女声

童声场景

中文

8K/16K

Harry

Harry

英音男声

英文场景

英文

8K/16K

Abby

Abby

美音女声

英文场景

英文

8K/16K

Andy

Andy

美音男声

英文场景

英文

8K/16K

Eric

Eric

英音男声

英文场景

英文

8K/16K

Emily

Emily

英音女声

英文场景

英文

8K/16K

Luna

Luna

英音女声

英文场景

英文

8K/16K

Luca

Luca

英音男声

英文场景

英文

8K/16K

Wendy

Wendy

英音女声

英文场景

英文

8K/16K/24K

William

William

英音男声

英文场景

英文

8K/16K/24K

Olivia

Olivia

英音女声

英文场景

英文

8K/16K/24K

姗姗

Shanshan

粤语女声

方言场景

标准粤文(简体)及粤英文混合

8K/16K/24K

小玥

Xiaoyue

四川话女声

方言场景

中文及中英文混合

8K/16K

公测版

Lydia

Lydia

英中双语女声

英文场景

英文

8K/16K

公测版

艾硕

Aishuo

自然男声

客服场景

中文及中英文混合

8K/16K

公测版

青青

Qingqing

台湾话女声

方言场景

中文

8K/16K

公测版

翠姐

Cuijie

东北话女声

方言场景

中文

8K/16K

公测版

小泽

Xiaoze

湖南重口音男声

方言场景

中文

8K/16K

公测版

限制条件

  • 传入的文本必须采用UTF-8编码。

  • 传入的文本不能超过300个字符,超过300个字符的内容会被截断。

服务地址

访问类型

说明

URL

外网访问

所有服务器均可使用外网访问URL(SDK中默认设置了外网访问URL)。

wss://nls-gateway.cn-shanghai.aliyuncs.com/ws/v1

上海ECS内网访问

使用阿里云上海ECS(ECS地域为华东2(上海)),可使用内网访问URL。 ECS的经典网络不能访问AnyTunnel,即不能在内网访问语音服务;如果希望使用AnyTunnel,需要创建专有网络在其内部访问。

说明

  • 使用内网访问方式,将不产生ECS实例的公网流量费用。

  • 关于ECS的网络类型请参见网络类型

ws://nls-gateway.cn-shanghai-internal.aliyuncs.com:80/ws/v1

交互流程

语音合成交互流程

说明

服务端响应除了音频流之外,均会在返回信息的header包含表示本次识别任务的task_id参数,请记录该值,如果出现错误,请将task_id和错误信息提交到工单。

1. 鉴权

客户端在与服务端建立WebSocket连接时,使用Token进行鉴权。关于Token获取请参见获取Token

初始化参数如下。

参数

类型

是否必选

说明

workspace

String

工作目录路径,SDK从该路径读取配置文件。

app_key

String

管控台创建项目的appkey。

token

String

请确保该token可以使用并在有效期内。 Token可以在初始化时设置,也可通过参数设置进行更新。

device_id

String

设备标识,能够唯一表示一台设备(如Mac地址/SN/UniquePsuedoID)。

2. 开始合成

客户端发起语音合成请求,在请求消息中进行参数设置,各参数通过SDK中setparamTts方法设置,含义如下。

参数

类型

是否必选

说明

appkey

String

管控台创建的项目appkey。

token

String

如果需要更新,则进行设置。

direct_host

String

支持客户端自行DNS解析后传入IP进行访问。

font_name

String

发音人,默认是xiaoyun。

encode_type

String

音频编码格式,默认值:PCM。支持格式:PCM、WAV、MP3。

sample_rate

String

音频采样率,默认值:16000。

volume

String

音量,取值范围:0~2,默认值:1.0。

speed_level

String

语速,取值范围:0~2,默认值:1.0,值越大语速越快。

pitch_level

String

语调,取值范围:-500~500,默认值:0,值越大声音越尖锐。

enable_subtitle

String

字级别音素边界功能开关,该参数只对支持字级别音素边界接口的发音人有效。“1”表示打开,“0”表示关闭。

3. 接收合成数据

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

4. 结束合成

语音合成完毕,服务端发送合成完毕事件通知。

错误码

如果语音合成发生错误,SDK将上报TTS_EVENT_ERROR事件,并提供错误信息,如下表所示。

错误码

错误消息

描述

0

TTS_SUCCESS

成功

140000

TTS_CREATE_FAILED

引擎初始化失败

140001

TTS_ENGINE_INVALID

引擎未初始化

140002

TTS_TEXT_ERROR

文本非法,如文本为空。

140003

TTS_MALLOC_FAILED

内存申请失败

140004

TTS_TEXT_QUEUE_FULL

任务队列已满

140005

TTS_ASSETPATH_INVALID

资源路径为空

140006

TTS_HANLDE_INVALID

处理线程不存在

140007

TTS_CREATE_HANLDE_FAILED

创建处理线程失败

140008

TTS_AUTH_FAILED

鉴权失败,无法继续使用SDK。

140009

TTS_TEXT_QUEUE_EMPTY

合成队列已空

140010

TTS_MODE_INVALID

合成模式无效

140012

TTS_OPEN_FILE_FAILED

打开文件失败

140013

TTS_STATE_INVALID

SDK的状态机校验失败

140014

TTS_SYNTHESIZER_INIT_ERROR

合成器初始化失败

140015

TTS_SYNTHESIZER_RELEASE_ERROR

合成器释放失败

140016

TTS_SYNTHESIZER_FAILED

合成失败

140017

TTS_WAIT_TIMEOUT

超时退出

140018

TTS_CLOSED

没有编译语音合成部分代码

140100

TTS_PARAM_INVALID

参数无效

140101

TTS_PARAM_VALUE_INVALID

参数值无效

140102

TTS_CFG_OPEN_FAILED

配置文件打开失败

140103

TTS_CFG_WRONG_FORMAT

配置文件格式错误

140150

TTS_LOG_OPEN_FAILED

创建日志文件失败

140200

TTS_AM_CREATE_FAILED

播放器创建失败

140201

TTS_AM_OPEN_FAILED

播放器打开失败

140210

TTS_DECODER_INIT_FAILED

音频解码器初始化失败

140211

TTS_DECODER_MALLOC_FAILED

音频解码器申请内存失败

140212

TTS_DECODER_INPUT_TOO_MANY

单次输入数据过多,将被丢弃。

140213

TTS_DECODER_OUTPUT_TOO_MANY

输出数据过多,超过缓存,会丢失。

140220

TTS_AP_INIT_FAILED

音频处理单元打开失败

140221

TTS_AP_START_FAILED

音频处理单元启动出错

140222

TTS_AP_MALLOC_FAILED

音频处理单元内存申请失败

140230

TTS_BGM_START_FAILED

背景音乐开始失败

140231

TTS_BGM_DECODE_INVALID

解码器初始化失败

140232

TTS_BGM_ADD_FAILED

本句加背景音乐失败

140233

TTS_BGM_MALLOC_FAILED

内存申请失败

140234

TTS_BGM_OPEN_FILE_FAILED

背景音乐文件打开失败

140235

TTS_BGM_FILE_FORMAT_ERROR

背景音乐格式错误

140300

TTS_CACHE_INIT_FAILED

初始化cache失败

140301

TTS_CACHE_MGR_INVALID

cache管理器未初始化

140303

TTS_CACHE_CALLBACK_INVALID

回调函数未初始化

140304

TTS_CACHE_START_READ_FAILED

开始打开cache文件失败

140305

TTS_CACHE_READ_FAILED

读取cache文件数据失败

140306

TTS_CACHE_MALLOC_FAILED

cache模块内存申请失败

140307

TTS_CACHE_DELETE_FAILED

删除失败

140308

TTS_CACHE_PATH_INVALID

无法创建缓存路径

140309

TTS_CACHE_LIST_CREATE_FAILED

cache列表创建失败

140310

TTS_CACHE_FAILED

缓存失败

140311

TTS_CACHE_TOO_MANY

缓存过多

140312

TTS_CACHE_PARAM_INVALID

缓存功能的参数设置错误

140313

TTS_CACHE_RECORDING_OPEN_FAILED

打开本地文件错误

140352

TTS_FONT_INITLIST_INVALID

fontlist管理器未初始化

140353

TTS_FONT_CMD_INVALID

命令格式错误

140354

TTS_FONT_RESPONSE_ERROR

服务端返回格式错误

140355

TTS_FONT_RESPONSELIST_ERROR

fontlist请求服务端返回格式错误

140356

TTS_FONT_GET_FONTLIST_FAILED

获取fontlist失败

140357

TTS_FONT_REQUEST_CMD_ERROR

创建请求指令错误

140358

TTS_FONT_LOCALMSG_ERROR

本地list文件解析失败

140360

TTS_FONT_CLOUDMSG_ERROR

云端list解析失败

140900

TTS_LOCAL_CRE_ENGINE_ERROR

本地引擎初始化失败

140901

TTS_LOCAL_ENGINE_INVALID

本地引擎未初始化

140902

TTS_LOCAL_ASSET_ERROR

本地资源校验失败

140903

TTS_LOCAL_CRE_TASK_ERROR

创建本地task失败

140904

TTS_LOCAL_TASK_INVALID

task无效

140905

TTS_LOCAL_START_FAILED

本地开始合成失败

141000

TTS_CLOUD_CREATE_FAILED

云端引擎初始化失败

141001

TTS_CLOUD_ENGINE_INVALID

云端引擎未初始化

141002

TTS_CLOUD_TASK_FAILED

创建云端task失败

141003

TTS_CLOUD_TASK_INVALID

task无效

141004

TTS_CLOUD_START_FAILED

云端服务请求失败

141005

TTS_CLOUD_CANCEL_FAILED

取消任务失败

141006

TTS_CLOUD_NETWORK_BROKEN

网络较差

144001

TTS_CLOUD_AUTH_FAILED

身份认证失败

144002

TTS_CLOUD_INVALID_MESSAGE

消息无效

144003

TTS_CLOUD_INVALID_TOKEN

令牌过期或无效

144004

TTS_CLOUD_WAIT_TIMEOUT

空闲超时

144005

TTS_CLOUD_EXCEED_CONCURRENCY

请求数量过多

144100

TTS_CLOUD_INVALID_INTERFACE

接口不支持

144101

TTS_CLOUD_UNSUPPORTED_ORDER

指令不支持

144102

TTS_CLOUD_INVALID_ORDER

指令无效

144103

TTS_CLOUD_CLIENT_DISCONNECT

客户端提前断开连接

144200

TTS_CLOUD_INVALID_APPKEY

应用不存在

144300

TTS_CLOUD_INVALID_PARAM

访问云端服务参数错误

144400

TTS_CLOUD_SERVER_ERROR

语音合成服务端出错