Bela software

Bela has been designed to make the world of high

Table of contents

  1. The Bela software
  2. The IDE
  3. Choose your language

The Bela software

Bela runs a custom audio processing environment based on the Xenomai real-time Linux extensions. Your 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 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. (Read more in this publication, which describes the technical aspects of Bela in detail.)

The IDE

The IDE also includes an extensive library of example projects, illustrating synthesis, sensor handling, and a range of other techniques in a variety of languages. There is also an in-browser oscilloscope which lets you visualise multiple channels of data simultaneously, without disconnecting the board - an essential tool for sensor debugging - as well as code libraries and GUI integration. You can also create custom GUIs using p5.js to bring data visualisations and user interfaces into your Bela projects.

For more information on the IDE see our detailed guide of the IDE.

Choose your language

For development, Bela lets you code the way that suits you best, and gives you the tools you need to do it. Plug in your Bela and launch our in-browser IDE, where you can write code in C++, SuperCollider, Csound, upload PureData patches.

For more information on the languages that Bela supports see our language support page.