简介
超拟人合成接口是一种先进的文本转音频技术,通过利用大模型生成拟声词,使合成音频更加拟人化和真实。本文将对该接口的主要功能、请求和响应格式、常见错误码等进行总结归纳,帮助用户快速上手并正确使用该接口。
接口描述
超拟人合成接口支持将文本数据合成为音频,音频结果(audio)以多帧形式返回。由于结果帧的顺序可能无法保证,建议在接入方在一定时间片内根据服务响应帧中的 seq
序号进行重排序。
接口功能
请求方法和URL
- 请求方法:
ws(s)://cbm01.cn-huabei-1.xf-yun.com/v1/private/medd90fec
请求格式
请求格式包含 header
、parameter
和 payload
三个部分。以下是一个示例请求协议:
{
"header": {
"app_id": "123456",
"status": 2,
"request_id": "null",
"res_id": ""
},
"parameter": {
"oral": {
"oral_level":"mid"
},
"tts": {
"vcn": "x4_lingxiaoxuan_oral",
"speed": 50,
"volume": 50,
"pitch": 50,
"bgs": 0,
"reg": 0,
"rdn": 0,
"rhy": 0,
"scn": 0,
"version": 0,
"L5SilLen": 0,
"ParagraphSilLen": 0,
"audio": {
"encoding": "speex-wb",
"sample_rate": 16000,
"channels": 1,
"bit_depth": 16,
"frame_size": 0
},
"pybuf": {
"encoding": "utf8",
"compress": "raw",
"format": "plain"
}
}
},
"payload": {
"text": {
"encoding": "utf8",
"compress": "raw",
"format": "json",
"status": 2,
"seq": 0,
"text": "5aSn5qih5Z6L6L6T5Ye6"
}
}
}
请求参数说明
header
:协议头部,包含app_id
、status
等信息。parameter
:AI 能力功能参数,包括oral
和tts
参数,设置口语化等级、发音人、语速、音量等。payload
:输入数据段,包含待合成文本,采用 Base64 编码。
响应格式
服务输出的结果段以多帧形式返回,建议在接入方在一定时间片内根据服务响应帧中的 seq
序号进行重排序。以下是一个响应协议的示例:
{
"header": {
"code": 0,
"message": "success",
"sid": "aso000ede92@dx18caf514baab832882",
"status": 1
},
"payload": {
"audio": {
"encoding": "speex-wb",
"sample_rate": 16000,
"channels": 1,
"bit_depth": 16,
"status": 0,
"seq": 0,
"audio": "",
"frame_size": 0
},
"pybuf": {
"encoding": "utf8",
"compress": "raw",
"format": "plain",
"status": 0,
"seq": 0,
"text": ""
}
}
}
响应参数说明
header
:协议头部,描述返回码、错误信息、会话 ID 等。payload
:响应数据块,包含audio
和pybuf
数据段,分别为音频数据和拼音标注数据(如果rhy
参数为 1)。
常见错误码
以下列出了一些常见的错误码及其处理策略:
错误码 | 错误描述 | 说明 | 处理策略 |
---|---|---|---|
10009 | input invalid data | 输入数据非法 | 检查输入数据 |
10010 | service license not enough | 没有授权许可或授权数已满 | 提交工单 |
10019 | service read buffer timeout, session timeout | session超时 | 检查是否数据发送完毕但未关闭连接 |
10043 | Syscall AudioCodingDecode error | 音频解码失败 | 检查aue参数,如果为speex,请确保音频是speex音频并分段压缩且与帧大小一致 |
10114 | session timeout | session 超时 | 会话时间超时,检查是否发送数据时间超过了60s |
10139 | invalid param | 参数错误 | 检查参数是否正确 |
10160 | parse request json error | 请求数据格式非法 | 检查请求数据是否是合法的json |
10161 | parse base64 string error | base64解码失败 | 检查发送的数据是否使用base64编码了 |
10163 | param validate error:... | 参数校验失败 | 具体原因见详细的描述 |
10200 | read data timeout | 读取数据超时 | 检查是否累计10s未发送数据并且未关闭连接 |
10222 | context deadline exceeded | 1.上传的数据超过了接口上限; 2.SSL证书无效; | 1.检查接口上传的数据(文本、音频、图片等)是否超越了接口的最大限制,可到相应的接口文档查询具体的上限; 2. 请将log导出发到工单:https://console.xfyun.cn/workorder/commit; |
10223 | RemoteLB: can't find valued addr | lb 找不到节点 | 提交工单 |
10313 | invalid appid | appid和apikey不匹配 | 检查appid是否合法 |
10317 | invalid version | 版本非法 | 请到控制台提交工单联系技术人员 |
10700 | not authority | 引擎异常 | 按照报错原因的描述,对照开发文档检查输入输出,如果仍然无法排除问题,请提供sid以及接口返回的错误信息,到控制台提交工单联系技术人员排查。 |
11200 | auth no license | 功能未授权 | 请先检查appid是否正确,并且确保该appid下添加了相关服务。若没问题,则按照如下方法排查。 1. 确认总调用量是否已超越限制,或者总次数授权已到期,若已超限或者已过期请联系商务人员。 2. 查看是否使用了未授权的功能,或者授权已过期。 |
11201 | auth no enough license | 该APPID的每日交互次数超过限制 | 根据自身情况提交应用审核进行服务量提额,或者联系商务购买企业级正式接口,获得海量服务量权限以便商用。 |
11503 | server error :atmos return an error data | 服务内部响应数据错误 | 提交工单 |
11502 | server error: too many datas in resp | 服务配置错误 | 提交工单 |
100001~100010 | WrapperInitErr | 调用引擎时出现错误 | 请根据message中包含的errno前往 5.2引擎错误码 查看对应的说明及处理策略 |