Et af de mest interessante aspekter af Sonic Pi er, at det giver dig mulighed for at skrive og ændre kode live for at lave musik, præcis som man måske vil spille live på en guitar. Det betyder at når du har øvet dig, kan du tage Sonic Pi med på scenen og spille med det.
Før vi rigtig går i detaljerne med hvordan Sonic Pi virker i resten af denne vejledning, vil jeg gerne give dig en oplevelse af, hvordan det er at kode live. Bliv ikke urolig hvis du ikke forstår meget (hvis noget) af koden. Hold fast i stolen og nyd det…
Lad os starte! Kopier det følgende kode ind i et tomt kodefelt ovenfor:
live_loop :flibble do
sample :bd_haus, rate: 1
sleep 0.5
end
Hvis du nu trykker på Run
-knappen, vil du høre lyden af en hurtig stortromme. Hvis du ønsker at stoppe, trykker du på Stop
-knappen. Men tryk ikke på den endnu… følg i stedet disse skridt:
sleep
fra 0.5
til en højere værdi, fx 1
.Run
-knappen igenOkay, 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, små værdier eller negative værdier? Se hvad der sker når du ændrer rate:
-værdien for lydklippet :ambi_choir
en smule (fx 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 linjen:
live_loop :flibble do
sample :ambi_choir, rate: 0.3
# sample :bd_haus, rate: 1
sleep 1
end
Bemærk hvordan linjen 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 et ekstra kodefelt. Du behøver ikke at forstå præcis hvad koden gør, andet end at der er to løkker - to dele der bliver gentaget samtidig. Gør nu det, du gør bedst - eksperimentér og leg. Her er nogle forslag:
rate:
-værdi og hør hvordan lydklippet ændrer sig.sleep
-tiderne og hør efter hvordan begge løkker kan køre rundt på forskellige hastigheder.sample
-linjen (fjern #
) og nyd lyden af guitaren der spiller baglæns.mix:
-værdier til tal mellem 0
(ikke med i mixet) og 1
(helt med i mixet).Husk at trykke Run
. Så vil du høre ændringen næste gang løkken starter. Hvis du ender med noget rod, så bare rolig: Tryk Stop
, slet koden i kodefeltet og sæt en frisk kopi ind. Så er du klar til at lave musik igen. At lave fejl er en af de bedste måder at lære på…
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
Bliv ved med at eksperimentere indtil du bliver nysgerrig på hvordan det hele faktisk virker, og du begynder at spekulere på hvad ellers du kan lave. Nu er du klar til at følge resten af vejledningen.
Så hvad venter du på…?