语音合成

一、接口描述

1. 功能描述

文字转换成语音。

2. 接口数据要求:

3. 接口使用:

平台为每个API提供试用体验服务,您在AI市场选择“免费试用”规格下单后,即可开始体验业内领先的人工智能API服务。 免费试用服务具有调用量、QPS限制,如需更高性能的API服务,可以提交咨询工单,联系京东AI扩容购买。

在获得使用权限后,您可使用已经封装好的SDK/参照接口鉴权规则进行相应开发,整体流程详见 接入流程

4. Android/IOS开发

为了方便Android和IOS集成该API,我们提供了对应的SDK供开发者使用,请到下面的链接下载和使用:

5. 其他SDK

(注意:使用SDK开发仍然需要开通第3步中的API服务权限)

二、请求说明

1. 接口地址 :

https://aiapi.jd.com/jdai/tts

2. 请求方式:

 post

3. 请求参数

(1)query请求参数

公共请求参数

名称 类型 必填 示例值 描述
appkey string 80d2b762ecb86593f9668526920f46c 您的appkey,可在买家中心控制台中获
timestamp long 1541491668060 请求的时间戳,精确到毫秒,timestamp有效期5分钟
sign string 2e148773a0337a8f2200ba90d445f083 签名,根据规则MD5(sectetkey+timestamp)

(2)header请求参数

业务请求参数

名称 类型 必填 示例值 描述
Service-Type string synthesis 服务类型,这里设置固定值synthesis
Request-Id string 65845428-de85-11e8-9517-040973d59a1e 请求语音串标识码。由客户端生成,代表完整的语音合成请求过程,需要注意:
- 需要全局唯一
- 对于同一次合成请求Request-Id需要保持一致
- 每个不同的合成请求都要新生成Request-Id,若多次请求使用同一个将会产生不可预知的错误。

生成方法:
- libuuid 库可以直接生成。Android 及 iOS 也有相关的生成函数。
Sequence-Id int 1 文本分段传输的分段号
-1表示非流式,一次性合成音频并返回。
1表示一次新的流式请求开始,分段合成音频返回,发送第二次请求获取第二段数据时Sequence-Id递增并可以不带text文本。
Protocol int 1 通信协议版本号,这里设置固定值1
Net-State int 1 客户端网络状态:1:WIFI,2:移动,3:联通,4:电信,5:其他
Applicator int 1 应用者,SDK 会提供给不同的应用者(渠道,例如:内部业务(0),外部业务(1))
Property string {"platform": "Linux", "version": "0.0.0.1", "parameters": {"aue": "1", "vol": "2.0", "sr": "24000", "sp": "1.0", "tim": "0", "tt": "0"}} 属性信息,json格式,platform和version为通用属性,parameters字段必填,其中的参数可选,Property允许用户同一个请求的不同包都携带该头,但是建议只在第一包携带
  • Property参数
名称 类型 必填 示例值 描述
platform string Android&Pixel&7.1 字符串类型,各平台的机型信息,格式为:{平台}&{机型}&{系统版本号}
- 平台:Android,iOS,Linux,Windows
- 机型:设备的机型名称,如Pixel,iPhoneX等
- 系统版本号:设备系统版本,如2.3.3,4.2.1等
version string 1.0.0 字符串类型,客户端版本号
parameters string {"aue": "1", "vol": "2.0", "sr": "24000", "sp": "1.0", "tim": "0", "tt": "0"} TTS参数
- parameters参数
名称 类型 必填 示例值 描述
tt int 0 文本类型(默认值:0) 0:纯文本 1:ssml
aue int 1 音频编码格式(默认值:0)
0:wav 1:pcm 2:opus 3:mp3
tim int 0 音色(默认值:0)
0:桃桃(女声) 1:斌斌(男声) 3:婷婷(女声)
vol string 2.0 音量(默认值:2.0)
取值范围:[0.5, 10.0]
sp string 1.0 语速(默认值:1.0)
取值范围:[0.1, 2.0]
sr int 24000 采样率(默认值:24000)
wav和pcm支持4k到24k的采样率
opus支持8k 12k 16k 和24k的采样率
mp3支持16k 和24k的采样率

(3)body请求参数

业务请求参数

名称 类型 示例值 描述
body string 你好,京东! 放置要合成的文本,长度不能超过1000个字符,UTF-8编码

4、请求代码示例

建议您使用我们提供的SDK进行调用,SDK获取及调用方式详见本页一接口描述中的3接口使用

三、返回说明

1、返回参数

(1)公共返回参数

名称 类型 示例值 描述
code string 1000 参见下方错误码-系统级错误码
charge boolean false 或 true false:不扣费, true:扣费
remainTimes long 1305 剩余调用次数;免费api:每天剩余调用次数;收费api:剩余次数;无限制时为-1
remainSeconds long 1223456 剩余调用时间(s);免费api:-1;收费api:剩余调用时间;无限制时为-1
msg string 查询成功 参见下方错误码-系统级错误码
result object {...} 查询结果

(2)业务返回参数

名称 类型 示例值 描述
status int 0 参照四、错误码-业务错误码
message string ok 参照四、错误码-业务错误码
request_id string 65845428-de85-11e8-9517-040973d59a1e 便于双方定位问题(与请求头部的request-id一致)
index int -3 分段序号,从1开始,负值表示最后一包(非流式直接返回-1)
audio string Uv4I/mD+zf4… 音频数据(base64编码)

2、返回示例

{
    "code": "10000",
    "charge": false,
    "remainTimes": 4998,
    "remainSeconds": -1,
    "msg": "查询成功",
    "result": {
        "status": 0,
        "message": "ok",
        "request_id": "65845428-de85-11e8-9517-040973d59a1e",
        "index": -3,
        "audio": "Uv4I/mD+zf4…"
    }
}

四、错误码

1.系统级错误码

详见返回码

2.业务错误码

业务错误码(status) message 说明
11001 "invalid param" 用户相关,参数错误
30201 "server err, invalid cntl" 服务器相关, 服务器未完成初始化
30202 "server is busy now, call later" 服务器相关, 服务器忙
30203 "text too short" 用户相关,文本过短(没有文本时返回)
30204 "text too long" 用户相关,文本过长(超过1000个字符)
30205 "server err, error seqid" 用户相关,seq_id不正确,如值为1但是当前已有相同session; 或值不为1但当前没有相同session
30206 "server err, read response failed" TTS引擎相关,TTS引擎读取错误
30207 "server err, base64 encode failed" base64编码失败
30208 "server err, session is processing" 服务相关,请求正在处理
30252 "tts engine internal error" 引擎错误,出现内部错误
30253 "tts engine read timeout" 引擎错误,读取缓存超时
30254 "tts engine ssml parsing failed" 引擎错误,SSML 解析错误,如不支持的tag
30255 "tts engine ssml bad parameter" 引擎错误,SSML 参数错误,如指定了错误的发音人
30256 "tts engine ssml nesting error" 引擎错误,SSML 嵌套错误,如 say-as 下嵌套了 background
30257 "tts engine url download failed" 引擎错误,URL 下载失败
30258 "tts engine url unsupported file format" 引擎错误,URL 下载文件格式不正确(格式不支持)
Copyright © JD AI Platform all right reserved,powered by GitbookFile Modify: 2021-05-21 22:10:38

results matching ""

    No results matching ""