Muzyka algorytmiczna

Zajęcia 2 (2026-03-05)

Zadanie (na 2026-03-11)

Zadanie 1

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

  1. wykorzystuje obwiednię dźwięku (ADSR)
  2. manipuluje barwą dźwięku

Zadanie 2

Przygotowanie tabelki:

Interwał Opinia jak brzmią równocześnie Opinia jak brzmią po sobie
Pryma
Sekunda mała
Sekunda wielka
Tercja mała
Tercja wielka
Kwarta czysta
Tryton
Kwinta czysta
Seksta mała
Seksta wielka
Septyma mała
Septyma wielka
Oktawa

Przegląd interwałów dostępny Wikipedii

Synteza dźwięku w Sonic Pi

Funkcje play i synth

play :c4
sleep 1

# zachowuje się tak samo jak:

synth current_synth, note: :c4
sleep 1
with_synth :blade do
  play :c4
  sleep 1
end

# zachowuje się tak samo jak:
synth :blade, note: :c4
sleep 1

Jak płynnie przechodzić między dźwiękami

# Brak przejścia między dźwiękami
play :c4, duration: 1
sleep 1
play :c5, duration: 1
sleep 1
play :c4, duration: 1

# Skokowe przejścia między dźwiękami
x = play :c4, duration: 3
sleep 1
x.control note: :c5
sleep 1
x.control note: :c4

# Płynne przejścia między dźwiękami
x = play :c4, duration: 3, note_slide: 0.5
sleep 1
x.control note: :c5
sleep 1
x.control note: :c4

Konfiguracja syntezatora

Poniższe przykłady brzmią identycznie.

# Przykład 1
with_synth :prophet do
  with_synth_defaults res: 0.9 do
    play :c4
    play :e4
    play :g4
  end
  sleep 1
  with_synth_defaults res: 0.1 do
    play :c4
    play :e4
    play :g4
  end
end

# Przykład 2

synth :prophet, note: :c4, res: 0.9
synth :prophet, note: :e4, res: 0.9
synth :prophet, note: :g4, res: 0.9
sleep 1

synth :prophet, note: :c4, res: 0.1
synth :prophet, note: :e4, res: 0.1
synth :prophet, note: :g4, res: 0.1
sleep 1

Syntezator dsaw

synth :saw, note: :c4
synth :saw, note: :cs4
sleep 1

# detune: 1 przesuwa drugą falę o 1 dźwięk MIDI
synth :dsaw, note: :c4, detune: 1

Syntezator :piano

synth :piano, hard: 1
sleep 1
synth :piano, hard: 0.5
sleep 1

synth :piano, vel: 0.5
sleep 1
synth :piano, hard: 0.2
sleep 1