I started playing around with it a few months ago and was quite surprised with how much fun it was. Despite never having worked with Ruby I found it really easy to learn (and dead simple to install) and the results were definitely pleasing.
Here’s a relaxing little script that was still in one of my buffers. It only uses the included samples and synths so it should be usable anywhere:
set_mixer_control! amp: 0.95, limiter_bypass: 1
with_fx :reverb, room: 1.0, mix: 0.7 do
live_loop :hello do
play (scale :F3, :minor_pentatonic).choose, attack: 2.0, release: 0.9, amp: 0.5, pan: -0.3
play (scale choose([:C4, :C5]), :minor_pentatonic).choose, attack: 2.0, release: 0.9, amp: 0.4 , pan: -0.4 if one_in(3)
if one_in(4)
sample :ambi_glass_rub, rate: choose([0.7, -0.7, 0.85])
end
if one_in(5)
play (scale choose([:F4, :F5]), :minor_pentatonic).tick, amp: 0.3
end
in_thread do
with_fx :echo, decay: 6.0, phase: 1.5, amp: 0.4 do
use_synth :prophet
if one_in(7)
play_pattern_timed (scale choose([:F4, :F5, :C3]), :minor_pentatonic, num_octaves: choose([2,3])), choose([0.0625, 0.125]), amp: 0.5, cutoff: rrand_i(65, 85), cutoff_slide: 7.0
sleep 0.25
end
end
end
sleep choose([0.5, 1.0, 3.0, 5.0])
end
end
I don’t use Sonic Pi much lately…it piqued my curiosity in Tidal Cycles, and once I became comfortable with sending MIDI out from Tidal Cycles that was pretty much the end of my time with Sonic Pi.
That being said, if anyone were to express an interest in live coding to me, Sonic Pi is definitely the first thing I’d recommend they check out.