Sonic Pi

I contributed a pair of scopes to the latest version of Sonic Pi 3.2, which has now shipped.

In order to learn a bit more about a live coding language, I built and played with sonic pi. I found that the graphs provided in the tool were using a toolkit called Qwt. This is an old Qt toolkit, which was not really doing anything other than drawing a simple line graph - as well as making the build of the product more complicated. I showed Sam (the creator of Sonic Pi) how to replace the Qwt library with simple paint commands. I then contributed two nicer scopes; a ‘mirror stereo’ effect showing the live audio waveform, and a spectrum analyzer. My live coding work meant I already had source to generate a frequency analysis using an FFT (Fast Fourier Transform), so it wasn’t much effort to make a scope for that. It’s now the default shipping scope in sonic pi, and works great. It’s been nice to see so many users streaming performances with the new scopes on display!

In addition to the scopes, I showed Sam how to move his build over to CMake to enable a more effortless build process.

Sonic Pi 3.2


comments powered by Disqus