Origin
15 years on the Rivendell-dev list, mostly as a
lurker and occasional contributor. Around 2019, a port of Rivendell
3.2.0 to a DigitalOcean cloud VPS running CentOS 7 — likely the
first of its kind at the time. In 2022/23, two commercial stations
in Las Vegas: one running entirely on a cloud droplet, feeding the
transmitter via an MP3 stream with RDS over UDP; the other on
physical hardware, with a cloud instance as backup.
What started as an experiment to see if some long-wanted features could actually land grew into a full fork. Rivolution is named after the foundation Fred built — not in competition with his own versioning, but alongside it.
Shipped
Qt6— full modernization of the codebaseback-timing— segue back-timing, so segue markers no longer collide with cold introsrdimport— MP3 passthrough import, skipping lossy re-encoding, with waveform generation and normalizationubuntu-26.04— native build support
Roadmap
- A new Go-based web dashboard, replacing RDAdmin
- Visual, drag-and-drop patching between any source and any destination, with explicit persistent-vs-temporary state
- PipeWire as the native audio substrate — ALSA and AudioScience HPI become PipeWire stream clients underneath it
- Native AES67 support, via PipeWire
- True any-to-any real-time routing — no single-driver lock-in
- Front-end configuration for Icecast, Liquidsoap, and other streaming tools
- A unified installer
What's needed
Current dev environment is an x86_64 Ubuntu 26.04 UTM guest on an M4 MacBook Air — useful, but it can't replicate what a real studio rack will tell you. What's actually needed: people with physical hardware who can test against real broadcast environments — specifically ALSA, AudioScience drivers, and AES67 once that work lands.
If you're running Rivendell on real hardware and you're curious about the Qt6 work, get in touch.
Relationship to Rivendell
Fred's work is the foundation of everything here. None of this exists without what he built. Rivolution isn't intended to supersede or replace Rivendell — it's a parallel fork that reflects the direction this needed to take for a specific use case. If any of this work is useful to fold back into the main project, that conversation is genuinely welcome. The project remains fully open.