User Tools

Site Tools


electronic_music:toward_a_rasperry_pi_softsynth_performance_setup

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
electronic_music:toward_a_rasperry_pi_softsynth_performance_setup [2023/07/21 06:33] – [Install Raspberry Pi OS] mithatelectronic_music:toward_a_rasperry_pi_softsynth_performance_setup [2023/07/23 03:38] (current) – [Configure audio] mithat
Line 1: Line 1:
 ====== Toward a Rasperry Pi Softsynth Performance Setup ====== ====== Toward a Rasperry Pi Softsynth Performance Setup ======
 +
 +<WRAP center round important 60%>
 +This is a work in progress.
 +</WRAP>
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
Line 5: Line 9:
 </WRAP> </WRAP>
  
-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, [[https://kx.studio/Applications:Carla|Carla]] isn't available for the Pi unless you want to try building it from sources, which I don'tSo, this means we'll need to use something else to control JACK and to host plugins. +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 brittlenessThis means we may need to use something else to control JACK and to host plugins.
- +
-===== Software selections ===== +
- +
-==== Controlling JACK ==== +
- +
-To control JACK, [[https://qjackctl.sourceforge.io/|QjackCtl]] seems the most promising. +
- +
-==== Hosting plugins ==== +
- +
-Needs research +
- +
-==== Plugin(s) to use ==== +
- +
-Needs research -- is there Dexed for ARM?+
  
 ===== Hardware ===== ===== 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" on Amazon, eBay, and AliExpress. I have a couple Focusrite Scarlet 2i2s, so they will function as my test case for the former.+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. 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.
Line 34: Line 24:
 ==== Install Raspberry Pi OS ==== ==== 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 on a Raspberry Pi. I used a [[https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit|manual download]] and an RPi 4 with ??? RAM.+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. 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'').+Then, update everything''sudo apt-update'' and ''sudo apt-upgrade''.
  
 Finally, take it for a drive to make sure things are working as expected. Finally, take it for a drive to make sure things are working as expected.
Line 48: Line 38:
  
 Next, let's get audio working. Next, let's get audio working.
 +
  
 === I2S DAC === === 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.
 +
 +<code bash>
 +sudo mkdir -p /opt/backup-files
 +sudo cp /boot/config.txt /opt/backup-files
 +sudo cp /etc/asound.conf /opt/backup-files
 +</code>
 +
 +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:
 +
 +<code bash>
 +sudo cp /boot/config.txt /boot/config.txt.BAK
 +sudo cp /etc/asound.conf /etc/asound.conf.BAK
 +</code>
 +
 +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 TBD
Line 57: Line 77:
 TBD TBD
  
-===== Install the software selections =====+===== 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 ==== ==== JACK and QJackCtl ====
  
electronic_music/toward_a_rasperry_pi_softsynth_performance_setup.1689921228.txt.gz · Last modified: 2023/07/21 06:33 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki