Wednesday, March 09, 2016
Bela: an embedded platform for audio and sensor processing
Published on Mar 7, 2016
"An introduction to Bela. This video accompanies our Kickstarter campaign which will be on until April 1st 2016."
This one is in via MATRIXSYNTH reader Giulio who is on the Bela team.
"The most important unique feature of Bela is that it has extremely low latency of less than 1 millisecond from action to sound. This is much lower than can be achieved on any laptop or embedded computer on the market. Low latency is critically important for making intuitive and responsive musical instruments.
Other notable features include 16-bit analog inputs and outputs (8 each), onboard speaker amplifiers and a browser-based IDE (complete with oscilloscope). The project is open source hardware and software. This is basically the platform we've always wanted for building interactive audio systems, and we're excited to share it with a broader community of musicians, engineers and makers!
Bela is currently on Kickstarter where we greatly exceeded our initial goal, so much that we added new features to the board. Extended blog posts, tech specs, faqs and more examples at our website http://bela.io"
Some details via the Kickstarter campaign (be sure to click through for more):
"Bela is an embedded computing platform developed for high quality, ultra-low latency interactive audio. Bela provides stereo audio, analogue and digital I/O in a single self-contained package. It combines the processing power of the BeagleBone Black embedded computer with the timing precision and connectivity of a microcontroller.
Bela features an on-board, browser-based IDE, making it easy to get up and running without requiring any additional software. The end result: digital instruments and interactive objects that are faster to develop and more responsive to use."
Audio: 16-bit stereo audio I/O at 44.1kHz
Audio power output: 2x 1W 8ohm speaker amplifiers (available when powered from DC jack)
Analogue In: 8x 16-bit analogue inputs at 22.05kHz
Analogue Out: 8x 16-bit analogue outputs at 22.05kHz
Digital channels: 16x digital GPIO at 44.1kHz or 88.2kHz
Analogue I/O is also software configurable to give 4 channels at 44.1kHz or 2 channels at 88.1kHz
And some info on the software:
"Bela runs a custom audio processing environment based on the Xenomai real-time Linux extensions. Your audio code runs in hard real-time, bypassing the entire operating system to go straight to the hardware. We have written a custom audio driver using the Programmable Realtime Unit (PRU), a microcontroller on the same chip as the BeagleBone Black CPU. This driver is capable of buffer sizes as small as 2 audio samples for very low latency, and its performance is not affected by other system load. No other embedded Linux platform can match this performance.
The Bela C++ API gives you a clean and lightweight way to write audio code. Fill in three functions: setup() runs at the beginning; render() runs once for each new audio buffer; cleanup() runs once at the end. All the analogue and digital pins are sampled automatically at audio rate, so sensor signals can be treated the same way as audio in your code. You can write your code using the browser-based IDE, or alternatively a set of build scripts let you use an editor of your choice and then compile the code on the board."
Below are a few examples of projects created with Bela.
Building a lightsaber with Bela Published on Mar 7, 2016 Bela Platform
Madcoil (Bogdan Vera) - Gradient Dissent
Published on Nov 6, 2014 metabog
"Performed @ Queen Mary, University of London
D-Box Hackable Instrument by Victor Zappi"
Bela: Tank Wars game with oscilloscope vector graphics
Published on Mar 7, 2016 Bela Platform
"A simple game of launching projectiles, implemented with XY vector graphics on an oscilloscope using the Bela low-latency audio and sensor platform (http://bela.io). Bela has stereo audio in/out plus 8 channels each of 16-bit, audio-rate analog I/O, so it can generate graphics and sound simultaneously."
More examples can be found here http://bela.io/made-with-bela/.