Muzyka algorytmiczna

Zajęcia 6 (2026-04-01)

Zadanie (na 2026-04-08)

Przygotowanie krótkiego utworu (~30s) w środowisku Sonic Pi, spełniającego następujące wymagania:

  1. Wybierz progresję akordów, która będzie stanowić akompaniament twojego utworu.
  2. Następnie zdefiniuj linię melodyczną pasującą do wybranej progresji akordów
  3. Można użyć więcej niż jednej progresji, ale staramy się ograniczyć do co najwyżej 2-3

Zadania na zajęciach

  1. Wybierz kilka progresji z listy. Odtwórz je w Sonic Pi z wykorzystaniem funkcji chord, chord_inversion, chord_degree
  2. Zrealizuj następujący algorytm: Diagram przedstawiający algorytm
  3. Przygotuj melodię i jej harmonizację. Następnie przekaż samą melodię do osoby obok. Po wykonaniu przez drugą osobę harmonizacji porównajcie wasze wyniki.

Dodatkowe zasoby

Funkcje wykorzystywane na zajęciach

Państwu pozostawiam zapoznanie się z dokumentacją w Sonic Pi. (Widok > Pokaż pomoc > Lang)

chord
Tworzenie podstawowych akordów
chord_degree
Tworzy akord wybranego stopnia
chord_inversion
Inwersje akordów

Przykład realizacji automatu

use_bpm 600
state = "A"

use_random_seed 3

live_loop :markov do
  # Zrealizuj stan
  print "Current state: ", state
  if state == "A" then
    play :c4
  elsif state == "B" then
    play :g4
  elsif state == "C" then
    play :e4
    stop
  end
  
  sleep 1
  
  # Przejdź do następnego stanu
  if state == "A" then
    n = rrand 0, 1
    if n <= 0.3 then state = "A"
    elsif n <= 0.9 then state = "B"
    elsif n <= 1   then state = "C" end
  elsif state == "B" then
    n = rrand 0, 1
    if n <= 0.1 then state = "A"
    elsif n <= 1  then state = "B"
    elsif state == "C" then
    end
  end
end