Hello from Mull


Someone told me about Sonic Pi last week and I’ve been a bit hooked last few days. When I was young it was the advent of the synth in British music and I really wanted to get involved. I used to go to Rod Argent’s shop in Denmark St where they’d let you play, but it was way too expensive so I had to get a cheap guitar instead.

I play in various groups jazz, blues, brass band. Drums and other things now. But Covid has meant no live music which is a drag, socially as much as anything, So I decided to dive back into electronic music which we can share at a distance. And wow, how it’s changed - it’s all there for the asking. What a fantastic opportunity.

Currently I’m putting together a live electronic music project with some friends - I’m doing the synth stuff and they are providing organic live sounds e.g. a slide guitar made from an ironing board, played with an ebow.

I’m trying to work out whether Sonic Pi has a place and if so what. It’s fab on it’s own but the key thing is getting it to sync with other instruments e.g. a DAW playing in ‘Session’ mode. I’ve got some ideas that work with other things e.g. sending out a midi note as a timing pulse to kick things off.

Whether or not I get it working, I really applaud Sam’s motive in making such a wonderful system that has such a low barrier to entry. I think that ‘ordinary people’ should be able to enjoy make music - not just the virtuosos. Time was, everyone had a piano at home and didn’t expect to study to grade 8 before enjoying a sing song. Music is a natural part of the human spirit.

My background: Ex-physicist, ex-mathematical modeller. Now professional programmer for business apps - got to make a living. Never really got to grips with threads though… :scream:

While I don’t know much about multithreaded programming, I know enough to know that Sonic Pi is a remarkable piece of work. Thank you!

(I’m only visiting Mull, I live near Oxford, UK)


It’s great, thanx for share.

Go ahead!

Sonic Pi syncs nicely via MIDI - my DAW (Ardour) will control or follow sonic pi. At present I have Sonic Pi setting tempo, and a beatstep following via MIDI which plays a modular synth. Sending a midi_clock_beat every crotchet sends all the MIDI clocks necessary, plus sending a midi_start message restarts the beatstep, which ensures it stays in sync.
This is my main clock loop, everything else syncs to the relevant osc:
n = sync “/osc*/semiquaver”

master clock

set :bpm, 130
set :sq_inClockLoop, 32
sq = 0
use_osc “localhost”, 4560
use_midi_defaults port: “onyx_producer_2-2_midi_1”, sustain: 0.1 # onyx

master OSC loop

live_loop :clock do
use_bpm get[:bpm]
if sq == 0
osc “/start”
osc “/semibreve”
puts “semibreve”
puts “semiquaver”, sq
osc “/semiquaver”, sq
if sq % 2 == 0 # quaver
osc “/quaver”, (sq / 2)
puts “quaver”, (sq / 2)
if sq % 4 == 0 # tick every 4 clocks
osc “/crotchet”, (sq / 4)
puts “crotchet”, (sq / 4)
sleep 0.25
sq += 1
if sq >= get[:sq_inClockLoop]
sq = 0