element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Project14
  • Challenges & Projects
  • More
Project14
Blog Direction of Arrival for MATRIX Voice/Creator Using ODAS
  • Blog
  • Forum
  • Documents
  • Theme Suggestions
  • Polls
  • Members
  • More
  • Cancel
  • New
Join Project14 to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: matrixlabs
  • Date Created: 5 Jun 2019 11:39 PM Date Created
  • Views 2703 views
  • Likes 2 likes
  • Comments 0 comments
  • research
  • matrix voice
  • audio
  • hardware
  • matrix labs
  • doa
  • matrix creator
Related
Recommended

Direction of Arrival for MATRIX Voice/Creator Using ODAS

matrixlabs
matrixlabs
5 Jun 2019

This guide shows you how to use the MATRIX Creator or MATRIX Voice with ODAS, a library for direction of arrival, tracking, and much more.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

What is ODAS?

ODAS stands for Open embeddeD Audition System. This is a library dedicated to perform sound source localization, tracking, separation and post-filtering. ODAS is coded entirely in C, for more portability, and is optimized to run easily on low-cost embedded hardware. ODAS is free and open source. Find more at: https://github.com/introlab/odas

Required Hardware

Before getting started, let's review what you'll need.

  • Raspberry Pi 3 (Recommended). Not tested yet in Pi 2 Model B.
  • MATRIX Voice or MATRIXCreator - Raspberry Pi does not have a built-in microphone, the MATRIX Voice/Creator have an 8 mic array - Buy MATRIX Voice/MATRIX Creator.
  • Micro-USB power adapter for Raspberry Pi.
  • Micro SD Card (Minimum 8 GB) - An operating system is required to get started. You can download Raspbian Stretch and use etcher.io to flash the image onto your SD Card.
  • A USB Keyboard & Mouse, and an external HDMI Monitor - we also recommend having a USB keyboard and mouse as well as an HDMI monitor handy. You can also use the Raspberry Pi remotely through SSH, see this guide from Google.
  • Internet connection (Ethernet or WiFi). Note: Pi 3 has built-in WiFi.

 

Let's get started

Make sure you have the Raspberry Pi running with your MATRIX board and SD card image with Raspbian flashed before starting. Install the following commands into your Raspberry Pi's terminal.

1. Installing MATRIX Software

Add Repository & Key

curl https://apt.matrix.one/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.matrix.one/raspbian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/matrixlabs.list

 

Update Packages & Install

sudo apt-get update
sudo apt-get upgrade

 

Install MATRIX Dependancies (one at a time)

sudo apt install matrixio-creator-init
sudo apt install libmatrixio-creator-hal
sudo apt install libmatrixio-creator-hal-dev

 

Reboot Your Device

sudo reboot

 

Install MATRIX Kernel Modules

sudo apt install matrixio-kernel-modules

 

Reboot Once More

sudo reboot

 

2. Installing ODAS

Install Required Dependancies (one at a time)

sudo apt-get install g++ git cmake
sudo apt-get install libfftw3-dev
sudo apt-get install libconfig-dev
sudo apt-get install libasound2-dev
sudo apt install libjson-c-dev

 

Clone & Build Our ODAS Repository

cd ~/
git clone https://github.com/matrix-io/odas.git
cd odas
git checkout yc/add-matrix-demo
mkdir build
cd build
cmake ..
make

 

3. Run the demo!

We need to run two applications. The first is called odaslive, this app performs all of the audio processing. The second we need to run the matrix-odas app that receives the results and use them to draw colors into the MATRIX Everloop.

Run matrix-odas:

cd ~/odas/bin
./matrix-odas &

Run odaslive in the same terminal:

for MATRIX Voice:

./odaslive -vc ../config/matrix-demo/matrix_voice.cfg

for MATRIX Creator use:

./odaslive -vc ../config/matrix-demo/matrix_creator.cfg

Make some noise!... you should see a blue lights indicating where the sound is coming from.

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

ODAS running in a Raspberry Pi with a MATRIX Voice board.

Additional:

You can also run ODAS Studio to see a better visualization of the results from odaslive. Keep in mind that this cannot run with matrix-odas app

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

To Use ODAS Studio:

Have the ODAS Core app running on your Raspberry Pi and ODAS Studiorunning on your personal computer. Your Pi will use a TCP socket to connect to your personal computer.

On your personal computer, download the ODAS Studio repository and follow the installation "From sources".

The last step is to insert your personal computer's IP address into the ODAS Core configuration file. Insert the following command into your Raspberry Pi and edit the configuration file located at:

for MATRIX Voice

nano  ~/odas/config/odaslive/matrix_voice.cfg

for MATRIX Creator

nano  ~/odas/config/odaslive/matrix_creator.cfg

Replace the <IP> in each ip = "<IP>" lines with the IP address of your personal computer (there are 4 lines in total). Use <Ctrl + x>, press y, and then press enter to save your changes.

With ODAS Studio running on your personal computer, run odaslive in the Raspberry Pi with the following command:

for MATRIX Voice

~/odas/bin/odaslive -vc ~/odas/config/odaslive/matrix_voice.cfg

for MATRIX Creator

~/odas/bin/odaslive -vc ~/odas/config/odaslive/matrix_creator.cfg

Your Raspberry Pi should now connect to ODAS Studio and show your a graphical visualization of the sound your MATRIX device is receiving.

Please post any questions and suggestions you have in our MATRIX Community!

For an example running ODAS to turn a servo motor in the direction of arrival using ODAS, check our live stream tutorial for it below.

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube