User Tools

Site Tools


electronic_music:softsynth_rabbit_hole

The Softsynth Rabbit Hole

The aim here is to develop a soft synth setup for live performance, not a full DAW. In this article, we'll begin scratching around the rabbit hole that can get us to our goal.

Linux

I love Linux, so this is the obvious place to start for me. That said, using Linux for music looks like a PITA compared to other OSes, mostly owing to the audio subsystem. JACK seems kinda cumbersome. Does Carla make it easy? And how will the migration to Pipewire impact things?

Another concern is latency. How bad will it be for live performance, with or without a realtime kernel? The same concern exists with macOS and Windows as well, but those platforms (esp. macOS) have proven themselves with professional performers.

Yet another concern is reliability of the hardware. Of particular concern are laptops, because there are so many potential points of failure. An SBC-based platform arguably can be more easily hardened. But that even that will take a lot of effort to get you to the same standards as a commercial standalone synth.

In terms of software, there seems to be two basic approaches: Install a standalone synth that doesn't need a host or install a setup that can host plugins, including synths and effects. The latter is simpler; the former is more flexible.

In terms of hardware, there are also two approaches: use a laptop or use a Rasperry Pi (or potentially other SBC).1)

Resources

Laptop systems

In addition to a laptop, you'll need an outboard USB soundcard, unless you lappy's sound output is exceptional and if for some reason you don't mind using its fragile 3.5mm output jack. So, this a two-box solution (lappy plus soundcard).

Concerning latency, distributions with realtime kernels exist. The most popular is probably Ubuntu Studio. Debian also offers realtime kernels in the linux-image-rt-amd64 package. From DebianMultimedia:

The Debian Multimedia team is not working on including a kernel image with the realtime-patches applied in Debian. Much of the realtime-patches have been accepted in the mainline kernel, to the point that for most purposes the stock Debian kernel is suitable even for realtime-like work.
Pengutronix has been working on realtime-patches for Linux kernel and now those patches are part of Debian official kernel, Debian Linux-RT kernel for the i386 and amd64 architectures is available from Debian main archive.

Ubuntu Studio is appealing because it's a turnkey solution. Debian with a realtime kernel is appealing because you don't need to deal with Ubuntu Snaps. There are likely other distributions that offer realtime kernels (either standard or as an option) as well. Feel free to explore these in your copious free time.

To follow this fork in the hole, read Toward a Linux Softsynth Performance Setup.

Rasperry Pi

A potential advantage of using an RPi or other SBC as the host is that compared to a laptop there's less hardware that can go batty. OTOH, having the OS on the SD card is potentially fragile.

Another advantage is being able to use a decent on-board I2S DAC. It's also more easily bundled into a tight package with a USB DAC if using an on-board I2S dac isn't suitable. Whether it makes most sense to use an on-board I2S DAC or a USB DAC is mostly down to whichever has the least latency.

Most online guides assume you're using Raspberry Pi OS. In theory, it's possible to patch the standard kernel for realtime latency. This doesn't seem insurmountable, but it would be a pain to do for every kernel update.

PatchboxOS, which “comes pre-configured for low latency audio performance and pre-installed audio software,” seems like a promising OS. However, it looks like it's still 32-bit, and since it's not a very popular distribution, its actual quality is unknown. Also, the last release was 2022-05-17, so it's possible this is abandonware.

There are a bunch of RTOSes for the RPi, but these will almost certainly involve having to compile almost all music packages from scratch for the OS.

To follow this fork in the hole, read Toward a Rasperry Pi Softsynth Performance Setup.

Microcontroller-based and turnkey SBC synths

Open-source microcontroller-based synths are attractive because:

  • They can be incredibly compact.
  • There's less going on with them, so the potential for rock-solid reliability is high.
  • Vetting/tweaking/fixing code to get to rock-solid reliability is a lot easier than on a system that runs a complete OS.

The compelling part about running a turnkey-based RPi system is that in theory someone has done all the hard work for you, including optimizing everything for the given application. Whether this is in fact the case needs testing of course.

MiniDexed

MiniDexed is a standalone Dexed host that runs on Rasperry Pi. The project is documented very well.

MicroDexed

MicroDexed and MicroDexed-touch are Dexed hosts that run on the Teensy platform.

This could form the basis of a very compact and robust synth. However, the developer admits they aren't the most skilled C++ coder. So while this has a lot of potential, it might need a lot of code cleanup work to make it robust.

MicroDexed-touch is billed as the continuation of MicroDexed. It adds features that many users may welcome but that distract from the performance-synth goal.

Other Teensy synths

PicoADK

PicoADK is an “Audio Development Kit” based on the RP2040 with an integrated 32-bit audio output DAC. It lets you build your own standalone synthesizers using, for example, the [https://www.vult-dsp.com/vult-language|Vult]] DSP language.

1)
Of course you can use a desktop computer instead of a laptop, but it makes portability a royal hassle, and that totally poops on its usefulness as a performance tool.
electronic_music/softsynth_rabbit_hole.txt · Last modified: 2023/07/22 20:06 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki