Gör en låt
Vi börjar med att ta ett titt på hur man kan programmera ett enkelt trumbeat med bastrumma, virvel och hi-hat. Dessutom bekantar vi oss med två nya egenskaper, live_loop och sample.
Vi börjar skriva programmet i en tom flik (Buffer) och skapar en live_loop med namnet :trummor. Loopen kan heta vad som helst, namnet är till för att klargöra vad loopen gör. live_loop är en kontinuerlig loop (dvs. den spelas tills man klickar på STOP- knappen) och den körs samtidigt med andra live_loops.
live_loop :trummor do
sleep 1
endObs! En live_loop kan heta nästan vad som helst, men två live_loops kan inte ha samma namn. Varje live_loop måste ha åtminstone ett sleep-kommando.
I ditt program har du nu en tom live_loop som heter :trummor. Till näst programmerar vi ett enkelt komp, där bastrumman spelas på första och tredje slaget och virveln på andra och fjärde. I stället för att spela noter använder vi i stället kommandot sample :namn, som man kan spela samples med (inspelade ljud). Här är ett exempel på ett trumbeat:
use_bpm 100
live_loop :trummor do
sample :drum_heavy_kick
sleep 1
sample :drum_snare_hard
sleep 1
sample :drum_heavy_kick
sleep 1
sample :drum_snare_hard
sleep 1
endNu borde programmet spela ett jämnt grundkomp. Tempot kan du prova byta genom att byta numret efter use_bpm. När du skriver sample och trycker på mellanslag ger Sonic Pi automatiskt en lista av olika möjligheter som du kan använda med kommandot.
Bilden nedan klargör ännu hur en live_loop fungerar.

Nu tillägger vi hi-hats till trumkompet. Skapa en ny live_loop som heter :hihat och programmera den att spela sextondelsnoter med en sample som låter som en hi-hat.
live_loop :hihat do
sample :drum_cymbal_closed
sleep 0.25
endEtt så monotoniskt hi-hatkomp passar inte så hemskt bra bland grundkompet. Vi gör det lite intressantare till exempel genom följande ändring:
live_loop :hihat do
sample :drum_cymbal_closed
sleep 0.25
sample :drum_cymbal_pedal
sleep 1
endHi-hatkompet blev nu polyrytmisk, dvs en omgång är 1.25 slag långt istället för 1, av misstag! Meningen var att skapa ett komp som är ett slag långt, men vi låter det nya kompet vara,för det låter jättebra och det är det viktigaste. Med Sonic Pi kan ett misstag ibland låta bättre eller intressantare än det som du planerade att göra.
Nu borde ditt stycke se ut ungefär såhär:
use_bpm 100
live_loop :trummor do
sample :drum_heavy_kick
sleep 1
sample :drum_snare_hard
sleep 1
sample :drum_heavy_kick
sleep 1
sample :drum_snare_hard
sleep 1
end
live_loop :hihat do
sample :drum_cymbal_closed
sleep 0.25
sample :drum_cymbal_pedal
sleep 1
endHur beter sig en live_loop i vanlig musiksoftware? Den här videon förklarar hurdana sekvenser en live_loop skapar.
Till näst skapar vi ett basspår till vår låt.