Learn Managing Raspberry Pi Exports

Getting Started

Welcome to RNBO

Quickstart

RNBO Basics

Key Differences

Why We Made RNBO

Coding Resources

Fundamentals

Audio IO

Messages to rnbo~

Using Parameters

MIDI in RNBO

Messages and Ports

Polyphony and Voice Control

Audio Files in RNBO

Using Buffers

Using the FFT

Export Targets

Export Targets Overview

VST/AudioUnit
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

Metadata

Export Description

Raspberry Pi GPIO

Updating the RNBO Package

Managing Raspberry Pi Exports

Connect audio + MIDI hardware, load local audio samples, control your Pi remotely with rnbo.remote, and manage exported patches.

Managing Exports

Use the Patch Name configuration option to identify your patch after exporting it to the Raspberry Pi.

patcher-name.png

If you export multiple patchers to your Raspberry Pi, you can swap and run your preferred patcher instance on the Pi remotely. You have a few options for telling the Pi to swap the loaded patcher instance. Using the rnbo.remote object, use the @patchername attribute to run your preferred patcher instance.

exported-patchers.png

You can also send an OSC message to your Pi to make it run the preferred patcher instance. A message like /rnbo/inst/control/load 0 simple-noise will load the patcher instance "simple-noise" into slot 0.

swap-with-osc.png

Additionally, you can also use the Web Interface to run your preferred patcher instances.

Finally, you can configure the Raspberry Pi to run exported patcher instances in response to MIDI program change messages. First, you must change the default behavior of the Pi runner, which is to switch presets in response to MIDI program change messages. Use these OSC messages to configure your Pi.

/rnbo/config/patcher_midi_program_change_channel omni — this configures the Pi to map MIDI program changes to patcher changes on all channels.

/rnbo/inst/config/preset_midi_program_change_channel none — this configures the Pi to disable the mapping from MIDI program changes to preset changes on all channels.

config-midi-swap.png

After configuring the Pi in this way, MIDI program changes messages on any channel should switch between exported patcher instances.

Send a patcherdestroy message to the rnbo.remote object to remove an exported patcher from the Raspberry Pi.

Controlling the Pi

Connected Audio Devices

For the Raspberry Pi to be ready to run exported RNBO code, it must be connected to a supported audio interface. Most current audio usb interfaces will work, just as long as the audio interface is ALSA class-compliant .

Navigate to the Configuring Audio Guide to to configure audio settings on the Raspberry Pi with the connected audio hat or interface. Once the audio settings are configured and the Pi is updated, the target is now ready to be configured for export.

Once exported, The RNBO Runner will take advantage of the configured audio devices inputs and outputs if there are associated in~ and out~ objects . For more on how this works, check out the Audio I/O Guide.

Connected MIDI Devices

Midiin and midiout objects in the exported RNBO code can be used on the RPi target to send and receive MIDI messages on the RNBO Runner. This means any MIDI hardware connected to the Pi's interface will be able to send and receive Midi data.

These can also be used to sync up to other hardware. For a more detailed overview, see Synchronization and Locking to Transport in RNBO guide.

Local Samples on the Raspberry Pi

Sample Data in RNBO can be exported to the Raspberry Pi by checking the Copy Sample Dependencies box creates a media folder to the Output directory on export. Any sample data referenced by buffer~ and data objects' file attribute will be exported to a folder on the Raspberry Pi .

Remote Access and Control

You can control your Raspberry Pi remotely using the Web Interface, with the rnbo.remote object, or by sending OSC messages directly to the Pi. All of these methods use OSC messages under the hood. You can address individual patcher instances to set parameters, load presets, load audio files into data references, and send messages to inports. It's also possible to create multiple patcher instances, and to build an Max-like graph describing the flow of Audio and MIDI between your patcher instances and the Pi's inputs and outputs.

Remote control via the rnbo.remote object

The rnbo.remote object is a Max object included in the RNBO package that lets you load and configuring patcher instances on the Raspberry Pi. Once loaded, setting and receiving changes on parameters, presets, data references, MIDI, transport timing, and port state can all be done via the rnbo.remote . When the rnbo.remote is on the same network as the Raspberry Pi with running RNBO code, it can reference that Pi by its name, enabling remote control and retrieval of changes to patches on the Pi. See the rnbo.remote help file for more.