Skip to content

furushchev/respeaker_ros

Repository files navigation

respeaker_ros

A ROS Package for Respeaker Mic Array

Supported Devices

Preparation

  1. Install this package

    mkdir -p ~/catkin_ws/src && ~/catkin_ws/src
    git clone https://github.com/furushchev/respeaker_ros.git
    cd ~/catkin_ws
    source /opt/ros/kinetic/setup.bash
    rosdep install --from-paths src -i -r -n -y
    catkin config --init
    catkin build respeaker_ros
    source ~/catkin_ws/devel/setup.bash
  2. Register respeaker udev rules

    Normally, we cannot access USB device without permission from user space. Using udev, we can give the right permission on only respeaker device automatically.

    Please run the command as followings to install setting file:

    roscd respeaker_ros
    sudo cp -f $(rospack find respeaker_ros)/config/60-respeaker.rules /etc/udev/rules.d/60-respeaker.rules
    sudo systemctl restart udev

    And then re-connect the device.

  3. Install python requirements

    roscd respeaker_ros
    sudo pip install -r requirements.txt
  4. Update firmware

    git clone https://github.com/respeaker/usb_4_mic_array.git
    cd usb_4_mic_array
    sudo python dfu.py --download 6_channels_firmware.bin  # The 6 channels version 

How to use

  1. Run executables

    roslaunch respeaker_ros respeaker.launch
    rostopic echo /sound_direction     # Result of DoA
    rostopic echo /sound_localization  # Result of DoA as Pose
    rostopic echo /is_speeching        # Result of VAD
    rostopic echo /audio               # Raw audio
    rostopic echo /speech_audio        # Audio data while speeching

    You can also set various parameters via dynamic_reconfigure.

    sudo apt install ros-kinetic-rqt-reconfigure  # Install if not
    rosrun rqt_reconfigure rqt_reconfigure

    To set LED color, publish desired color:

    rostopic pub /status_led std_msgs/ColorRGBA "r: 0.0
    g: 0.0
    b: 1.0
    a: 0.3"

Use cases

Voice Recognition

Notes

The configuration file for dynamic_reconfigure in this package is created automatically by reading the parameters from devices. Though it will be rare case, the configuration file can be updated as followings:

  1. Connect the device to the computer.

  2. Run the generator script.

    rosrun  respeaker_ros respeaker_gencfg.py
  3. You will see the updated configuration file at $(rospack find respeaker_ros)/cfg/Respeaker.cfg.

Author

Yuki Furuta <[email protected]>

License

Apache License