A structure you’ll see a lot in Sonic Pi is the block. Blocks allow us to do useful things with large chunks of code. For example, with synth and sample parameters we were able to change something that happened on a single line. However, sometimes we want to do something meaningful to a number of lines of code. For example, we may wish to loop it, to add reverb to it, to only run it 1 time out of 5, etc. Consider the following code:
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
To do something with a chunk of code, we need to tell Sonic Pi where
the code block starts and where it ends. We use do
for start and
end
for end. For example:
do
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
end
However, this isn’t yet complete and won’t work (try it and you’ll get
an error) as we haven’t told Sonic Pi what we want to do with this
do/end block. We tell Sonic Pi this by writing some special code
before the do
. We’ll see a number of these special pieces of code
later on in this tutorial. For now, it’s important to know that wrapping
your code within do
and end
tells Sonic Pi you wish to do something
special with that chunk of code.