Learn Coding Resources

Getting Started

Welcome to RNBO


RNBO Basics

Key Differences

Why We Made RNBO

Coding Resources


Audio IO

Messages to rnbo~

Using Parameters


Messages and Ports

Polyphony and Voice Control

Audio Files in RNBO

Using Buffers

Using the FFT

Export Targets

Export Targets Overview

Max External Target
Raspberry Pi Target
The Web Export Target
The C++ Source Code Target

Code Export

Working with JavaScript
Working with C++

Special Topics

Sample Accurate Patching
Scala and Custom Tuning

RNBO and Max for Live

RNBO Raspberry Pi OSCQuery Runner


Export Description

Raspberry Pi GPIO

Updating the RNBO Package

Coding Resources

If you're new to coding, here's a collection of some helpful resources to get started.

Web Export

The JavaScript export target lets you run RNBO exports in the browser. If you've never done any web development before, there can be a bit of a learning curve, but there's lots of great resources out there to get familiar with the basics. The export template is also a good starting point, specific to working with RNBO.


At a high level, these are some of the tasks you should be comfortable with if you want to use RNBO web export as part of your web development workflow.

  • Navigating a file system using the command line
  • Downloading a git repository
  • Creating a Node project and installing packages with npm
  • Running a local, static web server
  • Using your web browser's developer tools
  • Loading JavaScript into an HTML webpage
  • Using fetch to asynchronously load remote resources
  • Connecting an audio graph using the Web Audio API



Plugin/Standalone Development

The C++ export target generates a bundle of code that you can incorporate into your own application, whether you're creating an audio plugin or a standalone application. The following resources are useful guides to the most important technologies used in RNBO C++ export. In addition, this JUCE template is a good starting point for applications built using the JUCE framework.


These are some of the basic, routine tasks that you'll be doing as you work with RNBO in the context of development with C++.

  • Navigating a file system using the command line
  • Downloading a repository with git
  • Modifying a project's CMakeLists.txt files to configure the way it's built
  • Compiling a program using make, Ninja, or some other build tool
  • Debugging a program by attaching to it, either after launch or as the program is run