Skip to content

Latest commit

 

History

History
98 lines (71 loc) · 5.01 KB

File metadata and controls

98 lines (71 loc) · 5.01 KB

ReSpeaker USB 4 Mic Array (中文说明)

购买链接: Seeed

ReSpeaker USB 4 Mic Array(4麦克风阵列)是前代 6+1 麦克风阵列的升级版。其内置了更先进的音频处理算法,因此尽管只有 4 个麦克风,录音质量反而更上一层楼。

特性

  • 4 个麦克风
  • 12 颗 RGB 可编程 LED
  • 免驱 USB 接口
  • 内置算法支持:AEC(声学回声消除)、VAD(语音激活检测)、DOA(到达方向/声源定位)、Beamforming(波束成形)和 NS(噪声抑制)
  • 16000 采样率

使用方式

建议使用 Audacity 等音频软件来测试录音效果。

Windows 环境安装 DFU 及 LED 控制驱动

LinuxmacOS 上,本麦克风阵列处于免驱工作模式(即插即用)。在 Windows 上,录音和音频播放也同样免驱。但如果您希望在 Windows 上升级固件或控制 LED 与 DSP 参数,则必须安装 libusb-win32 驱动。

我们推荐使用一款极其方便的工具:Zadig,来为 SEEED DFUSEEED Control 设备强制安装 libusb-win32 驱动。(在 Windows 的设备管理器中,该阵列会显示为 4 个子设备)。

注意:请务必在工具中选择 libusb-win32,而不是 WinUSB 或 libusbK。

固件升级 (DFU)

阵列支持通过 USB 进行 DFU(Device Firmware Update)。我们提供了一个脚本 dfu.py 来实现此目的。

最新优化过的项目中已全面采用 uv 为您执行快速并隔离的环境配置:

uv sync   # 安装依赖
uv run python dfu.py --download new_firmware.bin       #  如果出现 USB 权限错误,Linux请加 sudo
固件名 通道数 说明
1_channel_firmware.bin 1 为 ASR (自动语音识别) 优化处理后的单路混合音频
6_channels_firmware.bin 6 通道0: 取向优化的语音; 通道1-4: 4个麦克风的原始数据; 通道5: 回波消除的参考播放音频

示例代码与功能优化

基于原厂支持,当前仓库深度优化并补充了一系列便于直接测试特性的实用脚本,并已全面支持 Python 3.10+ 版本与主流操作系统

优化亮点汇总:

  1. 全系切至现代包管理器 uv:废弃遗留的全局 pip 模式,采用 pyproject.toml 标准管理。
  2. 语法兼容性修复:修复底层 tuning.py 在最新版 Python 下的 tostring 方法调用报错。
  3. 跨平台 LED 驱动:从项目中剥离了仅限 Linux/树莓派工作 (spidev) 的原版 pixel-ring 依赖,集成了纯 USB 指令版的 usb_pixel_ring_v2.py 以兼容 Mac/Windows。

请确保先执行过 uv sync 构建专属虚拟环境。以下为测试清单:

  • get_index.py: 获取本地所有音频设备列表,以提取当前 PyAudio 的设备ID。
  • DOA.py: 调用内置波束成形硬件算法,获取当前说话人的声源到达方向角 (0 - 359°)。
  • VAD.py: 监控当前是否侦测到人声。
  • record.py: 利用 PyAudio 读取指定声道的原始录音。(通过 get_index.py 得到ID后填入 RESPEAKER_INDEX;通道数请配合您当前刷入的固件版本更改 RESPEAKER_CHANNELS)。
  • tracking_led.py: 【新增趣味互动演示】智能聚光灯! 结合 VAD 和 DOA 数据:当有人说话时,灯光立刻如雷达般苏醒并高亮指向说话者方位;安静时则恢复为微弱的呼吸“思考”模式。它采用了护眼温馨的定制级琥珀色调(Amber)及舒适的亮度方案。

运行方式示例:

uv run python get_index.py
uv run python DOA.py
uv run python VAD.py
uv run python record.py
uv run python tracking_led.py

硬件参数调优 (Tuning)

你可以自由控制阵列内置算法模块的开关,例如关闭自动增益控制 (AGC) 功能:

uv run python tuning.py AGCONOFF 0

查看全部可供配置的底层算法参数列表:

uv run python tuning.py -p

实时声源声学定位与追踪可视化 (ODAS)

ODAS 是一个非常炫酷的项目,专门用于执行实时的声源定位、跟踪、分离与后滤波等。推荐尝试:

  1. 获取 ODAS 并编译 (需在 Linux 上测试演示)
sudo apt-get install libfftw3-dev libconfig-dev libasound2-dev
git clone https://github.com/introlab/odas.git --branch=dev
mkdir odas/build
cd odas/build
cmake ..
make
  1. 随后从 https://github.com/introlab/odas_web/releases 下载并打开 UI 工具 ODAS Studio。

  2. 烧录阵列为 6 通道固件 (以采集到四个麦克风分离的原始数据用于追踪)。您即可在其炫酷界面上看到实时 3D 方位定位!