ODAS can process the eight-microphone input from a MATRIX Voice or MATRIX Creator and estimate where a sound is coming from. It reports direction of arrival (DOA), not the sound source’s distance. The available MATRIX Labs walkthrough is from 2019 and targets Raspbian Stretch, so treat its installation commands as historical and check current Raspberry Pi OS, driver, and package compatibility before using them.
What ODAS does—and what its output means
ODAS (Open embeddeD Audition System) is an open-source C library for sound-source localization, tracking, separation, and post-filtering on embedded hardware. Its pipeline takes multichannel audio from a recording or sound card, estimates candidate directions, and tracks sources over time. It can also use estimated directions for beamforming to separate target audio. Depending on configuration, DOA results can be sent to a terminal, a file, or a TCP/IP socket; ODAS Studio is a separate interface for visualizing directions.
A DOA estimate describes the direction sound reaches the array—typically in terms of azimuth and elevation—not how far away the source is. IntRoLab’s ODAS FAQ states: “ODAS will provide you with the direction of arrival, but not the distance.” One compact array cannot infer source distance from that direction estimate alone. Estimating a 3D position by triangulation can use multiple arrays separated by a distance comparable to the source distance.
What you need for a MATRIX setup
The MATRIX Labs walkthrough demonstrates both MATRIX Voice and MATRIX Creator as eight-microphone inputs on Raspberry Pi. It recommends a Raspberry Pi 3, a MATRIX board, a micro-USB power supply, a microSD card of at least 8 GB, and network access. A keyboard, mouse, and HDMI monitor are suggested for local setup; SSH is an alternative. The tutorial says Pi 2 Model B had not yet been tested. These are the tutorial’s 2019 recommendations, not confirmation of current compatibility.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minute#1 Best Overall
- Equipped with ESP32-S3-N32R16 Xtensa 32-bit LX7 dual-core processor, up to 240MHz main frequency。 Supports 2.4GHz Wi-Fi (802.11 b/g/n) and Bluetooth 5 (LE)。 Built in 512KB Static RAM and 384KB ROM, with onboard 32MB Flash memory and 16MB PSRAM
- Compatible with the full product line of Waveshare LED RGB matrix panels, and can smoothly run graphical interface programs such as LVGL. Onboard ES7210 echo cancellation chip for improved voice processing performance。 Onboard ES8311 low-power audio codec chip, supporting high-quality audio input and output
- Equipped with dual microphones array for audio algorithms such as noise reduction and echo cancellation, suitable for accurate speech recognition and voice wake-up applications。 Onboard speaker header, supports audio playback output, and can be connected directly to a speaker。 Onboard QMI8658 6-axis IMU (3-axis accelerometer and 3-axis gyroscope) for detecting motion gesture, etc.
- Integrated SHTC3 temperature and humidity sensor for accurate environmental monitoring. Onboard TF card slot for extended storage of images, audio, and various file types, making it convenient for reading and writing data. Onboard PCF85063 RTC chip with a reserved SH1.0 batt connector, enabling continuous timekeeping during power loss
- Reserved GPIO expansion header for peripheral expansion and custom function development, supporting diverse application requirements. Dual power supply ports design, supporting stable operation of up to six 64 × 64 RGB Matrix panels, with cascading support for large-scale display applications. Onboard USB Type-C port for power supply, firmware programming, and debugging. Onboard RST and BOOT programmable buttons for easy custom function development
MATRIX Voice documentation describes eight microphone channels with signed 16-bit audio and lists sample rates from 8 to 96 kHz. MATRIX Creator also has an eight-microphone array, but the two boards have different microphone layouts. The walkthrough therefore uses different configurations: matrix_voice.cfg and matrix_creator.cfg. Do not assume that one board’s geometry or configuration can be used for the other.
The MATRIX Voice setup documentation lists several Raspberry Pi models, a 5 V, 2.5 A micro-USB supply, and a microSD card with Raspbian. That is legacy documentation and should not be treated as a current support guarantee. Confirm that your OS image, board driver or kernel module, and audio capture path work together before building ODAS.
Rank #2
- Equipped with ESP32-S3-N32R16 Xtensa 32-bit LX7 dual-core processor, up to 240MHz main frequency. Powerful AI Computing Capability & Reliable security features, designed for AIoT applications. Supports 2.4GHz Wi-Fi (802.11 b/g/n) and Bluetooth 5 (LE). Built in 512KB Static RAM and 384KB ROM, with onboard 32MB Flash memory and 16MB PSRAM.
- Compatible with the full product line of LED RGB matrix panels, and can smoothly run graphical interface programs such as LVGL. Onboard ES7210 echo cancellation chip for improved voice processing performance. Onboard ES8311 low-power audio codec chip, supporting high-quality audio input and output.
- Equipped with dual microphones array for audio algorithms such as noise reduction and echo cancellation, suitable for accurate speech recognition and voice wake-up applications. Onboard speaker header, supports audio playback output, and can be connected directly to a speaker. Onboard QMI8658 6-axis IMU (3-axis accelerometer and 3-axis gyroscope) for detecting motion gesture, etc.
- Integrated SHTC3 temperature and humidity sensor for accurate environmental monitoring. Onboard TF card slot for extended storage of images, audio, and various file types, making it convenient for reading and writing data. Onboard PCF85063 RTC chip with a reserved SH1.0 batt connector, enabling continuous timekeeping during power loss.
- Reserved GPIO expansion header for peripheral expansion and custom function development, supporting diverse application requirements. Dual power supply ports design, supporting stable operation of up to six 64 × 64 RGB Matrix panels, with cascading support for large-scale display applications. Onboard USB Type-C port for power supply, firmware programming, and debugging. Onboard RST and BOOT programmable buttons for easy custom function development.
Historical ODAS walkthrough: build and run
The MATRIX Labs walkthrough published on 5 June 2019 installs MATRIX packages and kernel modules, installs ODAS build dependencies, then builds a MATRIX Labs ODAS fork. Its commands target Raspbian Stretch and a particular branch, so package names, repositories, and compatibility may have changed. The outline below helps identify the stages; consult the linked tutorial for its exact historical commands rather than treating them as a verified current recipe.
- Prepare the Raspberry Pi. Install and boot a compatible Raspberry Pi OS image, connect the MATRIX board, and establish network access. Verify that the board’s supported setup and audio driver apply to your OS.
- Install the MATRIX software and dependencies. The 2019 guide installs MATRIX packages and kernel modules, followed by ODAS build dependencies. Confirm current package availability and compatibility before following those legacy installation steps.
- Build the MATRIX ODAS fork. The tutorial clones the MATRIX Labs ODAS fork, checks out
yc/add-matrix-demo, and builds it. That branch name is part of the historical walkthrough, not a guarantee that the repository or branch remains available or supported. - Start the MATRIX service and select the board configuration. The guide starts
matrix-odas, then launchesodaslivewithmatrix_voice.cfgfor MATRIX Voice ormatrix_creator.cfgfor MATRIX Creator. Use the matching configuration only after confirming it describes your board and input path. - Check the output path. ODAS can emit DOA estimates to a terminal, file, or TCP/IP socket, as configured. Use ODAS Studio if you want a visual display; it is separate from the live processing pipeline.
Why the configuration must match the array
ODAS uses microphone geometry to estimate direction. The configuration describes the raw input format and channel count, optional channel mapping, processing sample rate, microphone positions, and microphone orientations where applicable. The ODAS configuration wiki documents these settings and examples. Start with a configuration intended for the exact board or array, then validate that its channel order, geometry, and audio format match the actual input. There is no universal configuration that can safely be substituted for every array.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #3
- 🖥️ Professional HUB75 LED Matrix Controller: Designed as a LED matrix controller board, this module supports HUB75 RGB LED matrix panels for smart displays, animated signs, dashboards, and custom interface projects. Optimized for embedded display control and graphical applications with smooth performance.
- 🎤 Dual Microphone Audio Interaction Board: Built as an audio interaction development board, it features an onboard dual microphones array, ES7210 echo cancellation chip, and ES8311 codec chip for voice pickup, sound processing, and speaker output. Suitable for smart voice interfaces and multimedia display systems.
- 💾 High Performance Development Board: This ESP32-S3 development board integrates 32MB Flash, 16MB PSRAM, TF card slot, USB Type-C, UART, I2C, GPIO, and programmable buttons, giving developers flexible storage, debugging, and expansion options for advanced embedded projects.
- 🧭 Sensor Rich Smart Display Board: As a smart display board, it includes onboard 6-axis IMU motion sensor, temperature and humidity sensor, plus RTC clock chip for gesture sensing, environment monitoring, and real-time clock functions. Ideal for interactive dashboards and AIoT systems.
- ⚙️ LVGL GUI Development Platform: This LVGL development board supports ESP-IDF, Arduino, and LVGL GUI development, helping users quickly build custom user interfaces and scalable RGB matrix display systems. Dual power input design supports cascading panels for larger installations.
The ODAS pipeline’s localization uses generalized cross-correlation with phase transform (GCC-PHAT). The peer-reviewed ODAS paper explains that array shape affects which directions can be resolved: a planar, two-dimensional array is limited to a half sphere, while microphones spanning x, y, and z are needed to cover full elevation and azimuth ranges. Its general design guidance recommends microphone spacing of a few tens of centimeters for better low-frequency discrimination. That is not a claim about the compact MATRIX boards’ performance; use their actual geometry and configuration.
What affects results, and what to check
ODAS’s tracking stage links observations over time and can handle short silence intervals; separation can use estimated DOAs for beamforming. These are pipeline capabilities, not guarantees of stable results in every room. If directions are missing or erratic, check the audio input and channel mapping before changing localization expectations.
Rank #4
- Equipped with ESP32-S3-N32R16 Xtensa 32-bit LX7 dual-core processor, up to 240MHz main frequency
- Built in 512KB Static RAM and 384KB ROM, with onboard 32MB Flash memory and 16MB PSRAM
- Compatible with the full product line of Waveshare LED RGB matrix panels, and can smoothly run graphical interface programs such as LVGL
- Onboard ES7210 echo cancellation chip for improved voice processing performance
- Equipped with dual microphones array for audio algorithms such as noise reduction and echo cancellation, suitable for accurate speech recognition and voice wake-up applications
- Wrong or mismatched configuration: Verify that Voice uses its configuration and Creator uses its own, and that the configured microphone positions and orientations match the board.
- Channel order or input format: Confirm the number and mapping of channels, raw sample format, and processing sample rate against the captured audio.
- Room and source conditions: Background noise, room acoustics, and moving sources can affect observations. Tracking may connect estimates over time, but it does not remove every environmental difficulty.
- Array geometry: A planar layout has a half-sphere limitation; do not interpret an estimate as unrestricted full-elevation localization if the array geometry cannot support it.
Choosing between MATRIX Voice and MATRIX Creator
Both are eight-microphone boards used by the walkthrough, but their layouts differ, which is why their ODAS configuration files differ. Choose based on the board and software support you can actually use—not an assumed accuracy difference. The available documentation does not establish a measured Voice-versus-Creator accuracy comparison.
| Factor | MATRIX Voice | MATRIX Creator |
|---|---|---|
| Microphone input | Eight microphone channels; its own array layout and matrix_voice.cfg. |
Eight-microphone array; its own layout and matrix_creator.cfg. |
| Configuration compatibility | Use the Voice-specific configuration; do not substitute Creator geometry. | Use the Creator-specific configuration; do not substitute Voice geometry. |
| Other sensors | Compare against your project’s need for additional sensors; the cited walkthrough does not establish a sensor-based ODAS advantage. | Consider whether Creator’s broader sensor set is useful for your project; it does not change the need for an array-specific ODAS configuration. |
| Host and driver support | Verify current Raspberry Pi OS and driver compatibility; the cited setup material is legacy. | Verify current Raspberry Pi OS and driver compatibility; the cited setup material is legacy. |
| Current availability | Not established by the cited documentation. | Not established by the cited documentation. |
Can ODAS provide distance as well as direction?
Not from one compact MATRIX array. ODAS estimates the incoming direction from differences in the sound received at microphones; the small spacing is useful for direction estimation but does not establish how far away the source is. For 3D position by triangulation, use multiple arrays with known separation and appropriate geometry. Treat that as a different system design, not a setting that turns a single-array DOA output into distance.
Quick Recap
Best Value
- ESP32-S3 RGB Matrix Driver Board.240 MHz Xtensa 32-bit LX7 Dual-core Processor
- Designed For AIoT Applications.Powered By Xtensa 32-Bit LX7 Dual-Core Processor With Frequency Up To 240 MHz Powerful AI Computing Capability & Reliable Security Features
- Supports Driving Multiple LED Matrix Panels
- Supports AI Voice Interaction.No Complicated Assembly Or Wiring Required—Quickly Integrate With AI Models
- Supports ESP-IDF, Arduino, LVGL GUI Development.Comprehensive SDK, Dev Resources, Tutorials To Help You Easily Get Started
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

