Przygotowanie krótkiego utworu (~30s) w środowisku Sonic Pi, spełniającego następujące wymagania:
live_loop
, sleep
, play
use_bpm 60
live_loop :a do
play :c4
sleep 1
end
live_loop :b do
play :e4
sleep 1
end
foo
i bar
wykonują się naprzemiennie:
live_loop :foo do
play :c4
sleep 1
end
live_loop :bar do
play :e4
sleep 1
end
sleep
delay
funkcji live_loop
play :C4
sleep 1
play :E4
sleep 1
play :G4
play 60
sleep 1
play 64
sleep 1
play 67
play :c4, attack: 1, decay: 1, sustain: 1, release: 1
play :c4, amp: 0.3
play :e4, amp: 0.3
play :g4, amp: 0.3
sleep 1
play note(:c4, octave: 3)
print current_bpm
use_bpm 180
with_bpm 180 do
play :c4
sleep 1
end
use_synth :dsaw
(podobnie with_synth
)
12.times do |oct|
play note(:c4, octave: oct)
sleep 1
end
Gra kolejno: :c0, :c1, :c2, ..., :c11
oct
jest nazwą iteratora (zmieną pętli), może być dowolna inna.
Sekcję |oct|
można pomijać jeśli nie chcemy wykorzystywać licznika.
3.times do
play :c4
sleep 1
end
live_loop :foo do
play :c4
sleep 1
end
live_loop :bar do
play :e4
sleep 2
end
Gra kolejno: :c4 i :e4, :c4, :c4 i :e4, :c4 ...
Nazwy foo i bar są arbitralnie wybranymi nazwami.
for x in [:c4, :e4, :g4] do
play x
sleep 1
end
play :c4, duration: 4
sleep 1
play :c4, attack: 1, attack_level: 0.5
sleep 1
play :c4, attack: 0, decay: 1, sustain: 1, release: 0
play :c4, attack: 0, decay: 1, sustain: 1, release: 0
live_loop
po 3 iteracjachn = 0
live_loop :foo do
if n == 3 then stop end
n += 1
play :c4
sleep 1
end