[Henrik Langer] put his powerful audio acquisition and output board up on Hackaday.io, and we thought we’d point it out to you. It’s one of those projects that used to be pro audio just a few years back, but is doable (and affordable) DIY today: dual stereo inputs and four(!) stereo outputs, all sampled at 24 bits and up to 192 kHz. It’s configured as a BeagleBone cape, and comes with a customized Linux distribution for the ‘Bone.
What would you do with such a thing? It’s essentially a recording studio in your pocket, with a computer attached. The video (linked below the break) demonstrates using the device as a real-time stereo delay effect unit, but that’s only making use of one channel. Between effects, recording, and then all sorts of much-better-than-CD quality sound synthesis and playback possibilities, it’s an open-ended audio playground.
And all that from what is essentially a (very well-done) breakout board for a fancy DAC/ADC chip from Analog Devices: the AD1938. We’d love to have one of these on our desktop. Check out [Henrik]’s GitHub for the PCB and build instructions and BOM and everything else you’d need to get started. Very nice job!
my fear is that this cpu does not have the power (or the io speed) to support that many streams at 24/192.
hell, I’d doubt that it can do ONE stream well at 24/192
at least its not the pi; the pi has only usb for ethernet and that would be a huge loser for any nfs or smb disk i/o. so, at least the bb doesn’t have the elephant bug that was never fixed (can’t be fixed, as I understand it) on the pi.
The AM335x has a decent gigabit network interface (actually two MACs and an on-chip switch). The BBB only uses one of the MACs connected to a 100baseT PHY.
For the 4 DAC stereo channels a continuous stream comes to 36.864Mb/s and half that for the 2 ADC channels. Well within the capabilities of the BBB pushing raw audio over full duplex 100baseT, and plenty of room for protocol and keeping buffers full.
You may be right about the Pi though.
One stream is 500K bytes per second. You really doubt that a beaglebone could handle that? 24 channels is 12MB/s. I/O is not a problem.
4.8 Msamp/s is doable or not depending how heavy the effects are. The CPU is a 1GHZ device with the NEON feature — an instruction set for operating SIMD fashion on 128b-wide registers with packed arrays of data. Even with 24 channels you can get a lot of filtering per channel with that CPU.
I think that you have absolutely no idea of what ARM’s at this speed can accomplish?
And adding DMA to that?
You can do 4 streams of 24/192 on less hardware reading from disk.
Given how much of an EMC pig the BBB tends to be. I’m not exactly sure how the performance of this will turn out. There might be all sorts of nasty interference.
@192k/sec you could use this for listening to bat sonar.
the “obsession” with compressed audio would seem to be some what redunant in this day and age when most of us have terrabyte harddrives!
I REALLY dislike audio compression, MP3 sounds like crap on a decent stereo system, MP2 is a little better, FLAC is sorta ok, the same with OGG.
I keep my CD and vinyl as WAV, which you need dick all processing power to play.
Huh? The “L” in FLAC is “lossless”, which means that given input->flac_encode->flac_decode->output, the output is bit-for-bit identical to the input. So what makes FLAC less okay than WAV?
Let’s clear a couple things up. Compressed audio is dependent on bitrate–you simply can’t generalize that MP3 “sounds like crap.” I would seriously doubt that you (or just about anyone) could hear the difference between MP3 encoded with modern codecs at 256K+ bitrate and uncompressed audio. I would agree that MP3 has audible artifacts at bitrates under 192K, but you didn’t qualify that. And your statement that “FLAC is sorta ok” just shows complete ignorance of the format. FLAC is lossless compression. I encode my CDs as FLAC since there is no loss in quality, hard drives are cheap, and I also have a backup of the CD. But I often purchase MP3 audio at 256K and seldom wish for higher quailty, and I listen on a very high quality system connected to my PC.
Oh, and just to start a flame war on a related topic, there is no evidence that audio encoded at bitrates over 16/44.1 sounds any better. In fact, the opposite may be true.
I bite. Sure, you’d need an awesome amplifier to get the needed signal to noise separation to even measure, let alone hear the additional bits and speakers out of reach for most of us, but why on earth would an encoding using more bits or higher raters sound worse?
Audio encoded at higher bitrates absolutely *can* sound better. As always though, garbage-in/garbage-out still applies.
Most of the comments here seem to be about operational specs but I have an application question that I hope is not out of place. I’m in the process of setting up a 5.1 surround sound system using studio monitors – JBL 4412’s. These are 3 way speakers and my goal is to replace the passive 3-way crossover with an active one and tri-amp each monitor. In addition I would like to add a multi-band EQ to each channel. This would require 5) 3-way crossovers and 5) say 27 band EQ’s – all of which are programmable. Can one of these Beaglebone setups provide at least a single channel of 27 band EQ in series with a 3-way crossover?
The audio system offers a sample rate of max. 96 kHz with 8 audio channels due to the 24,576 MHz crystal (8 ch * 32 Bit (fixed slot width) * 96 kHz). If the soundcard is configured via software to only use 4 audio channels you can use a sample rate of 192 kHz.
The delay effect in the demonstration video is active on every single channel .
The audio effect was created with DSPatch by Marcus Tomlinson, which is based on RtAudio.
The audio effect is running with a sample rate of 48 kHz and a buffer size of 128 frames (ca. 10 ms round-trip-time) without any XRUNs.
In the future we want to use an alternative SBC with a more powerful CPU to realize more complex audio effects and achieve lower latencies.
Take one of these:
http://fivedash.com/
And plug-it into that, and you have a compact yet high-performance software defined radio (SDR).