Sonic Pi Music

Program Sonic Pi to nie tylko narzędzie muzyczne, ale przede wszystkim fantastyczny sposób na naukę programowania. Pozwala na komponowanie utworów muzycznych poprzez pisanie kodu, co sprawia, że abstrakcyjne pojęcia informatyczne stają się słyszalne i namacalne.

W tym wpisie przyjrzymy się podstawowym koncepcjom, które wprowadzamy podczas naszych warsztatów dla dzieci. Celem jest pokazanie, że kodowanie może być kreatywną zabawą.

Pierwsze kroki: Nuta i Czas Link to heading

Każdy program w Sonic Pi zaczyna się od zagrania pojedynczego dźwięku. Służy do tego komenda play. Jednak muzyka to nie tylko dźwięk, ale też cisza i rytm. Dlatego drugą najważniejszą komendą jest sleep, która mówi komputerowi “poczekaj chwilę przed następnym krokiem”.

Oto jak zagrać dwie nuty z przerwą:

play 60   # Zagraj nutę C
sleep 1   # Czekaj 1 uderzenie
play 64   # Zagraj nutę E

Pętle: Muzyczne Powtórzenia Link to heading

Frazy utworów muzycznych często się powtarzają – refren, bit perkusyjny czy linia basu. W programowaniu, gdy chcemy coś powtórzyć, nie kopiujemy i nie wklejamy kodu w nieskończoność. Używamy pętli.

Zamiast pisać:

play 60
sleep 0.5
play 60
sleep 0.5
play 60
sleep 0.5
play 60
sleep 0.5

Możemy napisać to znacznie krócej i czytelniej:

4.times do
  play 60
  sleep 0.5
end

Dzięki temu, jeśli zechcemy zmienić nutę, musimy to zrobić tylko w jednym miejscu!

Wielowątkowość: Zespół Muzyczny Link to heading

Prawdziwa muzyka to często wiele instrumentów grających jednocześnie. Pianista nie czeka, aż perkusista skończy grać cały utwór, żeby zacząć swoją partię – grają razem.

W informatyce nazywamy to wielowątkowością (ang. concurrency). W Sonic Pi używamy bloku in_thread, aby stworzyć “osobnego muzyka” dla każdego instrumentu.

# Wątek perkusji
in_thread do
  loop do
    sample :drum_heavy_kick
    sleep 1
  end
end

# Wątek melodii
in_thread do
  use_synth :piano
  loop do
    play 60
    sleep 0.5
    play 64
    sleep 0.5
  end
end

Powyższy kod sprawi, że usłyszymy bęben i pianino grające w tym samym czasie.

Pobierz materiały do lekcji Link to heading

Przygotowaliśmy gotowy arkusz z lekcją, który krok po kroku wprowadza w świat programowania muzyki. Możesz go wydrukować i wykorzystać w domu lub w szkole.

Zachęcamy do eksperymentowania z kodem i tworzenia własnych kompozycji!