play :c
wykonało dźwięk :c6
use_bpm 60
live_loop :a do
play :c4
sleep 1
end
live_loop :b do
play :e4
sleep 1
end
in_thread do
loop do
play :c4
sleep 1
end
end
in_thread do
loop do
play :e4
sleep 1
end
end
Zwróć uwagę, że w podanym fragmencie kodu nie znamy odgórnie bpm - pomocna może być funkcja current_bpm
.live_loop :maybe_stops do
play :c4
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
cue
i sync
sleep
delay
funkcji live_loop
use_bpm 60
in_thread(name: :b) do
play_pattern_timed (ring :e4, :f4).repeat(16), 1/8.0
end
in_thread(name: :c) do
play_pattern_timed (ring :e4).repeat(16), 1/16.0
end
in_thread(name: :a) do
play_pattern_timed (ring :f4, :e4).repeat(8), 1/4.0
end
cue
i sync
sleep
(ring :d1, :d2, :a2, :d3, :a3, :d4, :a4, :d5, :a5, :d6, :fs6)
,
cały czas zwiększając głośność aż do osiągnięcia maksymalnej głośności (pełnej, 1.0)Ciekawostka: ZTM Poznań udostępnia też trasy tramwajów, z odstępami między przystankami, pozwalając na stworzenie rekreacji przejazdu tramwajem.
Dla poniższego programu wykonaj następujące zadania:
use_bpm 60
use_synth :piano
define :play_section do |snds, durations|
play_pattern_timed(snds, durations)
end
define :joy do
# NIE MODYFIKUJ FUNKCJI JOY / DO NOT MODIFY JOY FUNCTION
define :repeats do
x = [76, 76, 77, 79, 79, 77, 76, 74, 72, 72, 74, 76]
play_section x, (ring 0.5).repeat(x.length)
end
repeats
play_section [76, 74, 74], [0.75, 0.25, 1]
repeats
play_section [74, 72, 72], [0.75, 0.25, 1]
end
joy
play_section
, tak by wysyłała komunikaty MIDI do zewnętrznego syntezatora.play_section
, tak by automatycznie harmonizowała melodię.