跳到主要内容

JSON格式文本说明

目前,数字人服务平台对接了多家TTS服务厂商,各厂商对多音字标记、插入停顿、数值读法标记等功能的支持程度和支持方式均有不同。

为了方便客户对接,统一定义了一套通用的文本标记格式,由数字人服务平台进行解析,适配各TTS服务厂商的实现。

1.文本格式定义

1.5.0起,项目配置接口中,scene.textDriver.text参数使用新定义的数据格式传参,支持多音字标记、插入停顿、数值读法标记等功能。

使用JSON格式定义通用文本标记,示例如下:

{
"parts": [
{
"sentences": [
{ "type": 1, "word": "国家" },
{ "type": 3, "word": "兴", "pron": "xing", "tone": 1 },
{ "type": 1, "word": "亡," },
{ "type": 2, "word": "", "duration": 3000 },
{ "type": 1, "word": "匹夫有责。" },
{
"type": 4,
"word": "1234",
"start": true,
"end": true,
"interpret": 2
},
{ "type": 1, "word": "!" }
]
}
]
}

文本格式属性说明:

属性名称(key)类型必需说明
partsArray(part)文本中的段落数组,每个文本由1个或多个段落组成。服务端解析时,会在段落和段落之间添加一个换行符(\n)。

part说明:

属性名称(key)类型必需说明
sentencesArray(sentence)段落中的语句数组,每个段落由1个或多个语句组成。语句包含纯文本、多音字标记、停顿标记、数值读法标记等。

sentence说明:

属性名称(key)类型必需说明
typeInteger语句类型,枚举值。表示当前语句的类型或作用。1=字符文本,纯文本内容。2=停顿标记,用来在文本中插入一个停顿标记,需要设置停顿时长。3=多音字标记,用来标注1个多音字汉字的发音,需要设置发音和声调。4=数值读法标记,用来标注数值的读法,需要设置数值字符范围和读法。
wordString语句文本内容。type=1,任意字符,支持1个字符或多个字符组成的字符串;type=2,文本内容无效,解析时忽略文本内容,传入固定值:"";type=3,1个汉字字符;type=4,数值字符,支持1个数字或多个数字组成的数值。
durationLong停顿时长,单位:毫秒。type=2时有效,必需。取值范围: 50 ~ 5000,即50毫秒 ~ 5秒。允许连续插入多个停顿。
pronString汉语拼音发音,type=3时有效,必需。
toneInteger汉语拼音声调,枚举值。type=3时有效,必需。1=阴平(¯);2=阳平(´);3=上声(ˇ);4=去声(`);5=轻声(˙)。
startBoolean数值开始,true时表示该字符为数值标记的开始。type=4时有效,必需。
endBoolean数值结束,true时表示该字符为数值标记的结束。type=4时有效,必需。
interpretInteger数值读法,枚举值。type=4时有效,必需。1=按数字读,如1234读作一千二百三十四;2=按序列读,如1234读作一二三四。