Voice Conversion Infer API #
调用方式 #
使用 WebSocket 协议。
调用流程 #
- 建立 WebSocket 连接,在 URL 中使用 query paramter 形式指定
voice_id。例如:“ws://localhost:58010/vc/convert/v1?voice_id=nina” - 接收响应,内容为
"accepted",类型为 text - 发送 PCM 音频,格式要求固定为 16000 采样率、16 位宽、单通道、小端 的音频,可以分多包发送,类型为 binary
- 发送文本
"eof",表示音频发送结束 - 接收响应,内容为音色转换后的 16000 采样率、16 位宽、单通道、小端 的音频,类型为 binary
- 接收响应,内容为
"eof",类型为 text - 断开连接,close code 为 1000(正常结束)
请求参数 #
参数通过 URL 中的 query paramter 传递。
| 参数名 | 必填 | 类型 | 说明 |
|---|---|---|---|
| voice_id | 是 | string | 说话人ID |
| trace | 否 | string | 跟踪ID,用于日志追踪 |
| transform | 否 | int | 变调, -12到+12。男转女,请调整为+12;女转男,请调整为-12,默认为0 |
错误处理 #
如音色转换过程中出现任何问题,返回错误信息,并断开连接。
错误信息格式为 json,类型为 text,样例如下
{
"status": "fail",
"error": "voice_id not found"
}
错误码及错误原因 #
| close code | error message | 错误原因 |
|---|---|---|
| 1000 | - | 正常关闭 |
| 1008 | voice_id not given | 未指定 voice_id |
| 1008 | voice_id not found | 指定了不存在的 voice_id |
| 1008 | VC is busy | VC 服务繁忙 |
| 1011 | internal error | 内部错误 |