Przygotowanie koncepcji utworu zaliczeniowego.
Wyłączenie zapory sieciowej systemu Windows:
Przykładowe wykorzystanie programu monitorującego wejście w Pythonie, wysyłającego komunikaty do Sonic Pi poprzez OSC.
Plik controller.py
Uruchomienie:
pip install python-osc==1.9.3 inputs==0.5
python ./controller.py gamepad
dla kontrolera, ./controller.py mouse
dla myszkiPrzykład z myszką:
use_real_time
n = note(:c4)
a = 0.5
s = synth :dsaw, amp: a, note: n, duration: 10000
loop do
x, y = sync "/osc:127.0.0.1:*/mouse/move"
n += x / 4.0
a += y / 100.0
if a < 0 then a = 0 end
if a > 1 then a = 1 end
control s, amp: a, note: n
end
Przykład z kontrolerem:
use_real_time
n = note(:c3)
l = synth :saw, note: n, duration: 10000, amp: 0.5
r = synth :saw, note: n, duration: 10000, amp: 0.5
live_loop :left do
f = sync "/osc:127.0.0.1:*/gamepad/left"
l.control note: n + 24 * (f[0] / 1024.0)
end
live_loop :right do
f = sync "/osc:127.0.0.1:*/gamepad/right"
r.control note: n + 24 * (f[0] / 1024.0)
end
Program synchronizujący co pierwsze uderzenie co 4 uderzenia
use_real_time
loop do
link 4, 0
play :c4
end