Hi there. I have been using Sonic Pi since it first came out, and particularly looking at the beta for the new version 2 in the last few weeks. I published some music files for version one in a gist https://gist.github.com/rbnpi/6864617
, and have been working in recent weeks rewriting these and producing further more advanced examples using the great new facilities in Sonic Pi 2. I hope to publish these soon, and have also been considering writing some tutorials which go a bit further than the simple ones already published.
Amongst others, I have transcribed a complete movement of a Bach Brandeberg Concerto for Sonic Pi, together with 5 Beatles songs and others besides. I will publish these once Sonic Pi 2 is released, because there have been changes in the betas, and I have already altered some to suit.
Sonic Pi 2 handles thread synchronisation superbly now, and also note entry is much easier with symbolic entry rather than using Midi numbers. As Sam Aaron's article in Magpie shows, it also allows live composing by allowing to create sounds and alter them while they are playing. The use of Sound Samples as well as Synths introduces much greater flexibility, and although the many parameters available to adjust these may appear rather daunting at first, once you get the hang of how they work they are not too difficult to employ. I have even written one program to use one of the sound samples rather like a synth, defining notes over three octaves for it, and then writing a tune using it.
As Topguy said in his reply, Sonic Pi uses Ruby and it is worth looking at some Ruby tutorials so that you can use features of the language in writing Sonic Pi programs. eg http://www.tutorialspoint.com/ruby/index.htm