Skip to main content

reSpeaker Flex 入门指南

pir

reSpeaker Flex 是一款采用分体式架构的模块化语音处理系统,基于 XMOS XVF3800 处理器,专为机器人和智能交互终端设计。与传统的一体化麦克风阵列不同,Flex 将核心处理板与麦克风阵列板分离,两者通过柔性 FPC 软排线连接,使麦克风阵列可以嵌入产品外壳内的任意物理位置,而将处理电路布置在其他位置。 该系统支持两种可互换的麦克风阵列配置:用于全向 360° 拾音的环形 4 麦阵列,以及用于前向定向拾音并抑制后向声源的线性 4 麦阵列。两块阵列板均通过标准化的 24 针 FPC 接口连接到同一核心板,系统可在 USB(UAC 2.0 即插即用)或 I2S 模式下工作,以便嵌入式集成。核心板上可选焊接 XIAO ESP32S3 模块,以实现无线连接和扩展控制功能。

环形麦克风系列

reSpeaker Flex XVF3800 Circular reSpeaker Flex XVF3800 Circular with XIAO ESP32S3

线性麦克风系列

reSpeaker Flex XVF3800 LinearreSpeaker Flex XVF3800 Linear with XIAO ESP32S3

特性

  • 分体式模块化设计:核心板与麦克风阵列板物理分离,通过 FPC 软排线连接,可在任意产品机壳内灵活布置

  • 多种麦克风配置选择:在同一核心板上可切换环形 4 麦阵列(360° 拾音,44mm 间距)或线性 4 麦阵列(180° 前向指向性,33mm 间距)

  • XMOS XVF3800 音频处理:集成完整的 AEC、AGC、DoA、多通道波束成形、VAD、噪声抑制和混响消除功能

  • 双工作模式:USB UAC 2.0,可与 PC 和 SBC 即插即用;I2S 模式,用于直接嵌入式集成

  • 双 USB 连接方式:USB-C 接口和 PH2.0 锁扣接口均支持 UAC 2.0 音频和 DFU 固件升级

  • 板载功放:通过 JST 接口驱动 10W、4 欧姆扬声器,并提供 3.5mm AUX 耳机输出

  • 支持 XIAO ESP32S3(可选):焊接模块后可增加 Wi-Fi/Bluetooth 功能,I2S 和 I2C 总线直接连接至 XVF3800,用于无线控制和音频转发

  • 固件灵活性:提供双 USB 固件版本(2 通道和 6 通道)、I2S 固件,支持通过 dfu-util 进行 DFU 升级,并可在断电后保持配置

  • Python SDK:可通过 Python 调整录音格式、音量、算法参数和通道路由

主要组件

pir

核心板

组件 / 特性描述
主音频处理器XMOS XVF3800(固件 v3.2.1),负责所有音频 DSP,包括 AEC、波束成形、DoA 和噪声抑制
音频编解码器TLV320AIC3104,负责音频转换和 DAC 输出
FPC 麦克风阵列接口24 针带锁扣 FPC 连接器,支持最多 8 麦阵列和 2 路 GPIO 线
USB-C 接口提供 UAC 2.0 音频、DFU 固件升级和供电
PH2.0 接口带锁扣连接器;提供与 USB-C 接口相同的 UAC 2.0 音频和 DFU 支持
3.5 mm AUX 插孔侧向出线耳机输出,由板载 DAC 驱动
扬声器 JST 接口直立安装连接器,可驱动最高 10W、4Ω 扬声器;预留焊盘以便硬连线扬声器
外部电源端子为整个系统提供 12V 供电,并支持 10W 扬声器负载(P1 优先级)
RST 按钮XVF3800 的硬件复位按钮
SafeMode(启动)按钮上电时按住可进入安全模式,用于固件恢复
PWR 指示灯绿色电源指示灯
调试焊盘预留 XMOS XTAG4 焊盘(出厂未焊接)
XMOS 3800 IO 排针引出 I2C、I2S、5V/GND、扬声器引脚及其余 XVF3800 IO 的排针/焊盘
安装孔4 × M3 安装孔
XIAO ESP32S3当其作为主机设备使用时,支持焊接 XIAO ESP32S3
XIAO ESP32S3 GPIO剩余 GPIO 可用于 IO 和外设扩展

环形阵列板

pir

组件 / 特性描述
麦克风4× PDM MEMS 麦克风,44 mm 间距,环形排布
拾音模式360° 全向音频采集
接口通过 FPC 连接器连接到核心板
安装3 × M3 安装孔,用于固定在外壳或机箱上

线性阵列板

pir

组件 / 特性描述
麦克风4× PDM MEMS 麦克风,33 mm 间距,线性排布
拾音模式约 180° 的前向拾音模式,并抑制后向声源
接口FPC 连接器;排线可从侧面或背面走线
安装2 × M3 安装孔

XIAO ESP32S3 支持

pir

pir

reSpeaker Flex 核心板预留了专用焊盘,可焊接 Seeed Studio XIAO ESP32S3 模块,在 XVF3800 音频处理链路之上增加 Wi-Fi 和 Bluetooth 连接能力。包含 XIAO 的 SKU(-C4-1 和 -L4-1)出厂已预装该模块;基础 SKU(-C4-0 和 -L4-0)则保留焊盘未焊接。 当安装 XIAO 后,它与 XVF3800 之间会建立如下连接:

  • I2S 总线 — 双总线(播放和录制),共享 BCLK、MCLK 和 LRCLK,用于双向音频流传输
  • I2C 总线 — 供 XIAO 读取和写入 XVF3800 的配置参数
  • RST 线 — XIAO 可通过专用 IO 引脚对 XVF3800 进行硬件复位
  • 剩余 XIAO IO — 引出到带标签的排针/焊盘,供用户扩展

排针

pir

pir

24 芯 FPC 线缆

FPC 麦克风阵列接口为 24 针、0.5mm 间距、带锁扣的连接器,包装内附带的 20cm FPC 软排线已按此连接器规格制作并带有防呆设计。

pir

引脚信号名类型功能描述备注
1MIC_VDDPower麦克风电源3.3V 供电
2MIC_VDDPower麦克风电源双引脚以增强供电稳定性
3GNDGND电源回流地电源地
4MIC_CLKOut全局时钟信号核心信号,2–4 MHz
5GNDGND时钟屏蔽地时钟专用地
6MIC_D1In数据线 1CH1 麦克风
7GNDGNDD1 隔离地
8MIC_D2In数据线 2CH2 麦克风
9GNDGNDD2 隔离地
10MIC_D3In数据线 3CH3 麦克风
11GNDGNDD3 隔离地
12MIC_D4In数据线 4CH4 麦克风
13GNDGNDD4 隔离地
14MIC_D5In数据线 5CH5 麦克风
15GNDGNDD5 隔离地
16MIC_D6In数据线 6CH6 麦克风
17GNDGNDD6 隔离地
18MIC_D7In数据线 7CH7 麦克风
19GNDGNDD7 隔离地
20MIC_D8In数据线 8CH8 麦克风
21GNDGNDD8 隔离地
22GPIO_1I/O通用输入/输出扩展功能
23GPIO_2I/O通用输入/输出扩展功能
24GNDGNDGPIO 屏蔽地吸收 GPIO 噪声

入门指南

硬件准备

  • USB Type-C 线缆
  • 主机电脑或 Raspberry Pi

软件准备

开箱即用

复位

当按下复位(RST)按钮时,会对 reSpeaker Flex 执行一次硬件复位,它会重新启动芯片并从最开始重新初始化系统,就像完整的断电重启一样。

扬声器连接

pir

在这里你可以看到如何根据你的音频输出偏好,使用 3.5mm AUX 耳机插孔或板载 JST 扬声器接口来连接扬声器。

安全模式

安全模式(Safe Mode)reSpeaker Flex 上的一种特殊恢复模式,它允许你通过 USB DFU 或 I2C(例如 Raspberry Pi 和 ESP32 等设备)来烧录固件。

如果你之前已经烧录了 I2S 固件,并且想切换回 USB 固件,可以进入 安全模式(Safe Mode),然后使用 USB DFU 重新烧录 USB 固件。

note
  • USB 固件
    • 仅支持 USB DFU。
    • 你可以通过 USB 连接更新设备。
    • 不支持 I2C DFU。
  • I2S 固件
    • 支持 I2C DFU。
    • 允许通过 I2C 接口更新固件。
    • 不支持 USB DFU。
  • 安全模式固件
    • 存储在 Factory 分区中。
    • 同时支持 USB DFU 和 I2C DFU。
    • 这是最灵活的恢复固件。

在以下情况下使用安全模式(Safe Mode)

  • 你的固件工作不正常(例如,USB 无法被识别)。
  • 你需要重新烧录新固件,但当前固件没有响应
  • 不小心烧录了错误的固件,想要恢复设备。

进入安全模式(Safe Mode)的方法

  • 将设备完全断电关机
  • 按住 Boot 按钮不放
  • 在按住 Boot 按钮的同时,重新接通电源。
  • 红色 LED 将开始闪烁,确认设备已进入 安全模式(Safe Mode)。 此时设备正在运行存储在 Factory 分区中的 安全模式固件

更新固件

在官方 GitHub 仓库中提供了三个固件版本。你可以根据应用需求选择并烧录合适的固件。更多详情和下载,请参考 Github 链接

note

请确保你需要下载整个仓库。

USB 固件适用于通过 USB 硬件接口与 Windows、Linux 和 macOS 等主机操作系统进行通信的场景。 提供两种固件变体:respeaker_xvf3800_usb_dfu_firmware_v2.0.x.bin,提供 2 通道音频,以及 respeaker_xvf3800_usb_dfu_firmware_6chl_v2.0.x.bin,提供 6 通道音频。两种固件版本均以 16 kHz 采样率和 32 位深度运行。

你可以在此链接中查看这些固件文件

固件通道数说明
respeaker_flex_ua-io16-6ch-cir.bin6 通道16 kHz,使用环形麦克风阵列的 6 通道
respeaker_flex_ua-io16-6ch-lin.bin6 通道16 kHz,使用线性麦克风阵列的 6 通道
respeaker_flex_ua-io16-cir.bin2 通道16 kHz,使用环形麦克风阵列的立体声输出
respeaker_flex_ua-io16-lin.bin2 通道16 kHz,使用线性麦克风阵列的立体声输出
respeaker_flex_ua-io48-cir.bin2 通道48 kHz,使用环形麦克风阵列的立体声输出
respeaker_flex_ua-io48-lin.bin2 通道48 kHz,使用线性麦克风阵列的立体声输出

通过 USB 线缆将 reSpeaker Flex 连接到你的电脑。请注意,你需要使用 XMOS USB-C 接口(靠近 RST 按钮)来烧录 XMOS 的固件。

安装 DFU Util

dfu-util 是一个通过 USB 进行设备固件升级(Device Firmware Upgrade)的命令行工具。

  • 下载 dfu-util-0.11-binaries.tar.xz 并解压,例如解压到 D:\dfu-util-0.11-binaries\win64\
    下载链接

  • dfu-util.exe 的路径添加到系统的 Path 变量中:
    My Computer > Properties > Advanced > Environment Variables > Path

  • 打开 命令提示符cmd)并验证安装:

dfu-util -V

pir

  • 连接 reSpeaker Flex 并检查设备是否被检测到:
dfu-util -l

pir

如果你看到:
Cannot open DFU device 2886:001a ... (LIBUSB_ERROR_NOT_SUPPORTED)
请继续执行下面的驱动安装步骤。

  • 安装 Zadig
    • 打开 Zadig → Options > List All Devices
    • 选择 reSpeaker XVF3800 Flex
    • 安装 WinUSB 驱动
    • 对设备进行断电重启
    • 再次运行 dfu-util -l 以确认设备已被检测到。

烧录固件

从 GitHub 下载完整的固件仓库:reSpeaker Flex XVF 3800

  • 运行以下命令来烧录固件

    • dfu-util -R -e -a 1 -D /path/to/dfu_firmware.bin
  • 在 Linux 上,请使用 sudo 运行

    • sudo dfu-util -R -e -a 1 -D /path/to/dfu_firmware.bin

使用 USB 固件进行录音和回放

配置 Audacity(Windows)

  1. 打开 Audacity
  2. 进入 Audio Setup > Audio Settings

pir

  1. 设置:
    • HostWindows WASAPI
    • Recording DevicereSpeaker XVF3800 Flex
    • Channels2 (Stereo)
    • Sample Rate16000 Hz(用于 ProjectDefault Sample Rate
    • Sample Format16-bit

pir

  1. 点击 OK
  2. 一切就绪——开始录音吧!

pir

如何调参?

调参允许用户配置内置音频算法的参数,并直接与 XMOS 芯片通信。

我们提供了专用的 Python 控制接口,用于参数配置和设备交互。

Python Control Directory

使用提供的 Python 脚本,你可以:

  • 配置内置音频算法参数
  • 获取 DoA(到达方向)数据
  • 获取 VAD(语音活动检测)数据
  • 控制板载 LED
  • 控制语音处理流水线
  • 直接与 XMOS 设备通信

系统要求

使用 Python 控制接口需要以下依赖:

  • Python 3.6 或更高版本
  • pyusb Python 库
  • libusb 系统库

安装与依赖

使用以下命令安装所需的 Python 依赖:

pip install pyusb

根据你的操作系统,你可能还需要单独安装 libusb 软件包。


用法

基本语法

python xvf_host.py [options] command [value(s)...]

命令选项

OptionDescription
-l, --list列出所有支持的命令及其详细信息
--vid设置 USB Vendor ID(默认:0x2886
--pid设置 USB Product ID(默认:0x001A
--values为写入命令提供数值(可选)

使用示例

1. 列出所有可用命令

python xvf_host.py --list

显示所有支持的命令及其说明。


2. 读取固件版本信息

python xvf_host.py VERSION

从设备中读取并显示当前固件版本信息。


3. 读取 DOA(到达方向)数值

python xvf_host.py DOA_VALUE

获取麦克风阵列检测到的当前到达方向(DOA)数值。

故障排查

扬声器播放声音输出不够大?

如果 reSpeaker Flex 在 Linux 上的扬声器输出音量太小,你可能需要调整 XVF3800 声卡的 ALSA 混音器级别。按照以下步骤提高输出音量。

步骤 1:打开 ALSA Mixer

  1. 打开终端。

  2. 输入以下命令并按下 Enter

    alsamixer

步骤 2:选择 XVF3800 Flex 声卡

  1. 按下 F6 打开声卡选择菜单。
  2. 使用 上下方向键 高亮选择 XVF3800 Flex 声卡。
  3. 按下 Enter 确认选择。

步骤 3:调整 PCM-1 音量

  1. 使用 左右方向键 导航到 PCM-1
  2. 使用 上方向键 将音量级别提高到 100%

pir

步骤 4:保存 ALSA 设置

  1. 按下 ESC 退出 alsamixer
  2. 在拔掉 reSpeaker Flex 之前,运行以下命令保存你的设置:
   sudo alsactl store

步骤 5:附加选项(使用 PulseAudio)

如果在调整 ALSA 级别后仍然无法清晰听到声音,可以尝试安装 PulseAudio Volume Control 以进行更精细的音量调节:

sudo apt install pavucontrol -y

然后你可以打开 pavucontrol,在需要时将输出音量提高到 100% 以上。

刷写固件后在 Windows 中无法作为声音设备使用?

打开开始菜单并输入 Device manager。找到相关的 reSpeaker Flex 设备,右键点击它们并选择 Uninstall devices。之后,重启设备(USB 拔插),Windows 会为其重新安装正确的声卡驱动。

pir

资源

reSpeaker Flex XVF3800 圆形 step 文件

reSpeaker Flex XVF3800 线性 step 文件

reSpeaker Flex XVF3800 核心板 Step

技术支持与产品讨论

感谢你选择我们的产品!我们将为你提供多种支持,以确保你在使用我们产品时体验顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...