Transports and Synchronization
Understanding Storage: let, const, @state, @param
Using the Audio Plugin/Desktop Application Template
Programming a Custom UI with JUCE
RNBO Raspberry Pi OSCQuery Runner
Raspberry Pi Setup
The Raspberry Pi Export target allows for RNBO patches to be exported from RNBO directly to a Raspberry Pi device via a shared network.
To install, download the provided run-ready image, unzip it, and flash it to a micro SD card with image writing software. Any image writing software will work, however, we suggest the Raspberry Pi Imager, which allows for setting up the wifi network , the Pi's name, and a password for ssh'ing into the Raspberry Pi at the time of flashing.
Directions with Raspberry Pi Imager
With the formatted sd card connected to the machine, open the Raspberry Pi Imager.
Select Choose OS and scroll to the bottom where it says use custom . Browse to where the Bullseye image was unzipped and select open (if it doesn't appear in the browser folder in the dialog, make sure all files is set for filetype.)
Navigate to Choose Storage and select the SD card drive.
Before hitting write, navigate to the small gear icon at the bottom right. Here, the hostname for the Pi can be set, which will be the name of the Raspberry Pi. If no name is set, the name will default to
Make sure the Enable SSH box is checked for changing the settings via ssh, a username and password will need to be input. It's important you do not fill in the Username field, as this needs to stay the default provided username:
pi. You can choose a password however.
Enable WiFi by checking the box for Configure Wireless Lan and fill in the SSID, the associated Passphrase, as well as the Timezone.
Next, save your settings and select Write to start flashing. Once the Raspberry Pi image has been written to the SD Card, eject the SD card and place it into the Pi.
Connection and configuration
When RNBO detects one or more RNBO-ready hardware devices on the shared network, they will appear under the Devices section in the Export Sidebar. Double-clicking the named device opens the device configuration window, which displays some information about the remote device and available export configuration options.
NOTE : If you are opening RNBO for the first time after using the Raspberry Pi Imager to write the image, you may need to wait a few minutes for the device to show up in the Export sidebar.
In the case that the named Pi is not on Wifi or a WiFi network was not set up when flashing the image, an ethernet cable from the machine to the Pi can be connected via a CAT6 cable. This will establish a local connection between the two devices.
For exporting configuration , the Raspberry Pi Target Export Overview Guide highlights all of the features of the Export Target.
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 inserfaces 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 control via the rnbo.remote object
The RNBO code on the Raspberry Pi can be set and retrieved from the rnbo.remote object in Max. The rnbo.remote object is a max-level object included in the RNBO package that allows for setting and receiving changes on parameters, presets, data references, MIDI, transport timing, and inport and outport values on the Raspberry Pi. When the rnbo.remote is on the same network as the Rasperry Pi with running RNBO code, it can reference that Pi by its name, enabling remote control and retrieval of changes to the Pi.
Further Configuration with SSH
Logging into the Pi
With the Pi powered up and connected to the same network as the PC/Mac, secure shell can be used to log in and change the settings. On Windows, an SSH client like PuTTY or OpenSSH. will work. On MacOS, just open up terminal. For Windows open up command prompt :
$ ssh firstname.lastname@example.org
To connect, use the command
ssh email@example.com. This is assuming the name of the pi is
c74rpi. If a password was not determined at the time of the image being flashed, the default password is
sudo raspi-config . Go to System Options and select Hostname to change the hostname.
This will prevent hostname conflicts from occurring when working with multiple devices on the same network: Make a note of the hostname somewhere, especially in the case of having several Pi's on the same network.
One simple method to connect to the Pi is via an Ethernet cable. If yconecting via WiFi is preferred, or want to switch the Pi to another network, the Pi can be set up to automatically connect to LAN via Wifi using the same configuration menu. Go to System Options and select Wireless LAN then enter the SSID and passphrase. Now when the Pi boots up, it will connect to the Wifi address automatically.