
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!