One of the biggest problems facing digital music and audio creation is high latency. Unlike acoustic instruments (e.g., a drum), in which you hear a sound almost instantly after it's produced, digital audio has to be processed by a computer before a sound emerges from a speaker. This delay causes musicians to perceive digital music instruments as unnatural, inferior, and simply not as enjoyable, according to research from the Centre for Digital Music at Queen Mary University of London.
To overcome this problem, in 2014, Andrew McPherson and Victor Zappi of Queen Mary's Augmented Instruments Laboratory developed Bela, an open source embedded computing platform for high-quality, ultra-low-latency audio. After a successful Kickstarter campaign, the research group created the company Augmented Industries in 2016 to further develop Bela.
Bela was created "for making digital musical instruments, where low and consistent latency is very important for the performer to feel like their instrument responds to them in a fast and predictable manner, the way an acoustic instrument would," says Giulio Moro, one of Bela's developers. Bela's latency is less than 1ms, far faster than even the fastest laptop and less than a human can perceive.
Giulio says, "Bela runs a 4.4 Linux kernel with the Xenomai real-time extensions to provide ultra-low-latency performance. Xenomai Cobalt is a co-kernel for Linux that allows [running] selected threads at hard real-time priority, bypassing the Linux kernel to achieve performance comparable to running bare metal without an operating system. We are using an onboard 200MHz microcontroller (Programmable Realtime Unit) available on the Texas Instrument AM3358 system-on-chip (SoC) to act as a sophisticated DMA [direct memory access] controller, performing the low-level input/output operations for the audio channels (over I2S), analog channels (over SPI), and digital channels (the SoC's GPIOs)."
For those who want to get started immediately, Augmented Instruments Ltd sells the original Bela model as well as its new Bela Mini kits on its website. Giulio says, "the Bela starter kit includes all you need, including a BeagleBone Black single-board computer and our custom Bela cape (expansion board). Just plug it into your computer, bring up the IDE in your web browser, and you are ready to get started developing with it."
Bela is programmed using a browser-based IDE that continually uploads and compiles code on the board while it's plugged into your computer. It operates on Linux, MacOS, and Windows computers and is available under a GNU Lesser General Public License (LGPL 3.0)
According to Giulio, "the Bela IDE comes with tools that Bela developers need: an interactive pin map, a file manager, a console, and lots of example projects to get new users up and running fast. The Bela IDE also comes with an in-browser oscilloscope, so you can visualize your sensor and audio data in real time. Experienced users can also log into the board via SSH and get access to the whole system for advanced usage."
For programming, Giulio says, "the majority of our users use C/C++ or PureData, a graphical programming language commonly used for audio. With support from our community, we have also added support for the audio-focused languages SuperCollider, Faust, and Csound. We also have experimental support for a variety of other languages, and hope to expand these with support from the community."
Ways Bela is being used
Because it's small and can run off an external battery, musicians and audio artists are using Bela to create innovative musical instruments and audio art installations. Some of the outside projects featured on Bela's blog include musical instruments created from a chandelier, fabric embroidery, and ceramic sculptures. Another fascinating project is the Kalichord Strum, which turns a keyboard into a strumming instrument.
Giulio describes a project that he says is "is particularly inspiring: a music producer who never had done any programming decided to build a digital sampler to replace an instrument that was stolen from him. He bought Bela on Kickstarter and went through the effort of teaching himself a programming language (PureData), and with the support of the community he managed to build a fully working instrument."
While Augmented Industries is a young company, it's establishing partnerships that seem to give it a promising future. In May 2018, it partnered with RebelTechnology to launch Salt, a limited edition programmable Eurorack module "to bring Bela into the world of modular synthesizers," says Giulio. Also in May, the company announced a collaboration with German audio experts CTAG to produce the CTAG FACE and BEAST multichannel audio systems, which doubles Bela's audio I/O to eight inputs and 16 outputs.
Giulio says, "we try as hard as we can to lower the barrier of entry for inexperienced programmers to get into sound programming, and we are happy to see our efforts have paid off."
Bela was featured on the Ben Heck Show, a popular YouTube channel for DIYers and tinkerers. They used it to build a drum sequencer. See video on YouTube.