This project is like magic, though really hard to install on it's own. Hence the approach that is advised is to run it on a Rasberry Pi (something like a physical docker container). This project duct-tapes so many cool technologies together that the whole setup become quite brittle: you need the exact versions of all dependencies + patches + wiring/configs and only then it works.
It's very complete: the "language" (Ruby with some libs), IDE, sound generation... It truly comes with batteries included.
I tried to put this project in a docker container (before snap and flatpak were all the rage; I've a bit of experience with snap and sure it did cause rage): that is a docker container that should be able to draw an X11 window in the host OSes X11 server. This to allow the project to be run with all its dependencies included. Sadly I failed.
I agree that the install is hard on linux but there are prebuilt packages for Windows and MacOS. There's no requirement to use a Raspberry Pi.
A long time ago (2017) I did successfully get Sonic Pi running in Docker but it wasn't straightforward https://github.com/xavriley/sonic-pi-docker If anyone wants to pick this back up I'd be happy to help
There are actually prebuilt packages for Debian as well, which can also work on Ubuntu.
I compiled it myself on Fedora and it works great. It wasn't too hard. Perhaps I should just document the steps somewhere.
What I tried and failed was to run it on OpenBSD. I spent all my free time in the evenings for about 2 weeks before I eventually gave up and moved to Linux. I agree with parent post that Sonic Pi is essentially a bunch of stuff duct taped to each other. Which is nice because it can do many things, but it is definitely not a very clean architecture and not easy to port.
Glicol has a much much nicer architecture. It is written in Rust and doesn't even depend on SuperCollider! It is so portable that it even compiles to WASM and runs in the browser. But I find Ruby easier to understand than Glicol's own language, plus ... I like Sonic Pi's feature completeness. It comes with plenty of pre-defined synths (not just sine/square/sawtooth, but some actually very complex stuff). It comes with many filters and sample manipulation tools. You can connect MIDI inputs with just a couple of lines of code... So yeah, I hate it and I love it at the same time!
No idea about the performance on RPI, do you guys find it acceptable? I am actually just thinking to use an older laptop as a "physical container" for Sonic Pi. Essentially a laptop that is only meant as a musical instrument, and it always just works (after the initial setup).
I know! But trying install it on Linux I did understand that the RPi route effectively "containerizes" the app :) That's what I meant to say by my comment.
> I did successfully get Sonic Pi running in Docker but it wasn't straightforward
It's very complete: the "language" (Ruby with some libs), IDE, sound generation... It truly comes with batteries included.
I tried to put this project in a docker container (before snap and flatpak were all the rage; I've a bit of experience with snap and sure it did cause rage): that is a docker container that should be able to draw an X11 window in the host OSes X11 server. This to allow the project to be run with all its dependencies included. Sadly I failed.