Learn Audio Files in RNBO

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

Audio Files in RNBO

Here we cover the many ways Audio Files can be used inside of RNBO directly, referenced externally, and with external targets.

File formats and Playback

You can use MP3, WAV, M4A and AIFF format files in your RNBO projects. However it is worth noting,  if you are considering browser based export targets, Chrome will be unable to decode .aif files.

Like Max, the buffer~ object as one of the main ways to read and playback audio files. In RNBO, use the @file attribute in the buffer~ object to load an audio file into the object by using the filename.

You don't need to supply the path to the file - just ensure that it’s within a search path in Max's File Preferences

To play an audio file in RNBO, use the groove~ object or the wave~ object that is associated with the buffer that contains the file. Each of these objects have parameters that can be set to change the way the file is played, like loop markers for instance. You might want to use wave~ for short audio samples in a wavetable oscillator and groove~ for looping a drum or percussion loop. Each of these will read back the audio file at the position and the rate you set.

If you'd like to include audio files in your RNBO project - create a new buffer~ object for each file you'd like to use and link them using the @file attribute. You can use the multibuffer~ object to group them together, then reference the name of this object. You can switch audio files in the buffer by changing the index.

Audio objects in RNBO like groove~ and wave~ also allow you to reference multiple buffers by name without the multibuffer~ object. You can change which buffer is referenced by using the set object.

Where you choose to place your control logic for changing the buffer will depend on the project. If you want to change the current audio file sample on multiple groove~ or wave~ objects at once - you may want to use multibuffer~.

External targets and Dependencies

RNBO can link your audio files to your chosen export target as sample dependencies. This means that you can export your work to targets like the Raspberry Pi or Web Export and all of the files will be transferred along with your RNBO patcher during the export.

Once your RNBO patcher is exported to your chosen target - all of the sample dependencies that you linked using buffer~ objects will exist as data references for you to use on that target, without any additional transfer of files later.