CTAG - BelaPlatform/Bela GitHub Wiki

This material has been superseded. Visit learn.bela.io for the maintained version.

CTAG FACE and BEAST Multichannel Audio Systems

Developed by Henrik Langer and Robert Manzke of 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 8 input channels and 16 output channels.

The CTAG capes are fully compatible with Bela, and can take advantage of Bela’s sub-millisecond latency, along with Bela’s streamlined workflow and development tools. They can even be used together with a Bela cape to gain access to Bela’s 8 DC coupled analog inputs and outputs. They can also be used with ALSA drivers for compatibility with standard linux applications (although this will require a different image).

Setting up

All you need to start working with CTAG is your FACE or BEAST cape, a BeagleBone Black a USB to microUSB cable and an SD card with the latest Bela image (support for CTAG has been added on v0.3.6 of the custom Bela image).

  • Getting started with CTAG and Bela

CTAG boards are fully compatible with Bela and therefore follow the same workflow than the rest of our capes.

More information on how to get set up with the Bela environment can be found on the section: Getting started with Bela.

  • Getting started with CTAG and ALSA

If you are looking into building more standard Linux applications using ALSA, we would recommend to take a look at the information provided by Henrik on this wiki page: https://github.com/ctag-fh-kiel/bela-ctag/wiki.

Warning! In order to develop ALSA applications, you will need a different image to the default Bela image. A link to this image can be found here.

Jumper configurations

CTAG FACE and BEAST come with a set of pins that can be jumpered into different configuration to change the behaviour of the cape.

Power Supply

CTAG can be powered from either USB power or the 5V barrel connector on the BeagleBone Black. A jumper should be used to bridge either pins 2+3 for USB power or 1+2 for external power.

CtagPowerJumper

Master (FACE)

In order to use one CTAG cape as a 4 input and 8 output master (FACE configuration), jumpers should be set as shown below.

CtagMasterJumpers

Master & Slave (BEAST)

Two capes can be stacked together to achieve 8 input and 16 output (BEAST configuration). In order for this to work, one of the boards needs to be configured as a master (see image above) and the other one as a slave.

It does not matter which board is on top, but the Bela IDE will show the slave as if this was the cape on top.

In order for the BEAST configuration to work, it is important that the stacking header called Beast is connecting both boards whilst stacking as shown in the following picture.

CtagStackingJumper

The jumper configuration for the slave cape should be set as depicted below.

CtagSlaveJumpers

Using CTAG with Pure Data

When using the CTAG cape with Pure Data there are a few considerations related to channel numbering. See the Pure Data and Bela page for further details.

CTAG Face, Beast and Bela capes and capelets

Here is a summary of channel counts when stacking multiple boards of the Bela family:

CTAG Face CTAG Beast CTAG Face + Bela CTAG Beast + Bela (all) sampling rates
audio inputs 4 8 4 8 48kHz
audio outputs 8 16 8 16 48kHz
analog inputs 0 0 8 8 24kHz(when 8 used), 48kHz(when 4 used)
analog outputs 0 0 8 8 24kHz(when 8 used), 48kHz(when 4 used)
digital IO 16 16 16 16 48kHz

Note that the Bela audio codec is not usable when using the Bela cape with the CTAG capes: only the analog inputs and outputs from the Bela cape are usable. Additionally, the Bela speaker amps are not directly usable, as they are by default connected to the Bela codec's output. However, you can perform this unsupported hack and route two of the CTAG outputs through the Bela's speaker amps, if you are so inclined.

Adding capelets works as normal with Bela:

  • When adding the audio expander capelet on top of any CTAG + Bela configuration, you can selectively switch each of the analog inputs and outputs to an audio-like channel (though it will still appear as an analogInChannel or analogOutChannel in the Bela C++ API), as per usual.
  • When adding a Bela multiplexer capelet on top of any CTAG + Bela configuration, you can get up to 64 analog input channels at reduced sampling rate (3kHz for 64 channels, 6kHz for 32 channels, 12kHz for 16 channels).

Design files

The schematics and PCB design files for the CTAG cape can be found here.