Rawer

Nearby

Flues Synth

Flues Synth

tl;dr I built a sound synthesizer that runs on a Raspberry Pi

The GitHub repo flues contains most of my recent synth experiments (various platforms, including live Web), the Raspi material is under flues-synth.

There are binaries of the Raspi synth and builds from Ubuntu of the lv2 plugins in the repo, but these versions are untested (used Claude-authored scripts)- building from source definitely works.

What is Flues?

Flues (flues-synth) is an experimental polyphonic synth for the Raspberry Pi. It is designed to run headless, without a UI. Input comes from a USB MIDI adapter. Output comes from either the Pi's headphone jack or a USB audio interface (other sound outputs such as HDMI and I2C HATs should work, but these are untested). It runs comfortably on a Raspi 4 1GB, I haven't tested on anything else.

Internally the synth engine is composed of the following modules :

  • Disyn oscillators - a collection of novel synthesis algorithms (related to FM)
  • Stove physical modelling subsystem
  • Chatterbox formant filter subsystem
  • Simple AR envelope

The flues-synth README.md has more details. There are live Web versions of the different subsystems that give an idea of the kind of sounds available.

A set of MIDI Programs provide various configurations of the modules, essentially presets. The parameters of these may be controlled using MIDI CC messages. Each Program exposes 9 core channels which may, for convenience, be mapped to external controllers using the flues-control lv2 plugin in a DAW.

(There are 9 channels because that's how many worked on my old MK-449 keyboard. I have since started using the sliders of an Akai Midimix for the purpose, via flues-control).

There is also a browser-based UI set up to supply control messages but this hasn't been maintained beyond its use in initial experiments.

Parameters are controlled by MIDI CC messages.

What Didn't Work

What I actually wanted initially, what led me here, was a Eurorack module that could do physical modelling synthesis. It's a paradigm that really appeals to me, not only because it can make realistic instrument sounds, but because it can make sounds that no physical object could have created. I couldn't find a module that was affordable, so decided to make one. Long story short, so far I've made a total pig's ear of the hardware side. Mistakes in ordering components, mistakes in fabrication decisions, etc etc. To be continued...

Flues Synth

Runny floozy-poly on Raspberry Pi

Runny floozy-poly on Raspberry Pi

Home dir /home/danny/

aplay -Dhw:2 /usr/share/sounds/alsa/Front_Center.wav

sudo apt install pkg-config cmake build-essential lv2-dev libx11-dev libcairo2-dev lilv-utils jackd2 jalv

mkdir github cd github

git clone https://github.com/danja/flues.git

cd flues

cmake -S lv2/floozy-poly -B lv2/floozy-poly/build cmake --build lv2/floozy-poly/build cmake --install lv2/floozy-poly/build --prefix ~/.lv2 # optional

sudo dpkg-reconfigure -p high jackd2

lv2ls | grep -i floozy https://danja.github.io/flues/plugins/floozy-poly

sudo usermod -aG audio $USER

log out/in

JACK_NO_AUDIO_RESERVATION=1 jackd -S -P40 -dalsa -dhw:2 -r48000 -p512 -n3 -P &

verify it’s up:

jack_lsp

launch the plugin:

JACK_NO_START_SERVER=1 JACK_NO_AUDIO_RESERVATION=1 jalv -n floozy-poly https://danja.github.io/flues/plugins/floozy-poly

Bluetooth MIDI

sudo apt install libudev-dev libical-dev libreadline-dev libdbus-1-dev libasound2-dev

https://www.bluez.org/download/

Runny floozy-poly on Raspberry Pi

What have I been doing recently?

What have I been doing recently?

  • Building Feed Aggregator with Transmissions : NewsMonitor

  • Synth Experiments : Flues

  • Music visualization experiments : Hillside

  • BPM Finder app : bpm

  • Music room fun : eg. Some What

What I've not been doing is clearing the jungle outside or tidying the pigsty inside.

What have I been doing recently?

Modular

Modular

Rack 1

Row 1

  1. Doepfer A-192-2 : CV/Gate to MIDI
  2. Wasp Synth
  3. Homemade Distortion

Row 2

  1. Neutron Synth
  2. Homemade LPG

Row 3

  1. 182 Sequencer
  2. 182 Sequencer
  3. Abacus (Maths)
  4. 140 ADSR/ADSR/LFO
  5. Doepfer A-156 Quantizer
  6. Doepfer A-135-2 Quad VCA/Mixer

Rack 2

Row 1

  1. CM1A MIDI to CV/Trig
  2. PP1 Pitch to MIDI
  3. 150 Ring Mod/S&H/LFO
  4. Victor VCO
  5. 110 VCO/VCF/VCA
  6. VC16 Vocoder

Row 2

  1. 297 Mixers/Portamentos
  2. Swords Filters
  3. Antidote Karplus-Strong
  4. Skies Granular Synth
  5. 172 Phaser/Delay/LFO/Gate Delay

Row 4

  1. Homemade Attenuators/Amplifiers
  2. Eq/Mixer
  3. Space FX

Modular

Flues

Flues

I've put a couple of physical modelling synths online, have a play. The first was an attempt to emulate a clarinet. Second version "Stove" is more general. Both monophonic. You will have to experiment with the knobs to find anything remotely realistic. Stove supports MIDI in. Docs & code are nearby : https://danja.github.io/flues/

Flues