logo
产品简介 产品简介
基本概念 基本概念
平台新手指引 平台新手指引
计价模式 计价模式
开发者文档下拉
开放平台计价
定制服务计价
获取访问令牌 获取访问令牌
语音合成 语音合成
开发者文档下拉
接口说明
发音人列表
在线合成 开发者文档下拉
Android SDK
iOS SDK
C++(Linux) SDK
RESTful API
Websocket API
长文本语音合成API
离线合成 开发者文档下拉
离线合成 Android SDK
离线合成 iOS SDK
语音识别 语音识别
开发者文档下拉
一句话识别 开发者文档下拉
RESTful API
Websocket API
实时长语音识别 开发者文档下拉
Websocket API
录音文件识别 开发者文档下拉
RESTful API
SDK文档 开发者文档下拉
Android SDK
iOS SDK
声音复刻 声音复刻
开发者文档下拉
定制模型 开发者文档下拉
RESTful API
Android SDK
iOS SDK
语音合成 开发者文档下拉
RESTful API
声音转换 声音转换
开发者文档下拉
Websocket API
Android SDK
iOS SDK
协议规则 协议规则
开发者文档下拉
平台服务协议
平台通用规则
法律声明及隐私政策
服务等级协议SLA
常见问题 常见问题
开发者文档下拉
语音合成
语音识别

声音转换Websocket API

功能介绍

声音转换Websocket API 满足用户实时声音转换的需求,允许用户以音频流的形式输入原始声音,同时转换后的声音也以流的形式实时推送回去,可以做到边说话边转换的实时效果。声音转换可以支持不同年龄、性别的说话人声音转换换成目标音色,目标音色会携带说话人的语气、情感、口音等特征。

通过websocket

  • 支持音频文件的编码格式及文件名的后缀: pcm
  • 支持音频文件的采样率/位深: 16000Hz/16bit
  • 支持的语言:中文普通话
  • 音频有效时长:不超过180分钟

服务地址

访问类型 说明 URL Host
外网访问 websocket协议 wss://openapi.data-baker.com/ws/voice_conversion openapi.data-baker.com

交互流程

发音人列表

名字 voice name参数
(首字母大写)
声音类型 支持语言 支持采样率(Hz)
变声静静 Vc_jingjing 女声 中文普通话 16000
变声娇娇 Vc_jiaojiao 女声 中文普通话 16000
变声天天 Vc_tiantian 男声 中文普通话 16000
变声恐龙贝克 Vc_baklong 卡通 中文普通话 16000
变声乐迪 Vc_ledi 卡通 中文普通话 16000
变声未眠 Vc_weimian 女声 中文普通话 16000

ws数据包格式

格式说明

  • 第一部分 HEAD 四字节的二进制,长度为一个大端的32位int转换而来,表示第二部分JSON数据的长度,转换关系如下:
    //length转byte[]
    int32_t length = 123;
    unsigned char B[4];
    B[0] = length >> 24 & 0xFF;
    B[1] = length >> 16 & 0xFF;
    B[2] = length >> 8 & 0xFF;
    B[3] = length & 0xFF;
    
    //byte[]转length
    length = (B[0] << 24) + (B[1] <<  16) + (B[2] <<  8) + B[3];
  • 第二部分是一个JSON的字符串
  • 第三部分是音频的二进制数据,若数据包中不包含音频,则第三部分可以为空

请求参数

参数名 参数格式 是否必填 说明
access_token string 通过client_id,client_secret调用授权服务获得见开发文档获取访问令牌。
enable_vad bool true代表启动服务端vad功能,默认false。如果启动系统会根据输入音频进行检测,过滤环境噪音。否则直接将原始输入音频进行转换。
align_input bool true代表输出音频与输入音频进行对齐,默认false。即开启vad时会保留静音部分,false丢弃静音部分。
voice_name string 发音人参数即转换的目标声音
lastpkg bool 是否为最后一包,当时发送最后一包数据时设置为true 告诉系统输入完成

响应参数

参数名 参数格式 是否必填 说明
errcode int 错误码,0 代表成功其他代表识别,参考错误码说明。
errmsg string 错误信息描述
traceid string 会话唯一id,用于追踪定位问题。
lastpkg bool 是否为最后一包,当时发送最后一包数据时设置为true 告诉调用方输出完成

错误码

错误码 含义 类别
0 成功 请求参数错误
10000 ws数据包解析错误
10001 ws数据包json解析错误
10002 请求参数缺少access token
10003 access token过期或不合法
10004 请求参数缺少 voice name
10005 voice name 不存在
20000 引擎资源不足,拒绝新建会话。 服务端错误
20001 声音转换出错
20002 动态内存申请失败
20003 向客户端推送响应失败
20004 其他未定义的内部错误
30000 会话进行时客户端主动关闭 客户端错误
30001 会话空闲超时,超过一定时间没有数据传输导致会话空闲超时,主动断开连接。