接口说明
离线语音合成是指在弱网或无网状态下,通过设备本地的语音合成模型,将文本转换成自然流畅的语音。
产品体验
更多合成效果可至离线语音合成产品详情页进行体验。
功能介绍
离线语音合成主要包括以下功能,暂不支持多实例调用。
提供语速调节、语调调节、音量调节功能。
适用于车载导航、智能硬件、文学有声阅读和无障碍播报等场景。
以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 | 产品码。
| 是 |
device_id | string | 设备标识。 说明 一个Appkey中的device_id全局唯一。 | 是 |
workspace | string | 资源路径。 | 是 |
mode_type | string | 设为“0”,初始化本地引擎。 | 是 |
debug_path | string | 日志存储路径。 说明 加入该字段表明开启日志存储。 如果要关闭日志存储,可在动态参数设置中将debug_level参数等级设为5。 日志文件以追加方式存储。 | 否 |
enable_et | string | 取值true或false。设为false时关闭打点,默认开启。 关于打点的说明,请参见SDK是如何进行“打点”的? | 否 |
enable_ntp | string | 取值true或false。设为false时关闭NTP,默认开启。 NTP功能用于获取阿里云时间用于鉴权,请参见NTP的作用是什么? | 否 |
enable_low_precision | string | 取值true或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 |
|
debug_level | string | in|out | 0、1、2、3、4、5 | 日志等级
|
error_msg | string | out | 错误信息 | 在调用接口发生错误时,获取详细的错误信息。建议用户在打点时重点考虑该信息,是分析问题的有效手段。 |
model_sample_rate | string | out | 16000、24000 | 音频数据采样率,通常是24000。 |
enable_callback_vol | string | in | 0、1,默认0 |
|
enable_monopoly | string | in | 0、1,默认1 |
|
性能指标
以中文发音人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 |
| |||
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值和云端下载语音包不一致。 |