Salah satu aspek yang paling menarik dari Sonic Pi adalah memungkinkan Anda untuk menulis dan memodifikasi kode secara langsung untuk membuat musik, seperti halnya Anda bermain gitar secara langsung. Artinya, dengan sedikit latihan, Anda bisa membawa Sonic Pi ke atas panggung dan manggung dengannya.
Sebelum kita masuk ke detail tentang cara kerja Sonic Pi dalam sisa tutorial ini, saya ingin memberi Anda pengalaman tentang bagaimana rasanya membuat kode langsung. Jangan khawatir jika Anda tidak mengerti banyak (atau semua) hal ini. Cobalah untuk tetap duduk di kursi Anda dan nikmati…
Mari kita mulai, salin kode berikut ini ke dalam buffer kosong:
live_loop :flibble do
sample :bd_haus, rate: 1
sleep 0.5
end
Now, press the Run
button and you’ll hear a nice fast bass drum beating away. If at any time you wish to stop the sound just hit the Stop
button. Although don’t hit it just yet… Instead, follow these steps:
sleep
value from 0.5
to something higher like 1
.Run
button againOk, that was simple enough. Let’s add something else into the mix. Above sample :bd_haus
add the line sample :ambi_choir, rate: 0.3
. Your code should look like this:
live_loop :flibble do
sample :ambi_choir, rate: 0.3
sample :bd_haus, rate: 1
sleep 1
end
Now, play around. Change the rates - what happens when you use high values, or small values or negative values? See what happens when you change the rate:
value for the :ambi_choir
sample just slightly (say to 0.29
). What happens if you choose a really small sleep
value? See if you can make it go so fast your computer will stop with an error because it can’t keep up (if that happens, just choose a bigger sleep
time and hit Run
again).
Try commenting one of the sample
lines out by adding a #
to the beginning:
live_loop :flibble do
sample :ambi_choir, rate: 0.3
# sample :bd_haus, rate: 1
sleep 1
end
Notice how it tells the computer to ignore it, so we don’t hear it. This is called a comment. In Sonic Pi we can use comments to remove and add things into the mix.
Finally, let me leave you something fun to play with. Take the code below, and copy it into a spare buffer. Now, don’t try to understand it too much other than see that there are two loops - so two things going round at the same time. Now, do what you do best - experiment and play around. Here are some suggestions:
rate:
values to hear the sample sound change.sleep
times and hear that both loops can spin round at different rates.#
) and enjoy the sound of the guitar played backwards.mix:
values to numbers between 0
(not in the mix) and 1
(fully in the mix).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…