离线语音合成是指在弱网或无网状态下,通过设备本地的语音合成模型,将文本转换成自然流畅的语音。
功能介绍
离线语音合成主要包括以下功能,暂不支持多实例调用。
提供语速调节、语调调节、音量调节功能。
适用于车载导航、智能硬件、文学有声阅读和无障碍播报等场景。
以SDK的方式集成,支持多种不同硬件平台。
按照设备激活数量收费。
提供多种音色,支持范围和下载地址请参见语音包列表。
前提条件
使用前需完成SDK授权配置和激活,具体步骤请参见开通授权。首次注册鉴权需要联网;完成激活后,语音合成在设备本地执行。
时序图
激活及初始化参数说明
介绍离线TTS SDK激活及初始化时需要设置的参数,主要包括鉴权信息、工作路径及日志存储路径。
初始化参数设置并启用后,无法变更。
参数 | 类型 | 说明 | 是否必须 |
ak_id | string | AccessKey ID,获取方式请参见快速开始:创建AccessKey。 | 是 |
ak_secret | string | AccessKey Secret,获取方式请参见快速开始:创建AccessKey。 | 是 |
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 |
|
语音包列表
|
名称 |
voice参数值 |
类型 |
适用场景 |
支持语言 |
支持采样率(Hz) |
备注 |
下载链接 |
|
艾佳 |
aijia |
标准女声 |
通用场景 |
支持中文及中英文混合场景 |
24000 |
精品版 |
|
|
艾诚 |
aicheng |
温暖男声 |
通用场景 |
支持中文及中英文混合场景 |
24000 |
精品版 |
|
|
艾琪 |
aiqi |
温柔女声 |
通用场景 |
支持中文场景 |
24000 |
精品版 |
|
|
艾达 |
aida |
标准男声 |
通用场景 |
支持中文场景 |
24000 |
精品版 |
|
|
艾浩 |
aihao |
资讯男声 |
文学场景 |
支持中文场景 |
24000 |
精品版 |
|
|
艾硕 |
aishuo |
自然男声 |
客服场景 |
支持中文场景 |
24000 |
精品版 |
|
|
艾颖 |
aiying |
软萌童声 |
文学场景 |
支持中文及中英文混合场景 |
24000 |
精品版 |
|
|
艾彤 |
aitong |
儿童音 |
童声场景 |
仅支持纯中文场景 |
24000 |
精品版 |
|
|
Abby |
abby |
美语女声 |
英文场景 |
仅支持英文场景 |
24000 |
精品版 |
|
|
Andy |
andy |
美语男声 |
英文场景 |
仅支持英文场景 |
24000 |
精品版 |
|
|
Annie |
annie |
美语女声 |
英文场景 |
仅支持英文场景 |
24000 |
精品版 |
|
|
小云 |
xiaoyun |
标准女声 |
通用场景 |
支持中文及中英文混合场景 |
16000 |
标准版 |
|
|
小达 |
xiaoda |
标准男声 |
通用场景 |
中文及中英文混合场景 |
16000 |
标准版 |
|
|
小刚 |
xiaogang |
温暖男声 |
通用场景 |
中文及中英文混合场景 |
16000 |
标准版 |
|
|
小琪 |
xiaoqi |
温柔女声 |
通用场景 |
中文及中英文混合场景 |
16000 |
标准版 |
|
|
小夏 |
xiaoxia |
自然女声 |
客服场景 |
中文及中英文混合场景 |
16000 |
标准版 |
性能指标
以下指标以中文音色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事件返回错误码。状态码及处理方法请参见错误码查询:语音合成/离线语音合成SDK相关。