En af de mest interessante aspekter af Sonic Pi er, at det giver dig mulighed for at skrive og modificere live kodning for at lave musik, præcis som man måske ville spille live på en guitar. Det betyder, at med øvelse så kan man tage Sonic Pi med på scenen og spille med det.
Før vi rigtigt går i detalgerne med hvordan Sonic Pi virker i resten af denne vejledning, vil jeg gerne give dig en oplevelse af, hvordan det er at kode live. Bare rolig, selv hvis du ikke forstår meget (hvis noget) af koden; hold fast i stolen og nyd det…
Lad os starte! Koppier det følgende kode ind i en tom buffer ovenfor:
live_loop :flibble do
sample :bd_haus, rate: 1
sleep 0.5
end
Du klikker nu på “Run” knappen og vil høre lyden af en hurtig stortromme. Hvis du ønsker at stoppe, klikker du på “Stop” knappen. Men klik ikke på den endnu, følg disse steps i stedet:
Sørg for, at lyden af stortrommen stadig kører Prøv at ændre værdien “Sleep” fra “0,5” til en højere værdi, f.eks. “1”. Klik på “Run” knappen igen Læg mærke til, hvordan trommelydens hastighed har ændret sig. Til sidst, husk øjeblikket, dette er første gang du har live-kodet med Sonic Pi, men sandsynligvis ikke den sidste…
Ok, det var enkelt nok. Lad os tilføje noget mere. Over sample: bd_haus
tilføj linjen sample :ambi_choir, rate: 0.3
. Din kode skal se sådan ud:
live_loop :flibble do
sample :ambi_choir, rate: 0.3
sample :bd_haus, rate: 1
sleep 1
end
Tid til at lege lidt. Skift satserne - hvad sker der, når du bruger store værdier, eller små værdier eller negative værdier? Se hvad der sker, når du ændrer rate:
værdien for lydklippet :ambi_choir
en smule (f.eks til 0,29
). Hvad sker der hvis du vælger en meget kort sleep
værdi? Se om du kan få det til at gå så hurtigt at din computer vil stoppe med en fejl, fordi den ikke kan følge med (hvis det sker, skal du bare vælge en længere ‘sleep’ tid og trykke på Run
igen).
Prøv at udkommentere en af sample
linjerne ved at tilføje et ‘#’ i starten af linien:
live_loop :flibble do
sample :ambi_choir, rate: 0.3
# sample :bd_haus, rate: 1
sleep 1
end
Bemærk hvordan linien bliver ignoreret af computeren, så vi ikke hører den. Dette kaldes en kommentar. I Sonic Pi kan vi bruge kommentarer til at fjerne og tilføje dele mens man mixer.
Lad mig afslutningsvis give dig lidt sjovt at lege med. Tag koden herunder, og kopier den til en ekstra buffer. Du behøver ikke at forstå præcist hvad koden gør, andet end at der er to loops - to dele der bliver gentaget samtidigt. Gør nu det, du gør bedst - eksperimentér og leg. Her er nogle forslag:
Prøv at ændre den blå rate:
værdi og hør hvordan lydklippet ændrer sig.
Prøv at ændre ‘sleep’ metodens ‘times’ og hør efter hvordan begge løkker kan køre rundt på forskellige hastigheder.
Prøv at fjerne kommenteringen på ‘sample’ linjen (fjern ‘#’) og nyd lyden af guitaren der spiller baglæns.
Prøv at ændre nogen af de blå mix:
værdier til tal mellem 0
(ikke med i mix) og 1
(helt med i mixet).
Remember to press Run
and you’ll hear the change next time the loop goes round. If you end up in a pickle, don’t worry - hit Stop
, delete the code in the buffer and paste a fresh copy in and you’re ready to jam again. Making mistakes is how you’ll learn the quickest…
live_loop :guit do
with_fx :echo, mix: 0.3, phase: 0.25 do
sample :guit_em9, rate: 0.5
end
# sample :guit_em9, rate: -0.5
sleep 8
end
live_loop :boom do
with_fx :reverb, room: 1 do
sample :bd_boom, amp: 10, rate: 1
end
sleep 8
end
Now, keep playing and experimenting until your curiosity about how this all actually works kicks in and you start wondering what else you can do with this. You’re now ready to read the rest of the tutorial.
So what are you waiting for…