respeaker
Rust USB control library for the Seeed ReSpeaker Mic Array v2.0 (2886:0018).
Covers:
- LED ring — same vendor protocol as
pixel_ring (usb_pixel_ring_v2.py)
- DSP tuning — same vendor protocol as
tuning.py (AEC/AGC/NS/DOA/VAD, …)
Example
use respeaker::ReSpeaker;
fn main() -> respeaker::Result<()> {
let dev = ReSpeaker::open()?;
dev.led().off()?;
println!("DOA: {}°", dev.tuning().doa_angle()?);
Ok(())
}
CLI example (clap)
Exercises every LED mode and DSP parameter:
cargo run --example cli -- --help
cargo run --example cli -- test-all
cargo run --example cli -- test-all --delay-ms 300
cargo run --example cli -- led mono --color ff0000
cargo run --example cli -- led customize
cargo run --example cli -- param read-all
cargo run --example cli -- doa
Permissions (Linux)
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="2886", ATTR{idProduct}=="0018", MODE="0666"' \
| sudo tee /etc/udev/rules.d/60-respeaker.rules
sudo udevadm control --reload-rules && sudo udevadm trigger