gitmyhub

brume

Rust ★ 25 updated 14d ago

A 24-voice, multi-part synthesizer for the Raspberry Pi CM5. Touchscreen UI, audio and MIDI over USB, four sound engines, no samples.

Brume turns a Raspberry Pi Compute Module 5 into a standalone software synthesizer with a 10-inch touchscreen, four synthesis methods, and 24 simultaneous voices, connecting to any mixer over USB without special drivers.

RusticedLuaMIDIRaspberry Pi CM5setup: hardcomplexity 5/5

Brume is a software synthesizer that turns a Raspberry Pi Compute Module 5 into a standalone music instrument. It generates sounds entirely from math rather than recorded audio samples, meaning there are no audio files on the device. The whole system runs on a small single-board computer paired with a 10-inch touchscreen display, and it connects to a regular computer or mixer via a single USB cable, appearing as a standard audio and MIDI device without needing any special drivers.

The synthesizer has four independent parts, each capable of playing up to six notes at once, for a total of 24 simultaneous voices. Each part can use one of four sound generation methods: FM synthesis (sounds built from mathematically interacting waves), Harmonic synthesis, Timbral synthesis, and Granular synthesis (which generates texture by rapidly layering tiny sound fragments). Each voice also has its own filter, which shapes the tone, and the output runs through a shared effects chain that includes saturation, chorus, delay, and reverb.

Modulation, which lets sounds change and evolve over time, is handled per part through two low-frequency oscillators and two step sequencers. There is also a scripting layer that accepts small programs written in Lua, a lightweight scripting language, so more technically inclined users can write custom control logic or effects. MIDI, the standard protocol for connecting music hardware, works over USB or through a physical MIDI input.

The project is written in Rust and is built around the Raspberry Pi CM5 specifically because that module supports USB device mode, which is required for the audio and MIDI bridge to work. The touchscreen interface uses a graphics framework called iced. Brume is pre-1.0 and maintained by one person as a hobby project. Hardware parts lists, installation guides, and deployment instructions are included in the repository. The license is GPL-3.0.

Where it fits