Giter Site home page Giter Site logo

dcknightdc / usb_4_mic_array Goto Github PK

View Code? Open in Web Editor NEW

This project forked from respeaker/usb_4_mic_array

0.0 0.0 0.0 1.26 MB

ReSpeaker 4 Mic Array with builtin VAD, DOA, AEC, Beamforming & NS

Home Page: https://www.seeedstudio.com/ReSpeaker-Mic-Array-v2.0-p-3053.html

License: Apache License 2.0

Python 100.00%

usb_4_mic_array's Introduction

ReSpeaker USB 4 Mic Array

Available at Seeed

The ReSpeaker USB 4 Mic Array is the successor of the ReSpeaker USB 6+1 Mic Array. It has better built-in audio processing algorithms than the 6+1 Mic Array, so it has better audio recording quality, although it only has 4 microphones.

Features

  • 4 microphones
  • 12 RGB LEDs
  • USB
  • built-in AEC, VAD, DOA, Beamforming and NS
  • 16000 sample rate

Usage

Audacity is recommended to test audio recording.

Install DFU and LED control driver for Windows

On Linux and macOS, the USB 4 Mic Array will just work. On Windows, audio recording and playback will also work without installing a driver. But in order to upgrade the device's firmware or to control LEDs an DSP parameters on Windows, the libusb-win32 driver is required. We use a handy tool - Zadig to install the libusb-win32 driver for both SEEED DFU and SEEED Control (the USB 4 Mic Array has 4 devices on Windows Device Manager).

Make sure that libusb-win32 is selected, not WinUSB or libusbK

Device Firmware Update

The Microphone Array supports USB DFU. We have a python script - dfu.py to do that.

pip install pyusb
python dfu.py --download new_firmware.bin       #  with sudo if usb permission error
firmware channels note
1_channel_firmware.bin 1 processed audio for ASR
6_channels_firmware.bin 6 channel 0: processed audio for ASR, channel 1-4: 4 microphones' raw data, channel 5: playback
6_channels_firmware_6.02dB.bin 6 same as 6_channels_firmware.bin, but 4 microphones have a 6.02dB gain
6_channels_firmware_12.04dB.bin 6 same as 6_channels_firmware.bin, but 4 microphones have a 12.04dB gain
48k_1_channels_firmware.bin 1 48k sample rate, 1 input channel
48k_6_channels_firmware_6.02dB.bin 6 s48k sample rate, 1 input channel, 6.02dB gain

How to control the RGB LED ring

The USB 4 Mic Array has on-board 12 RGB LEDs and has a variety of light effects. Go to the respeaker/pixel_ring to learn how to use it. The LED control protocol is at respeaker/pixel_ring wiki.

Tuning

There are some parameters of built-in algorithms to configure. For example, we can turn off Automatic Gain Control (AGC):

python tuning.py AGCONOFF 0i6_firmware.bin

To get the full list parameters, run:

python tuning.py -p

Realtime sound source localization and tracking

ODAS is a very cool project to perform sound source localization, tracking, separation and post-filtering. Let's have a try!

  1. get ODAS and build it
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. get ODAS Studio from https://github.com/introlab/odas_web/releases and open it.

The odascore will be at odas/bin/odascore, the config file is at odas.cfg. Change odas.cfg based on your sound card number.

    interface: {
        type = "soundcard";
        card = 1;
        device = 0;
    }
  1. upgrade your usb 4 mic array with 6_channels_firmware_6.02dB.bin (or 6_channels_firmware.bin, 6_channels_firmware_12.04dB.bin) which includes 4 channels raw audio data.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.