====== Toward a Rasperry Pi Softsynth Performance Setup ====== This is a work in progress. You probably want to read [[electronic_music:toward_a_linux_softsynth_performance_setup|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 [[https://kx.studio/Repositories|KXStudio repositories]] for ARM are, so using [[https://kx.studio/Applications:Carla|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 [[https://www.amazon.com/dp/B07W97D2YC/?coliid=I28ZKHACZW1WG4&colid=2SF7YKBYP6KV5&psc=1&ref_=list_c_wl_lv_ov_lig_dp_it|this one]] but available from an infinity of vendors. Try searching for "PCM5102 Raspberry Pi" or "GY-PCM5102" on Amazon, eBay, and AliExpress ([[GY-PCM5102 schematic|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 [[https://www.raspberrypi.com/products/raspberry-pi-touch-display/|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 [[https://www.makeuseof.com/how-to-boot-raspberry-pi-ssd-permanent-storage/|moving everything to an SSD]]. ===== Initial steps ===== The first thing we need to do is get [[https://www.raspberrypi.com/software/|Rasberry Pi OS]] installed and get the desired audio solution working. ==== Install Raspberry Pi OS ==== Use your favorite method from [[https://www.raspberrypi.com/software/|here]] to install the 64-bit version of Raspberry Pi OS with desktop. I used a [[https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit|manual download]] and an RPi 4 with ??? RAM. Once it's up and running, use [[https://www.raspberrypi.com/documentation/computers/configuration.html|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: * Himbeer's [[https://blog.himbeer.me/2018/12/27/how-to-connect-a-pcm5102-i2s-dac-to-your-raspberry-pi/|"How to connect a PCM5102 I2S DAC to your Raspberry Pi"]] * https://raspberrypi.stackexchange.com/questions/76188/how-to-make-pcm5102-dac-work-on-raspberry-pi-zerow * https://www.hifiberry.com/docs/software/configuring-linux-3-18-x/ * https://www.mathworks.com/help/supportpkg/raspberrypi/ug/play-high-quality-audio-from-raspberry-pi-using-i2s-based-dac.html TBD === USB audio === TBD ===== Install software selections ===== ===== Software selections ===== ==== Controlling JACK ==== To control JACK, [[https://qjackctl.sourceforge.io/|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