Table of Contents
Toward a Rasperry Pi Softsynth Performance Setup
This is a work in progress.
You probably want to read Toward a Linux Softsynth Performance Setup before reading this. It covers many topics that are common to both.
Setting up a Rasperry Pi as a dedicated softsyth thing for live performances is basically the same as doing it on a standard Linux laptop, except you might run into some packages not being available for the Pi. In particular, I don't know how actively maintained the KXStudio repositories for ARM are, so using Carla may lead to some brittleness. This means we may need to use something else to control JACK and to host plugins.
Hardware
We aren't going to use the Pi's built-in audio. We're just not. This means we are going to use either an external USB soundcard or a hat with an I2S DAC. A popular option for the latter is a PCM5102-based board like this one but available from an infinity of vendors. Try searching for “PCM5102 Raspberry Pi” or “GY-PCM5102” on Amazon, eBay, and AliExpress (schematic). I have a couple Focusrite Scarlet 2i2s, so they will function as my test case for the former.
I'll use a setup with a conventional monitor with keyboard and mouse to get things rolling and then see if it makes sense to move to an official 7" touchscreen or even go headless.
And after that, I'll think about what kind of power supply to use to minimize the chances of the SD card getting corrupted. I might also think about moving everything to an SSD.
Initial steps
The first thing we need to do is get Rasberry Pi OS installed and get the desired audio solution working.
Install Raspberry Pi OS
Use your favorite method from here to install the 64-bit version of Raspberry Pi OS with desktop. I used a manual download and an RPi 4 with ??? RAM.
Once it's up and running, use raspi-config to configure your network access, change the user password, set the correct location and localization, expand the file system, and make any other configuration changes that make sense. Don't try to configure audio though. We'll do that next.
Then, update everything: sudo apt-update
and sudo apt-upgrade
.
Finally, take it for a drive to make sure things are working as expected.
Configure audio
Next, let's get audio working.
I2S DAC
Hardware connections
TBD
Software configuration
Our cheap audio board doesn't have the EEPROM that “official” I2S audio boards have that tells the OS about themselves. So, we need to manually configure things via the /boot/config.txt
and /etc/asound.conf
files.
Make a backup copy of both of these files so you can get back home if you get lost.
sudo mkdir -p /opt/backup-files sudo cp /boot/config.txt /opt/backup-files sudo cp /etc/asound.conf /opt/backup-files
I'm putting these into a directory under /opt
because I don't know whether having extra cruft in /boot
will bork things. If /boot doesn't care, then this should also work:
sudo cp /boot/config.txt /boot/config.txt.BAK sudo cp /etc/asound.conf /etc/asound.conf.BAK
The rest of this is from:
TBD
USB audio
TBD
Install software selections
Software selections
Controlling JACK
To control JACK, QjackCtl seems the most promising. It's the de facto default JACK GUI. Enough said.
Hosting plugins
Needs research
Plugin(s) to use
Needs research – is there Dexed for ARM?
Let's install the software we came here to use.
JACK and QJackCtl
Installation, configuration, and test are TBD
[Plugin host]
TBD
Plugins
TBD