接口说明

离线语音合成是指在弱网或无网状态下,通过设备本地的语音合成模型,将文本转换成自然流畅的语音。

产品体验

更多合成效果可至离线语音合成产品详情页进行体验。

功能介绍

离线语音合成主要包括以下功能,暂不支持多实例调用。

  • 提供语速调节、语调调节、音量调节功能。

  • 适用于车载导航、智能硬件、文学有声阅读和无障碍播报等场景。

  • 以SDK的方式集成,支持多种不同硬件平台。

  • 按照设备激活数量收费,收费更加灵活可控。

  • 提供多种音色选择。

前提条件

已激活SDK,具体请参见开通授权

语音包列表

名称

voice参数值

类型

适用场景

支持语言

支持采样率(Hz)

备注

下载链接

艾佳

aijia

标准女声

通用场景

支持中文及中英文混合场景

24K

精品版

下载语音包

艾诚

aicheng

温暖男声

通用场景

支持中文及中英文混合场景

24K

精品版

下载语音包

艾琪

aiqi

温柔女声

通用场景

支持中文场景

24K

精品版

下载语音包

艾达

aida

标准男声

通用场景

支持中文场景

24K

精品版

下载语音包

艾浩

aihao

资讯男声

文学场景

支持中文场景

24K

精品版

下载语音包

艾硕

aishuo

自然男声

客服场景

支持中文场景

24K

精品版

下载语音包

艾颖

aiying

软萌童声

文学场景

支持中文及中英文混合场景

24K

精品版

下载语音包

艾彤

aitong

儿童音

童声场景

仅支持纯中文场景

24K

精品版

下载语音包

Abby

abby

美语女声

英文场景

仅支持英文场景

24K

精品版

下载语音包

Andy

andy

美语男声

英文场景

仅支持英文场景

24K

精品版

下载语音包

Annie

annie

美语女声

英文场景

仅支持英文场景

24K

精品版

下载语音包

小云

xiaoyun

标准女声

通用场景

支持中文及中英文混合场景

16K

标准版

下载语音包

小达

xiaoda

标准男声

通用场景

中文及中英文混合场景

16K

标准版

下载语音包

小刚

xiaogang

温暖男声

通用场景

中文及中英文混合场景

16K

标准版

下载语音包

小琪

xiaoqi

温柔女声

通用场景

中文及中英文混合场景

16K

标准版

下载语音包

小夏

xiaoxia

自然女声

客服场景

中文及中英文混合场景

16K

标准版

下载语音包

时序图

时序图

激活及初始化参数说明

介绍离线TTS SDK激活及初始化时需要设置的参数,主要包括鉴权信息、工作路径及日志存储路径。

注意

初始化参数设置并启用后,无法变更。

参数

类型

说明

是否必须

ak_id

string

AccessKey ID,获取方式请参见开通服务

ak_secret

string

AccessKey Secret,获取方式请参见开通服务

app_key

string

项目Appkey,在项目创建完成后自动生成。可以单击控制台导航栏全部项目查看对应项目Appkey。

sdk_code

string

产品码。

  • 标准版sdk_code:software_nls_tts_offline_standard

  • 精品版sdk_code:software_nls_tts_offline

device_id

string

设备标识。

说明

一个Appkey中的device_id全局唯一。

workspace

string

资源路径。

mode_type

string

设为“0”,初始化本地引擎。

debug_path

string

日志存储路径。

说明

加入该字段表明开启日志存储。

如果要关闭日志存储,可在动态参数设置中将debug_level参数等级设为5。

日志文件以追加方式存储。

enable_et

string

取值ture或false。设为false时关闭打点,默认开启。

关于打点的说明,请参见SDK是如何进行“打点”的?

enable_ntp

string

取值ture或false。设为false时关闭NTP,默认开启。

NTP功能用于获取阿里云时间用于鉴权,请参见NTP的作用是什么?

enable_low_precision

string

取值ture或false。默认值取false,表示采用高精度模式;设为true时是采用低精度方式,计算量会下降,同时音质也会略下降。

authspace

string

为方便调试,将鉴权文件生成至固定目录(如“/storage/emulated/0/tts”, 请确保该目录存在,并可读写),避免卸载app重装时再次鉴权,主要用于接入时调试。不设置该参数时,鉴权文件将存在workspace目录下。

extend

string

拓展字段(JSON)。

动态参数说明

  • 属性in表示可以设置给SDK的参数。in属性的参数可以通过setparamTts(以Android为例)动态设置,设置完成后下一条生效。

  • 属性out表示从SDK获取的参数。out属性的参数可以通过getparamTts获取。

参数

类型

属性

取值

含义

extend_font_name

string

in

full_path

发音人切换。

语音包资源完整路径, 如/sdcard/xiaoyun。

speed_level

string

in|out

(0, 2],默认1.0

语速,值越大语速越快。

设置的值超过范围将取默认值。

pitch_level

string

in|out

[-500,500],默认0

声调,值越大声音越尖锐。

设置的值超过范围将取默认值。

volume

string

in|out

(0,2],默认1.0

音量,值越大音量越大。

设置的值超过范围将取默认值。

说明

为避免截幅引入“吱吱”噪声,建议取值限定在1.5以下。

callback_raw_data

string

in

0、1,默认0

  • 0:回调原始数据。

  • 1:回调解码后数据,如原始合成数是mp3,那么将回调pcm数据。

debug_level

string

in|out

0、1、2、3、4、5

日志等级

  • 0:verbose 无过滤

  • 1:debug

  • 2:info

  • 3:warning

  • 4:error

  • 5:关闭日志

error_msg

string

out

错误信息

在调用接口发生错误时,获取详细的错误信息。建议用户在打点时重点考虑该信息,是分析问题的有效手段。

model_sample_rate

string

out

16000、24000

音频数据采样率,通常是24000。

enable_callback_vol

string

in

0、1,默认0

  • 0:不回调音量

  • 1:回调音量,会有一定的资源消耗,非必要时关闭。

enable_monopoly

string

in

0、1,默认1

  • 0:开启非独占模式,合成速度变慢,CPU峰值下降。

  • 1:开启独占模式,合成速度快,CPU峰值相对较高。

性能指标

说明

以中文发音人aicheng为例(不同发音人略有差异)。

项目

指标

CPU

机型

硬件指标

初始化耗时

CPU(合成态:单核)

红米6A

CPU:联发Helio A22 2 GHz

RAM:2 GB

系统:Android 9.0

273ms

19%

华为P10

CPU:海思麒麟960 2.4 GHz

RAM:4 GB

系统:Android 7.0

178ms

12%

华为P40

CPU型号:海思麒麟990 2.86 GHz

RAM:6 GB

系统:Android 10.0

67ms

8.2%

ROM

  • 参照SDK包大小

  • 由语音包个数及大小决定

RAM

21.73 M

错误码

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

错误码

错误消息

描述

0

TTS_SUCCESS

成功。

SDK相关

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

超时退出。

参数配置相关

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

音频处理单元打开失败(audioplayer)。

140221

TTS_AP_START_FAILED

ap启动出错。

140222

TTS_AP_MALLOC_FAILED

ap内存申请失败。

本地引擎相关

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

本地开始合成失败。

140906

TTS_LOCAL_OPERATION_FAILED

本地引擎启动失败。

140907

TTS_LOCAL_SWITCH_FONT_FAILED

发音人切换失败。

140908

TTS_LOCAL_GET_SAMPLERATE_FAILED

获取采样率失败。

140910

TTS_LOCAL_VOICE_PATH_INVALID

语音包路径无法访问。

140911

TTS_LOCAL_VOICE_MISMATCH

设置的语音包校验失败。例如没有权限使用该语音包,或者语音包的md5值和云端下载语音包不一致。