Kappaleen tekeminen
Lisää uusi live_loop
bassoa varten ja kirjoita sille yksinkertainan ja toimiva bassolinja. Voit käyttää halutessasi selaimessa toimivaa virtuaalipianoa bassolinjan melodian tavailua varten. Alla on esimerkki bassolinjasta:
live_loop :basso do
play :c2
sleep 0.25
play :c2
sleep 2
play :e2
sleep 0.75
play :f2
sleep 1
end
Seuraavaksi opit miten Sonic Pi:n play
-komennon soivan äänen saa muunnettua. Joka kerta kun kutsut Sonic Pi:ssä komentoa play
se käyttää syntetisaattorin oletusääntä beep
ellei sitä ole aiemmin koodissa muutettu. Syntetisaattorin (tuttavallisemmin syntikan) äänen voi vaihtaa komennolla use_synth :syntikan_nimi
ennen play
-komentojen kutsuminen.
Alla olevassa esimerkissä käytämme syntikan bassona ääntä nimeltä fm
:
live_loop :basso do
use_synth :fm
play :c2
sleep 0.25
play :c2
sleep 2
play :e2
sleep 0.75
play :f2
sleep 1
end
Sonic Pi:ssä on todella monia mielenkiintoisen kuuloisia syntikoita. Voit löytää eri ääniä helposti use_synth
komennon jälkeen avautuvasta listasta tai Apupaneelin (Help) Synths-välilehdeltä.
Toisinaan saatat haluta soittaa säveliä eri pituisina. Tämä voidaan tehdä lisäämällä play
-komentoon parametrit attack
ja release
, jotka muokkaavat äänenvoimakkuutta suhteessa aikaan:
Komennot attack
ja release
näyttäävät seuraavanlaiselta. Nyt sävel soi yhteensä 4 iskun ajan: Se voimistuu ensimmäisen iskun ajan ja hiljenee 3 iskun ajan.
play 60, attack: 1, release: 3
Voit myös sävelistä lyhyitä iskuja (staccato) asettamalla attack
-arvo nollaan ja antamalla release
-arvolla hyvin pieni arvo:
play :c4, attack: 0, release: 0.2
Tutki vielä erilaisia syntetisaattorin ääniä ja sävelten pituuksia ja muokkaa bassoraidastasi juuri sellainen kuin haluat!
Kertauksena, olemme nyt ohjelmoineet yksinkertaisen rumpubiitin ja bassolinjan ja koodi näyttää jotakuinkin tältä:
use_bpm 100
live_loop :rummut 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
end
live_loop :basso do
use_synth :fm
play :c2, attack: 0, release: 0.25
sleep 0.25
play :c2, attack: 0, release: 0.3
sleep 2
play :e2
sleep 0.75
play :f2
sleep 1
end