FACE and BEAST multichannel audio capes by CTAG and Bela

About

Developed by CTAG Audio in collaboration with Bela, the FACE is a cape for the BeagleBone Black with 4 audio input channels and 8 audio output channels. The BEAST, created by stacking two FACE capes on top of each other, doubles the amount of available audio I/O to an impressive 8 input channels and 16 output channels.


A FACE cape installed on a BeagleBone Black.


The full stack: a BeagleBone Black, the BEAST and a Bela cape.

Specifications

The CTAG face2|4 (4in/8out) and CTAG Beast (8in/16out) are open-source multi-channel audio cards for the BeagleBone (AM335x SoC) single board computer, forming an embedded audio system for low-latency multi-channel applications.

The system is based on the AD1938 24-Bit Codec featuring 4 ADC/8 DAC with PLL, 192 kHz.

Feature Spec
audio inputs/outputs (FACE) 4/8
audio inputs/outputs (BEAST) 8/16
latency (Bela) 1ms*
latency (ALSA) 3.2ms**
sample-rate/bit-depth (Bela) 48KHz/16bit
sample-rate/bit-depth (ALSA) 48, 96, 192KHz/24bit
THD+N -85dB (approx)
crosstalk -100dB (approx)

* Guaranteed by Bela’s hard-real-time environment
** Dependent on system load

Software

ALSA driver

Originally, the CTAG audio cards drivers were developed for the Advanced Linux Sound Architecture (ALSA), making the audio cards compatible with traditional Linux applications and common sound servers (e.g. JACK).

All drivers required to essentially spawn an 8-channel ALSA PCM device are apparently in the mainline GitHub - beagleboard/linux: The official BeagleBoard and BeagleBone kernel repository already.

Linuxbasiertes Mehrkanal-Audiosystem mit niedriger Latenz

Realtime driver

Henrik Langer adapted the CTAG audio card drivers to Bela: The platform for ultra-low latency audio and sensor processing, resulting in a novel, embedded audio platform for ultra-low-latency, multi-channel applications (e.g. Ambisonics). The complete project is open-source, thus all driver components can be used for experimenting.

The ultra-low-latency of Bela was achieved by using a real-time framework for Linux (Xenomai) and the Programmable Realtime Unit Subsystem (PRUSS) of the AM335x SoC. Hence, Bela is using a self-developed unique, real-time driver architecture.

Linux Driver Development for a Real-Time Multi-Channel Audio System

Background

For more information and development history, see CTAG face2|4: A Linux-Based Low-Latency Multichannel Audio System, the Hackaday project page and the corresponding CTAG wiki page.

The system is conceived by Henrik Langer (http://instrumentslab.org/) under the supervision of Dr. Andrew McPherson and Dr. Robert Manzke (http://www.creative-technologies.de/).

Resources

Products

CTAG FACE

The CTAG FACE is a cape for the BeagleBone Black with 4 audio input channels and 8 audio output channels. It is fully compatible with Bela’s ultra-low latency software environment and development tools, allowing audio data to be processed with round-trip latencies as low as 1ms and programmed using Bela’s browser-based IDE in a variety of languages including C++, Pure Data and Supercollider.

CTAG BEAST

The CTAG BEAST is an add-on for the BeagleBone Black consisting of two FACE capes stacked on top of each other providing 8 audio input channels and 16 audio output channels. It is fully compatible with Bela’s ultra-low latency software environment and development tools, allowing audio data to be processed with round-trip latencies as low as 1ms and programmed using Bela’s browser-based IDE in a variety of languages including C++, Pure Data and Supercollider.

About the Bela platform

The Bela platform, as well, is based on the BeagleBone and was developed by the Augmented Instruments Laboratory of the Queen Mary University of London. Bela has similar goals, but especially focuses on low-latency and connectivity for external peripherals (e.g. analog sensors). For example Bela offers block sizes of up to two samples, resulting in a latency <1 ms. Furthermore Bela offers a complete Web IDE, including a scope, several ways of programming (e.g. C/C++, Pure Data, Supercollider) and easy plug-and-play support, resulting in an ideal platform for makers and instrument builders. Bela supports stereo audio, 8 analog IOs and 16 digital IOs.