Muzyka algorytmiczna

Zajęcia 10 (2025-05-07)

Zadanie

Na kolejne zajęcia (2025-05-14)

Przygotowanie koncepcji utworu zaliczeniowego.

OSC

Wyłączenie zapory sieciowej systemu Windows:

Wykorzystanie kontrolerów

Przykładowe wykorzystanie programu monitorującego wejście w Pythonie, wysyłającego komunikaty do Sonic Pi poprzez OSC.

Plik controller.py

Uruchomienie:

Przykł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

Ableton Link

Program synchronizujący co pierwsze uderzenie co 4 uderzenia

use_real_time
loop do
  link 4, 0
  play :c4
end