机器人超脑平台
平台简介
成为超脑平台用户
讯飞超脑板
产品规格
开发指南
标准协议
使用手册
环境准备
数据采集
应用算法
应用实例
镜像导出
镜像烧录
错误码
算法配置表
机器人多模态交互开发套件
多模态交互套件产品白皮书
多模态交互套件使用手册
多模态交互套件开发手册
多模态交互套件视频传输协议
多模态交互套件串口通信协议
多模态交互套件音频传输协议
联系方式
服务条款
超脑平台服务协议
超脑平台隐私政策
本文档使用 MrDoc 发布
-
+
首页
多模态交互套件音频传输协议
上位机可通过网络与RK3588多模态盒子建立音频传输通道,可参照开发包中的[Android示例代码](https://www.yuque.com/iflyaiui/zzoolv/xk9rpv "Android示例代码")实现。 ## 音频传输协议 ### 概述 上位机可以通过建立tcp连接来获取到实时唇形降噪后的音频数据。 **设备IP**:如果盒子为动态ip,可通过[发送串口](https://aiui-doc.xf-yun.com/project-1/doc-367/ "发送串口")指令来获取ip。 **指定端口**:9080 ### 消息格式 消息格式与串口协议类似,唯一不同点为消息数据长度位从2个字节扩充到4个字节。 <table border="1"> <colgroup> <col width="10%" /> <col width="10%" /> <col width="50%" /> </colgroup> <tbody valign="top"> <tr><td>字节</td> <td>值</td> <td>含义说明</td> </tr> <tr><td>0</td> <td>0xA5</td> <td>同步头</td> </tr> <tr><td>1</td> <td>0x01</td> <td>用户ID</td> </tr> <tr><td>2</td> <td>0xXX</td> <td>消息类型</td> </tr> <tr><td>3~6</td> <td>0xXXXXXXXX</td> <td>消息数据长度</td> </tr> <tr><td>7~8</td> <td>0xXXXX</td> <td>消息ID</td> </tr> <tr><td>9~n</td> <td>消息数据</td> <td>消息数据</td> </tr> <tr><td>n+1</td> <td>0xXX</td> <td>内部校验码</td> </tr> </tbody> </table> ### 通信规则 * 单工通信,盒子连续下发音频帧; * 语音模组下发消息,上位机负责接收解析消息; * 建立socket连接之后,盒子即开始下发音频帧; ### 通信格式 通信格式定义了音频帧消息,详细如下: <table border="1"> <colgroup> <col width="13%" /> <col width="9%" /> <col width="6%" /> <col width="8%" /> <col width="8%" /> <col width="8%" /> <col width="6%" /> <col width="0%" /> <col width="5%" /> <col width="1%" /> <col width="3%" /> <col width="3%" /> <col width="9%" /> <col width="6%" /> <col width="8%" /> <col width="6%" /> </colgroup> <tbody valign="top"> <tr><td>分类</td> <td>同步头</td> <td>用户ID</td> <td>消息类型</td> <td>消息长度</td> <td>消息ID</td> <td colspan="14">消息数据</td> <td>校检码</td> </tr> <tr><td>字节</td> <td>0</td> <td>1</td> <td>2</td> <td>3~6</td> <td>7~8</td> <td colspan="2">9</td> <td colspan="2">10</td> <td colspan="2">11~12</td> <td colspan="4">13~16</td> <td colspan="4">17~n</td> <td>n+1</td> </tr> <tr><td><strong>音频帧</strong></td> <td>0xA5</td> <td>0x01</td> <td>0x0a</td> <td>同上</td> <td>同上</td> <td colspan="2">vad</td> <td colspan="2">通道号</td> <td colspan="2">0x00</td> <td colspan="4">帧号</td> <td colspan="4">音频</td> <td>0x00</td> </tr> </tbody> </table> #### 消息长度: 数据格式中3-6字节为消息数据长度,消息长度编码为小端模式,即第3字节存储低字节,第6字节存储高字节。如确认消息中消息数据有4字节,则消息长度为4,编码到3-6字节就是0x04 0x00 0x00 0x00 #### 消息ID: 数据格式中7-8字节为消息ID,与消息长度类似,也是小端模式编码。可以使用消息ID过滤因超时重发导致的重复消息。两字节长度的消息ID取值0-65535,所以在实际使用中需要循环使用,具体实现可以参考Android平台上的源码实现。 #### 校检码: 校验位固定为0x00 ### 音频帧消息 消息数据中包含vad状态、音频帧编号、pcm音频 #### vad状态 - 0 静音片段 - 1 开始说话 - 2 持续说话 - 3 结束说话 #### 通道号 - 0-10:多模态降噪音频输出通道,每一个音频通道对应一个说话人。 - -1:纯声学降噪音频输出通道(1.1以上版本支持)。 - 99:识别通道音频,最终流入到识别引擎的音频数据(1.1以上版本支持)。 #### 音频帧号 编码为小端模式,即第13字节存储低字节,第16字节存储高字节。接收到的音频帧号应为连续递增的数字。 #### 音频数据 音频数据格式为16k 16bit 单通道
admin
2025年1月14日 16:30
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码