Code Monkey home page Code Monkey logo

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

Note: The flash memory of XVF3000 has updated from 90nm to 65nm, the Jedec ID between the 90nm and 65nm flash memories has a 1-bit different. This will cause the new device not upgradable after you download old firmware(v2.0.0 or below) to an new device. The new firmware(v3.0.0 or above) is already compatible with old device and new device, so we advise customers to use the new firmware when DFU. The new 65nm flash memory device will use new part numbers with a suffix 'A' as the following picture:

Summary of programming and dfu scenarios:

hardware factory programmed DFU firmware outcome
1 old device any any DFU succeed, device operates correctly and upgradeable
2 new device (XVF3000 with a suffix 'A') 3.0.0 3.0.0 or above DFU succeed, device operates correctly and upgradeable
3 new device (XVF3000 with a suffix 'A') 3.0.0 2.0.0 or below DFU succeed, device operates correctly, but not upgradeable

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.

usb_4_mic_array's People

Contributors

xiongyihui avatar jerryyip avatar benklop avatar gillesdebunne avatar ainsfei avatar matsujirushi avatar

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.