接口说明

更新时间:
复制 MD 格式

移动端 NUI SDK 可将文本合成为语音,支持选择音色、设置音频格式,以及调整语速、语调和音量。

功能介绍

NUI SDK 提供全链路语音能力,也可单独用于语音合成。语音合成支持输出 PCM、WAV、MP3 格式的音频数据,并通过回调返回合成数据和事件。

支持的音色、语种、采样率和时间戳能力,请参见音色列表。在移动端 SDK 中,通过 font_name 设置音色,其取值对应音色列表中的 voice 参数值。

使用限制

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

  • 短文本合成单次最多处理 300 个字符,超出部分会被截断。

    需要合成超过 300 个字符的文本时,将 tts_version 设置为 "1",使用长文本合成模式。

服务地址

初始化 SDK 时,通过 url 设置服务地址。

访问方式

地域

URL

公网

上海(默认)

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

北京

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

深圳

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

ECS 内网

上海

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

北京

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

深圳

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

说明

使用华东 2(上海)、华北 2(北京)或华南 1(深圳)的 ECS 实例时,可通过专有网络访问相应地域的内网地址,不产生 ECS 实例的公网流量费用。经典网络不支持访问语音服务,需使用专有网络。

交互流程

image

鉴权与初始化

客户端建立 WebSocket 连接时,使用 NLS Token 鉴权。获取方法请参见获取Token。

初始化时传入以下参数。Android SDK 使用 tts_initialize 方法,参数以 JSON 字符串传入。

参数

类型

说明

app_key(必选)

String

控制台中创建的项目 Appkey。

token(必选)

String

有效期内的 NLS Token。可在初始化时设置,也可通过参数设置更新。

device_id(必选)

String

能够唯一标识设备的标识符,例如 MAC 地址、SN 或 UniquePsuedoID。

mode_type(必选)

String

在线语音合成模式,设置为字符串 "2"。

url

String

服务地址。使用与项目和 Token 对应的服务地址。

workspace(必选)

String

工作目录路径,SDK 从该路径读取配置文件。使用 Android SDK 2.7.4 进行纯在线合成时,此参数可省略。

开始合成

初始化完成后,通过 setparamTts 设置合成参数,再发起语音合成请求。

参数

类型

说明

app_key

String

项目 Appkey。初始化时已设置的值可继续使用。

token

String

需要更新鉴权 Token 时设置。

font_name

String

音色,默认值为 xiaoyun。可选值请参见音色列表中的 voice 参数值。

encode_type

String

音频编码格式,支持 pcm、wav、mp3,默认值为 pcm。

sample_rate

String

音频采样率,单位为 Hz,默认值为 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" 表示关闭。仅对支持时间戳的音色有效。

tts_version

String

合成模式。"0" 表示短文本合成;使用短文本模式时可省略。"1" 表示长文本合成,可处理超过 300 个字符的文本。

扩展参数

类型

说明

direct_host

String

支持客户端自行完成 DNS 解析后,传入 IP 地址访问服务。

custom_params

String

设置交互协议支持、但未在上述参数中列出的参数。以 custom_params 为键,以包含扩展参数的 JSON 字符串为值。

接收合成数据

服务端返回合成的语音二进制数据,SDK 通过回调提供音频数据。

结束合成

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

错误码

语音合成发生错误时,SDK 上报 TTS_EVENT_ERROR 事件并提供错误信息。

错误码含义和处理方法,请参见错误码查询。