# Bela

Bela is a platform for ultra-low latency audio and sensor processing, based on a BeagleBone board with a custom IO cape, and a Linux operating system with Xenomai hard-realtime extensions.

# 1 Network

# 1.1 USB Host to Bela

Debian Trixie did not get bela.local via USB out of the box.

Check the interface name with ip addr.

Then create /etc/network/interfaces.d/bela with that name:

auto enxbe1a04f85a13
allow-hotplug enxbe1a04f85a13
iface enxbe1a04f85a13 inet dhcp

Finally sudo service networking restart.

Now bela.local is accessible via USB.

# 1.2 Bela to Internet

Apparently there is a way to do it via USB and NAT forwarding etc.

So far I just plugged in an ethernet cable.

# 2 Cross-Compiling

Bela supports low-latency audio but is slow. Compiling software on a desktop is much faster.

Cross-compiling for Bela requires a Debian Stretch chroot, otherwise you get errors about GLIBC version not found (because the desktop’s version is too new compared to Bela’s system).

For detailed instructions, in the context of live-coding audio DSP in the C programming language, see clive.

# 3 IDE

Web-based IDE hosted on the board (this link will not work if you don’t have a Bela on your network).

# 4 Umbrella

Umbrella is a compatibility layer that I made to allow developing Bela projects on desktop Linux without Bela hardware.