Genrera ljud
Börja med att prova exemplet nedan. Vad händer?
live_loop :melodia do
use_synth :blade
r = [0.25, 0.25, 0.5, 1].choose
play chord(:c, :minor).choose, attack: 0, release: r
sleep r
end
I exemplet finns det en variabel r
, som får ett värde från listan [0.25, 0.25, 0.5, 1]
varje gång live_loopen börjar om från början. Variabeln r
används som parameter för release
och som ett värde för sleep
. En variabel är som en box dit du kan bevara ett värde och ta ut det när det behövs. I boxen kan du endast ha ett värde åt gången, så om du lägger in ett nytt värde försvinner det gamla. Att använda variabler är så lätt som att skriva variabelns_namn = variabelns_värde
. Nu har variabelns_värde
sparats i en variabel som heter variabelns_namn
. Senare kan du ta använda värdet genom att bara skriva variabelns_namn
.
Nu tillägger vi två nya live_loops i föregående exempel. Den första loopen :synth
gör inget nytt, men den andra (:bas
) är lite mer komplicerad.
live_loop :melodi do
use_synth :blade
r = [0.25, 0.25, 0.5, 1].choose
play chord(:c, :minor).choose, attack: 0, release: r
sleep r
end
live_loop :synth do
use_synth :blade
play chord(:c, :minor)
sleep 1
end
live_loop :bas do
use_synth :fm
n = chord(:c2, :minor).tick
3.times do
play n
sleep 1
end
play n
sleep 0.5
play chord(:c2, :minor).tick
sleep 0.5
end
n = chord(:c2, :minor).tick
tar en ton ur C-mollsackordet och sparar den i variabeln n
. .tick
flyttar sig alltid framåt till nästa värde när den kallas. Efter det spelar play n
tonen som är sparad i variabeln n
och efter det kallas tick
igen för att få nästa ton i ackordet. När loopen börjar från början, fortsätter tick
från var den blev kvar.