Skip to main content

ReSpeaker XVF3800 入门指南

概述​

ReSpeaker XVF3800 USB 4-Mic Array 是一款搭载 XMOS XVF3800 的专业级 4 麦克风环形阵列,具备 AEC、AGC、DoA、波束成形、VAD、噪声抑制、去混响、360° 语音采集(最远 5m)以及双工作模式,可用于高级语音应用。

pir

特性​

  • 芯片升级 :从 XVF3000 升级到 XVF3800

  • 四麦克风阵列 :4 个高性能麦克风组成的环形阵列,可实现 360° 远场语音采集,距离可达 5 米

  • 高级音频处理 :由 XVF3800 提供算力,支持 AEC、多波束成形、去混响、DoA 检测、动态噪声抑制、60dB AGC 范围

  • 唯一设备序列号 :内置 SN,支持多设备部署和高级设备管理

  • 双工作模式 :USB 即插即用模式可快速连接 PC,INT-Device(I2S)模式可集成到嵌入式系统中——可通过 USB 或 I2C 命令配置,并通过切换固件实现

  • 开源兼容性 :可作为 USB 主机(Windows、macOS、Raspberry Pi OS)和 I2S 主机(XIAO 系列、ESP32、Arduino)的音频前端。

  • 可视化反馈 :可编程 RGB LED 和状态指示灯用于显示设备状态和语音活动

  • 音频质量相当或更好 :与上一代产品相比

硬件概览​

pir

主要组件​

组件 / 特性描述
主音频处理器XMOS XVF3800,负责包括 AEC、波束成形、噪声抑制等在内的音频处理。
麦克风阵列环形排布的 四路 PDM MEMS 麦克风,支持 360° 远场语音采集(5m)。
音频编解码器TLV320AIC3104,负责音频转换和输出。
RGB LED12 颗 WS2812 可单独寻址的 RGB LED,用于可视化反馈(如状态、语音活动)。
静音按键按下可 静音/取消静音 麦克风输入。
静音指示 LED点亮(通常为红色)表示音频已被静音。
复位按键为板卡/系统提供硬件复位。
USB Type-C 接口用于 供电和数据传输(符合 USB Audio Class 2.0)。
3.5mm AUX 耳机插孔为耳机或有源音箱提供音频输出。
扬声器连接器JST 扬声器接口,支持 5W 功放扬声器。
调试焊盘为 XTAG4 或其他编程器提供调试访问。
I2C 与 I2S 排针暴露的排针用于与外部设备进行 I2C 和 I2S 通信。
未使用 IO 焊盘(XIAO)连接到 XIAO 模块的额外 I/O 焊盘。
I2S 与 I2C 通信通过这些协议支持与 Raspberry Pi、PC 等外部主机连接。
USB 与 INT-Device 模式双模式工作:即插即用 USB 模式或通过 I2S 的内部 INT 设备模式。
唯一序列号内置 设备 SN,用于设备识别和多设备管理。
开源兼容性可与 Arduino、Raspberry Pi、PC/Mac 协同工作,并兼容 XIAO 系列。
高级音频特性AEC、波束成形、去混响、DoA 检测、基于 DNN 的噪声抑制、60dB AGC。
可视化反馈通过 RGB LED 灯效 和 状态指示灯 显示设备状态和音频活动。
音频质量与 基于 XVF3000 的上一代设计 相当或更佳。
note

ReSpeaker XVF3800 提供两个版本——一个不带 XIAO,另一个板载 XIAO ESP32S3。不带 XIAO 的版本使用默认 USB 固件工作。若要使用集成 XIAO 的版本,必须烧录为 INT-Device(I2S)模式 构建的固件。有关详细的设置说明,请参考官方 wiki 指南。

XIAO ESP32S3 支持​

  • 立体声 I2S 输入/输出,支持多种输出选项;I2C 接口用于配置和管理 XVF3800 参数。
  • 通过 IO 引脚复位 XIAO
  • 接口与焊盘

引脚分布​

pir

pir

GPIO 概览​

reSpeaker XVF3800 暴露了 3 个输入引脚(GPI)和 5 个输出引脚(GPO)用于外部控制。你可以使用它们读取按键状态,或控制静音 LED、功放或其他 LED 等硬件。

引脚名称方向功能
X1D09输入 (RO)静音按键状态(释放时为高电平)
X1D13输入 (RO)悬空
X1D34输入 (RO)悬空
X0D11输出 (RW)悬空
X0D30输出 (RW)静音 LED + 麦克风静音控制(高电平 = 静音)
X0D31输出 (RW)功放使能(低电平 = 使能)
X0D33输出 (RW)WS2812 LED 供电控制(高电平 = 打开)
X0D39输出 (RW)悬空

入门指南​

硬件准备​

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

软件准备​

开箱即用​

note

为确保最佳的语音拾取性能以及音频算法的正常运行,请确保设备背面上的麦克风端口(Mic Inlet / Sound Hole)朝向声源。麦克风端口位于印有 Seeed Studio 标志的一侧。

pir

DOA(到达方向)​

你可以体验 LED 阵列跟随语音入射方向变化的效果。

静音按键​

pir

ReSpeaker 上的 静音按键(Mute button) 用于临时 禁用麦克风阵列的语音采集。 按下静音按键会发生什么?

  • 麦克风被静音 —— 外部声音将不再被采集或处理。
  • 红色 LED 会点亮,表示 静音模式已激活。
  • 这意味着 ReSpeaker 将 不会向你的电脑或主机设备发送任何音频输入。

使用 Audacity 自行体验

pir

复位按键​

复位(RST)按键提供对 XVF3800 的硬件复位——按下时会重新启动芯片,并从最初状态重新初始化系统,就像执行了一次完整的断电重启。

pir

扬声器连接​

你可以根据自己的音频输出偏好,通过 3.5mm AUX 耳机插孔或板载 JST 扬声器接口来连接扬声器。

pir

pir

安全模式​

安全模式是 ReSpeaker XVF3800 上的一种特殊恢复模式,它允许你通过 USB DFU 或 I2C 为设备(如 Raspberry Pi 和 ESP32)烧录固件。如果你之前已经烧录了 I2S 固件并希望切换回 USB 固件,可以进入安全模式,然后使用 USB DFU 重新烧录 USB 固件。

note

ReSpeaker XVF3800 上的每种固件类型支持不同的更新方式:

  • USB 固件仅支持 USB DFU,这意味着你可以通过 USB 连接来更新设备。但是,它不支持 I2C DFU。

  • I2S 固件则相反——它支持 I2C DFU,允许通过 I2C 接口进行固件更新,但不支持 USB DFU。

  • 存储在 Factory 分区中的 **安全模式固件(Safe Mode firmware)**是最灵活的。它同时支持 USB DFU 和 I2C DFU。

何时使用安全模式(Safe Mode)

  • 你的固件工作异常(例如 USB 无法被识别、LED 未按预期点亮)。
  • 你需要重新烧录新固件,但当前固件没有响应。
  • 你不小心烧录了错误的内容,需要恢复。

如何进入安全模式(Safe Mode)

  • 完全关闭设备电源。
  • 按住 Mute 按钮不放。
  • 在按住 Mute 按钮的同时,重新接通电源。
  • 红色 LED 会开始闪烁——这表明设备已进入安全模式。
  • 此时设备运行的是存储在 Factory 分区中的安全模式固件。

更新固件​

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

note

不要使用“另存为(save as)”从 GitHub 下载固件文件,否则文件会损坏。请克隆仓库,或使用“Download as ZIP”将整个仓库(及其中所有文件)作为 ZIP 文件下载。

USB 固件​

USB 固件面向 Windows、Linux 和 macOS 等主机系统。官方 USB 固件更新日志将 v2.1.0 标记为当前版本,而当前固件目录中包含以下 v2.1.0 镜像:

固件镜像仓库标注的 USB 配置文件
respeaker_xvf3800_usb_dfu_firmware_v2.1.0.bin标准 v2.1.0 USB 镜像。其文件名未标明采样率或通道数。
respeaker_xvf3800_usb_dfu_firmware_v2.1.0_16k6ch.bin16 kHz、6 通道 USB 镜像。
respeaker_xvf3800_usb_dfu_firmware_v2.1.0_48k2ch.bin48 kHz、2 通道 USB 镜像。

选择与应用需求相匹配的配置文件所对应的镜像。对于 48 kHz、双通道 USB 采集,请使用带有 _48k2ch 的那个镜像;不要从通用的 v2.1.0 文件名推断其支持 48 kHz。

固件目录和更新日志并未发布这些二进制文件的 USB 音频类描述符转储。在烧录之后,请在配置录音应用之前,先在主机上验证其报告的格式。在没有设备描述符证据的情况下,不要声称 USB 采样位宽或任何额外的采样率 / 通道组合。

通过 USB 线将 reSpeaker XVF3800 连接到电脑。注意,你需要使用 XMOS 的 USB-C 接口(靠近 3.5mm 插孔的那个)来烧录 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

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

dfu-util -V

pir

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

pir

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

  • 安装 Zadig
    • 打开 Zadig → Options > List All Devices
    • 选择 reSpeaker 3800 或 reSpeaker XVF3800 4-Mic Array
    • 安装 WinUSB 驱动
    • 重新上电设备
    • 再次运行 dfu-util -l 以确认设备已被检测到。

烧录固件​

从 GitHub 在此处下载完整固件仓库XMOS 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
  • -R 选项会在烧录完成后自动重启开发板。

pir

  • 再次使用 dfu-util -l 命令检查固件版本,以确保新固件已成功烧录

录音与回放​

配置 Audacity(Windows)​

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

pir

  1. 设置如下:
    • Host:Windows WASAPI
    • Recording Device:reSpeaker 3800
    • Channels:2 (Stereo)
    • Sample Rate:16000 Hz(用于 Project 和 Default Sample Rate)
    • Sample Format:24-bit

pir

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

pir

如何调参?​

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

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

Python 控制目录

使用提供的 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)...]

命令选项

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

使用示例​

列出可用命令

显示所有支持的固件命令。

python xvf_host.py --list

读取固件版本

获取当前在设备上运行的固件版本。

python xvf_host.py VERSION

示例输出

VERSION: [2, 0, 7]

读取声源到达方向(DOA)

获取检测到的声源方向。

python xvf_host.py DOA_VALUE

示例输出

DOA_VALUE: [135]

设置 LED 颜色

使用十六进制 RGB 值配置 LED 颜色。

python xvf_host.py LED_COLOR --values 0xFF0000

设置 LED 亮度

调整 LED 亮度百分比。

python xvf_host.py LED_BRIGHTNESS --values 50

读取麦克风阵列几何结构

获取声学处理算法使用的麦克风坐标。

python xvf_host.py AEC_MIC_ARRAY_GEO

示例输出

AEC_MIC_ARRAY_GEO:
[0.033, -0.033, 0.000,
0.033, 0.033, 0.000,
-0.033, 0.033, 0.000,
-0.033, -0.033, 0.000]

reSpeaker XVF_HOST 应用程序​

xvf_host 应用程序是一个主机端工具,用于通过 USB 与 reSpeaker XVF3800 通信。它可用于读取或修改 XVF3800 控制参数、检查固件版本、读取 GPIO 值,以及访问诸如声源到达方向(DoA)等功能。

主机控制应用程序可以在这里找到

主机应用程序文件​

主机应用程序位于仓库的 host_control 目录下。

典型的平台目录包括:

host_control/
├── linux_x86_64/
├── mac_arm64/
├── win32/
└── ...

每个平台目录都包含主机应用程序以及该应用程序所需的库。

例如:

Windows

host_control/win32/
├── command_map.dll
├── device_usb.dll
└── xvf_host.exe

Linux

host_control/linux_x86_64/
├── libcommand_map.so
├── libdevice_usb.so
└── xvf_host

macOS

host_control/mac_arm64/
├── libcommand_map.dylib
├── libdevice_usb.dylib
├── libusb-1.0.0.dylib
└── xvf_host

重要: 当将主机应用程序复制到另一台计算机时,请保持完整的平台目录在一起。可执行文件依赖于位于同一目录中的库。

1. 连接 XVF3800

通过 USB 将 reSpeaker XVF3800 连接到 Windows 电脑。

2. 打开命令提示符或 PowerShell

进入 Windows 主机应用程序目录:

cd C:\path\to\reSpeaker_XVF3800_USB_4MIC_ARRAY\host_control\win32

3. 检查主机应用程序

运行:

xvf_host.exe --help

如果应用程序工作正常,将会显示帮助信息。

要显示所有可用的控制命令:

xvf_host.exe --list-commands

--list-commands 选项会显示主机应用程序支持的命令。

4. 检查 XVF3800 连接

运行:

xvf_host.exe VERSION

成功连接后,输出应类似于:

Device (USB)::device_init() -- Found device VID: 10374 PID: 26 interface: 3
VERSION 2 0 10

固件版本取决于安装在 XVF3800 上的固件。

VERSION 命令是验证 xvf_host.exe 能否与 XVF3800 通信的一种简单方式。

5. 读取 GPI 值

xvf_host.exe GPI_READ_VALUES

6. 读取 GPO 值

xvf_host.exe GPO_READ_VALUES

7. 读取声源到达方向(DoA)

xvf_host.exe AEC_AZIMUTH_VALUES

返回的方位角值可用于确定检测到的声源方向。

8. 列出可用命令

要查看所有可用的 XVF3800 主机命令:

xvf_host.exe --list-commands

然后你可以使用以下格式调用任意受支持的命令:

xvf_host.exe <COMMAND>

例如:

xvf_host.exe VERSION

常用命令​

以下命令对于基本的 XVF3800 测试非常有用:

CommandDescription
--help显示 Host 应用程序帮助
--list-commands显示可用的 XVF3800 命令
VERSION读取 XVF3800 固件版本
GPI_READ_VALUES读取 GPI 值
GPO_READ_VALUES读取 GPO 值
AEC_AZIMUTH_VALUES读取当前 DoA/方位角值

更多命令可以在这里找到

reSpeaker 控制台应用程序​

我们准备了一个桌面应用程序,用于控制和配置你的 reSpeaker 设备。

通过这个应用程序,你可以:

  • 连接到你的 reSpeaker 设备
  • 配置音频设置(噪声抑制、增益、AEC 和通道配置)
  • 监控声源方向 (DoA) 和语音活动检测 (VAD)
  • 控制 LED 效果
  • 调整设备参数

安装应用程序​

从以下地址下载最新版本:

https://github.com/respeaker/respeaker-console/releases

PlatformArchitecturePackage Type
Windowsx64.msi / .exe
macOSApple Silicon.dmg (aarch64)
macOSIntel.dmg (x86_64)
Linuxx64.deb / .AppImage

Windows:USB 驱动设置​

首次使用该应用程序前,请使用 Zadig 安装 WinUSB 驱动。

步骤 1: 下载并运行 Zadig。

步骤 2: 选择 Options → List All Devices。

步骤 3: 在设备列表中选择 reSpeaker 3800 或 reSpeaker XVF3800 4-Mic Array。

步骤 4: 选择 WinUSB 作为驱动。

步骤 5: 点击 Install Driver。

步骤 6: 拔下并重新连接设备。

步骤 7: 运行以下命令以验证设备是否被检测到:

dfu-util -l
note

dfu-util.exe 已与应用程序打包在一起,因此无需单独安装。

Linux:安装 dfu-util 并配置 USB 权限​

安装 dfu-util:

sudo apt install dfu-util

USB 访问还需要一个 udev 规则。

创建以下文件:

/etc/udev/rules.d/99-respeaker.rules

添加以下内容:

SUBSYSTEM=="usb", ATTRS\{idVendor\}=="2886", MODE="0666", GROUP="plugdev"

重新加载 udev 规则:

sudo udevadm control --reload-rules && sudo udevadm trigger

最后,断开并重新连接你的设备。

macOS:安装 dfu-util​

在使用固件更新功能之前,请先安装 dfu-util。

brew install dfu-util

使用应用程序​

安装应用程序后,启动它以访问 reSpeaker Console。

接下来我们依次介绍侧边栏中的各个部分。

设备连接​

首先,连接你的 reSpeaker 设备。

  1. 点击 Scan Devices。
  2. 应用程序会列出所有检测到的设备。
  3. 选择你的设备。
  4. 点击 Connect 建立连接。

Device Connection

Device Connection

Audio​

Audio 选项卡允许你配置和增强音频处理流程。

在这里你可以配置:

  • 非平稳噪声抑制
  • 平稳噪声抑制
  • 自动增益控制 (AGC)
  • 声学回声消除 (AEC)
  • 输出通道配置
  • 左右声道映射

Audio Tab

Monitor​

Monitor 选项卡提供麦克风处理的实时可视化。

你可以监控:

  • 声源方向 (DoA)
  • 语音活动检测 (VAD)
  • 波束能量水平

这些指示器有助于你确认设备是否正确检测到语音。

Monitor Tab

LEDs​

LEDs 选项卡允许你自定义 LED 灯环。

可用功能包括:

  • 呼吸效果
  • 彩虹效果
  • 环形效果
  • 亮度调节
  • 动画速度控制
  • RGB 颜色选择

LEDs Tab

Parameters​

Parameters 选项卡提供对所有可配置设备参数的访问。

这些设置按以下类别进行组织,例如:

  • Audio
  • 声学回声消除 (AEC)
  • 后处理
  • LEDs / GPIO
  • 系统

通过此界面,你可以直接更新参数值。

每个参数都包含说明,帮助你了解其用途和推荐取值范围。

Parameters Tab

故障排查​

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

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

步骤 1:打开 ALSA Mixer

  1. 打开终端。

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

    alsamixer

步骤 2:选择 XVF3800 声卡

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

步骤 3:调整 PCM-1 音量

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

pir

步骤 4:保存 ALSA 设置

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

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

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

sudo apt install pavucontrol -y

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

重新安装 USB 驱动后,我的 ReSpeaker 无法录音和播放​

在设备管理器中卸载与 ReSpeaker 相关的所有驱动程序。这样可以解决该问题。

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

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

pir

如何在不损坏外壳的情况下打开它?​

你可以用指甲轻轻撬起外壳边缘。外壳盖由三个卡扣固定。一旦释放其中一个卡扣,外壳就可以比较容易地打开。请小心操作外壳,以避免损坏卡扣或外壳本体。

为什么我的 reSpeaker XVF3800 没有被检测为声音设备?​

reSpeaker XVF3800 ESP32 版本默认预装的是 I2S 固件,因此连接到电脑时不会显示为 USB 音频设备。此信息已在我们的 Bazaar 产品页面和官方文档中说明。

如果你想将该设备用作 USB 音频设备,需要重新刷写 USB 固件。请按照以下步骤操作:

  1. 首先进入安全模式: 安全模式说明

  2. 刷写 USB 固件: 固件更新说明

为什么在 XVF3800 6 通道固件下有些通道是静音的?​

在刷写 6 通道固件后,可能需要通过系统的音频混音器控制来启用原始麦克风通道。

在 Linux 上,首先检查声卡 ID:

arecord -l

例如,如果 XVF3800 显示为 card 1,请启用采集通道并设置其音量:

amixer -c 1 cset numid=8 on,on,on,on,on,on
amixer -c 1 cset numid=10 60,60,60,60,60,60

根据需要调整音量值,然后保存设置:

sudo alsactl store 1

应用这些设置后,所有六个通道都应能采集到非零音频信号。

Windows: 如果某些通道仍然没有声音,请尝试在 设备管理器(Device Manager) 中卸载 XVF3800 设备驱动程序,然后拔下并重新连接设备。这样可以让 Windows 重新配置设备和驱动程序。

如何使用 I2C 命令通过 XIAO ESP32S3 控制 reSpeaker XVF3800 USB Mic Array?​

我们提供了详细的 I2C 命令列表和代码示例。请参考 Using I2C Commands to Control reSpeaker XVF3800 USB Mic Array with XIAO ESP32S3 章节。

资源​

参考资料​

技术支持与产品讨论​

感谢您选择我们的产品!我们将为您提供多种支持,以确保您在使用我们产品的过程中尽可能顺利。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...