Close
0%
0%

CTAG FACE and BEAST Multichannel Audio Systems

Multichannel audio systems based on BeagleBone. Compatible to Linux and Bela's hard real-time environment.
AVAILABLE FOR PREORDER

Similar projects worth following
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.

The CTAG capes are fully compatible with Bela, and can take advantage of Bela’s unrivalled 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.

BOTH CAPES ARE AVAILABLE FOR PREORDER (https://shop.bela.io/ctag).

Features:

  • 4 in / 8 out (FACE)
  • 8 in / 16 out (BEAST)
  • Compatible to Bela's development tools (e.g. Web IDE including Oscilloscope)
  • 48, 96, 192KHz / 24bit (ALSA)
  • 48KHz / 16bit (Bela)
  • 1 ms latency (real-time environment)
  • 3.2 ms latency (native Linux applications, e.g. JACK (depends on system load))
  • -85dB THD+N, -100dB crosstalk
  • Sample accurate
  • Combinable with Bela cape to access 8 x 16bit DC coupled analog IOs
  • Mobile usage (full stack can be directly powered from BeagleBone USB voltage)
  • Hard real-time environment compatible to Arduino-style C/C++, Pure Data, SuperCollider and Faust (see Bela Wiki)

Project Components / Source Locations:

  • Hardware design files at Github, I2S sound card based on AD1938 audio codec by Analog Devices Inc. and designed by CTAG Audio (repo contains hardware design files, docs and device tree overlays)
  • Official BeagleBoard Kernel Source (Linux drivers were merged in upstream BeagleBoard kernel => included in official BeagleBoard SD card images by default (FACE only))
  • Forked kernel (Linux drivers for FACE and BEAST)
  • BASH script for automatic evaluation of latency, THD, THD+N, DNR, crosstalk and plot of magnitude spectrum using GNU Octave (included in SD-Card image and available on GitHub)
  • Debian Wheezy SD card image for BeagleBone, including evaluation scripts, demos and several audio tools (e.g. JACK, Pure Data, SuperCollider, ...)
  • Bela Homepage

Applications:

  • Open Platform for DIY Audio Projects
  • Mobile Audio Effects and Instruments
  • Eurorack Modules
  • 3D Audio (e.g. Ambisonics)
  • Interactive Art Installations
  • See Bela Projects

Preorder FACE and BEAST through Bela's online shop to get 15£ discount!

  • 1 × AD1938 Audio Codec by Analog Devices Inc.
  • 1 × BeagleBone Black/Green Single Board Computer based on TI AM335X single core SoC

  • CTAG Audio Capes are available for Preorder with discount!

    Henrik Langer05/09/2018 at 13:24 0 comments

    Both, the CTAG FACE and BEAST are available for preorder (https://shop.bela.io/ctag). 

    £15 DISCOUNT FOR PREORDERS

  • Release of face2|4 and Beast in Q1 of 2018

    Henrik Langer12/23/2017 at 19:58 0 comments

    We plan to release both of our audio cards (face (12ch) and Beast (24ch)) in Q1 of 2018 in bigger quantities. All information will be published here.

  • First production series started!

    Henrik Langer04/04/2017 at 10:45 0 comments

    We just started our first production series in small quantities. Due to still remaining issues with the Beast (prototypes work fine, but newer versions still have bugs), we decided to produce the face2|4 only at first. The face2|4 can be directly stacked on the BBB or BBG without any additional hardware. The drivers are already merged in the BeagleBoard.org kernel and are included in the default debian images for BeagleBone. Please send me a message with your name and desired units, if you are interested.

  • Upcoming: The Beast - Massive 24 Channel Audio

    Henrik Langer02/01/2017 at 16:20 0 comments

    After some hard work of board redesign and driver modifications, we finally got our 24 channel modular BEAST to work. The system offers 8 input channels and 16 output channels by daisy chaining two AD1938 audio codecs. The soundcard was shrunk to the same form factor as the BeagleBone Black/Green, thus can be directly stacked as cape on the BBB/BBG without needing an additional adapter board. Moreover the soundcard can still be used only with 8 output channels and 4 input channels like the old version. Currently, we are in the final phase of hardware design and driver development fixing the last bugs for stable operation. An image is given in the project pictures. Driver development takes place here (still experimental). In the future we want to produce a small series of the CTAG Beast. If you are interested in the first series, feel free to write me a personal message, so we can better estimate the units. More information coming soon!

  • Google Summer of Code participation to improve CTAG face2|4 Audio System

    Henrik Langer08/22/2016 at 13:12 0 comments

    This year I participated in Google Summer of Code to improve our audio system. The CTAG face2|4 Audio Card driver has been successfully ported to BeagleBoard-X15 (dual core TI AM5728) and is backwards compatible with BeagleBone Black/Green. Moreover an user-space library has been created to offload typical signal operations (FFT, IFFT, filter) to C66x DSPs (integrated in AM5728). The full project documentation is available on GitHub.

  • Updated SD-Card Image

    Henrik Langer03/06/2016 at 00:10 0 comments

    The new SD-Card image includes the most recent version of JACK and SuperCollider.

    Moreover we've created a script to automatically start JACK and SCSYNTH (SuperCollider server).

    -> You can create your own synthesizers or effects with SuperCollider on your local PC and run them on our audio system via network.

  • More powerful SBC

    Henrik Langer02/16/2016 at 13:33 2 comments

    We're looking for a low cost SBC with a more powerful CPU and multichannel I2S port (e.g. Freescale i.MX series or TI AM5728) to achieve a lower latency and implement more complex audio effects or synthesizers. The Allwinner SoCs seem to be a good choice, too. Unfortunately the ASoC platform driver for the Enhanced Serial Audio Interface (ESAI) of Allwinner SoCs only support 2 audio channels. We appreciate any suggestions.

  • Linux USB audio gadget (please help!)

    Henrik Langer02/16/2016 at 12:23 3 comments

    Currently, I'm trying to use the Linux built-in USB audio gadget kernel module. If it works, the audio system could be used as an external USB audio device on several operating systems as well. If anybody has experience with this subject, I appreciate your support:)

View all 8 project logs

  • 1
    Step 1

    Build instructions can be found here.

View all instructions

Enjoy this project?

Share

Discussions

Thorsten Kluss wrote 03/27/2018 at 16:02 point

Hi Henrik, Q1 is almost over...I would really like to buy a couple face2/4s. How is your production going? And is it possible to get only the input side assembled ( we only want to record, not play)?
Best regards, Caro

  Are you sure? yes | no

Henrik Langer wrote 03/27/2018 at 16:35 point

Hi Thorsten,

We are nearly there. The first boards should be available in mid-April. I will announce the release here on Hackaday. So, please stay tuned:)

Bests,

Henrik

  Are you sure? yes | no

Chris wrote 03/25/2017 at 02:32 point

This project is really well done, congrats!  I was going to try it out but it looks like the AD1938 is getting harder to find, Mouser has stopped stocking it altogether and Digikey only has 25.  The AD1939 has nearly identical specs and pins but has a different footprint.  Do you think that would work without driver modification?

  Are you sure? yes | no

Henrik Langer wrote 05/16/2017 at 15:39 point

Hi Chris,

Thanks! Yes, it should work without any driver modifications.

  Are you sure? yes | no

pablo_f_7 wrote 01/28/2017 at 16:01 point

Hi Henrik:

I'm working in a very similar project for my degree thesis, with a mini DAW application for multitrack recording running in beaglebone black, with PCM3168 codec. The problem i'm having is that the whole system has too much latency. From input to output i measure arround 27ms. Did you have to do some extra configuration in linux kernel to achieve low latency?

Thanks 

  Are you sure? yes | no

Henrik Langer wrote 02/02/2017 at 09:11 point

Hi Pablo, no, we use the official BeagleBoard kernel with realtime patch. We achieved a latency under stress about 5ms.

  Are you sure? yes | no

pablo_f_7 wrote 04/08/2017 at 23:11 point

Hi Henrik:

I've already presented my project, but i could not manage to achieve that low latency. That may be because i used buildroot instead of official OS. I didn't want to change it before because i feared something would stop working... Now i'm ready to do it! Could you tell me where to download the real time patch you used for the project? Selecting preemptive kernel from menuconfig seems not beeing enough..

Thanks in advance

  Are you sure? yes | no

Henrik Langer wrote 04/10/2017 at 09:21 point

Hi Pablo,

You can use the official BeagleBoard Debian SD card images. The driver is already included and the kernel uses PREEMPT_RT scheduler mode by default.

  Are you sure? yes | no

Andrius Sidaravicius wrote 01/16/2017 at 13:57 point

Hi Henrik.

Project interesting.

It is very difficult to adapt drivers for another ADC converter to work with beaglebone black?
I want use stereo HQ ADC with 24/192 sample rate. 

Thank you.

  Are you sure? yes | no

Henrik Langer wrote 02/02/2017 at 09:12 point

Hi Andrius, if you want to user another codec, you have to write a new driver.

  Are you sure? yes | no

Alessandro Ferri wrote 12/14/2016 at 18:16 point

Hi Henrik,

I have designed a soundcard with ad1938 chip on the base of a HAT for Raspberry. I would use it on a raspberry Pi2 or Pi3 and I would ask for your help to build the driver for device-tree-overlays for raspberry with RASPBIAN JESSIE, if is it possible. Please can you help me, I have not found anything about it.

  Are you sure? yes | no

Guy Sherman wrote 11/08/2016 at 21:28 point

Is this system full duplex? Also, I assume that if JACK works then netjack will work as well?

  Are you sure? yes | no

Henrik Langer wrote 02/02/2017 at 09:08 point

Hi Guy Sherman, yes, the system is fully duplex and netjack works as well.

  Are you sure? yes | no

Alessandro Ferri wrote 10/27/2016 at 18:03 point

Hi Henrik,

after searching for so long, finally I found a ADC project very promising. I use a Raspberry with a Cirrus Logic Audio Card. I must say that it works very well, but I would like to try your soundcard CTAG face2|4. The CTAG face2|4 works well with a raspberry RPi3? and  has never been tested?
I would like to hear your response.

  Are you sure? yes | no

Henrik Langer wrote 10/28/2016 at 05:32 point

Hi Alessandro, 

do you use the CS4272 codec? Unfortunately the digital audio interface of all RPis only supports 2 audio channels due to hardware restrictions (no TDM mode). Therefore our sound card can only be used with 2 active audio channels on the RPi (tested).

  Are you sure? yes | no

Alessandro Ferri wrote 10/29/2016 at 11:14 point

Thank you for your answer. I mean, you tell me better. Right now I use only the Cirrus Logic Audio Card to an audio input on two channels on the input 3.5mm  jack. I do not use it as a DAC, but only as an ADC. What is different about your sound card, to use that interests me?

  Are you sure? yes | no

Henrik Langer wrote 11/01/2016 at 12:12 point

Hi Alessandro, what do you mean with difference? You use a audio card which is connected to the digital (PCM) audio interface of RPi. Our audio card is connected to the PCM interface as well. The PCM interface of RPi only supports two audio channels (see BCM2835 peripherals datasheet p. 119  (https://github.com/raspberrypi/documentation/blob/master/hardware/raspberrypi/bcm2835/BCM2835-ARM-Peripherals.pdf)). So you can use only two audio channels simultaneously (in and out).

  Are you sure? yes | no

Thorsten Kluss wrote 03/15/2016 at 17:52 point

I am currently working on a sensor system to monitor beehives. For this, I need 4 audio channels (since I am using a spatial acoustic model for the evaluation). Ì don't need any output channels. Would a version of your system with only 4 Audio Inputs in general work with a raspberry pi? 

  Are you sure? yes | no

Henrik Langer wrote 03/15/2016 at 19:21 point

Unfortunately the Raspberry Pi only supports 2 audio channels due to its digital audio interface (I2S / PCM). We've created a driver for it, but it only supports stereo i/o.

  Are you sure? yes | no

Thorsten Kluss wrote 03/16/2016 at 11:03 point

Thanks a lot for the quick reply. That's what I suspected.

  Are you sure? yes | no

Thorsten Kluss wrote 03/16/2016 at 11:06 point

Anyway, your multichannel audio system is supercool. I will definitely use one at home! Thanks!

  Are you sure? yes | no

xnor wrote 03/01/2016 at 23:50 point

I'm curious if these are AC or DC coupled? DC coupled would let me use them for CV i/o as well...

  Are you sure? yes | no

Adam Avramov wrote 02/15/2016 at 11:23 point

Does this work with JACK Audio Connection Kit?

  Are you sure? yes | no

Henrik Langer wrote 02/15/2016 at 12:13 point

We haven't tested JACK yet, but there's a step-by-step guide how to compile JACK and SuperCollider on the BeagleBone Black/Green: https://supercollider.github.io/development/building-beagleboneblack.html

Our soundcard can be interfaced as an usual ALSA soundcard with 1 subdevice and 4 input/8 output channels, so it should work.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates