Poslední díl nás seznámí s programovatelným prostředím, pomocí kterého bude možné tvořit hudbu. Vybral jsem projekt Sonic-Pi, který je relativně jednoduchý a v současné době se s ním pracuje na některých školách v Anglii. Základní rozcestník bude web projektu sonic-pi.net. Za vším stojí profesor Dr Sam Aaron, působící na univerzitě v Cambridge.

Instalace

Web je poměrně rozsáhlý. V horní části se nachází tlačítka pro odkaz na stažení příslušné aplikace pro váš systém > klikněte a poté vyberte příslušnou variantu stažení. Nejste-li si jisti, zlatá střední cesta zaručí úspěch.

Dál to znáte. Stažený instalační soubor je třeba spustit, nechat se provést instalací, potvrdit všechny souhlasy a nakonec aplikaci spustit.

Já používám Sonic Pi na Mac, kde se instaluje trochu jiným způsobem, ale vzhled aplikace je ve všech systémech stejný, takže se jdeme seznámit.

Popis aplikace

Obrázek popisu jsem si vypůjčil z návodu, který se nachází na webu projektu. Je třeba přiznat, že návod je sestaven pro pedagogické použití – seznamuje s programovým prostředím od jednoduchého a základního až po složitější témata. Autor vychází z praxe a dokonce první kapitola není seznamovací, jak je typické u všech ostatních programů, ale popisuje první praktické kroky, které umožní manipulovat se zvukem. A to se mi moc líbí. Pro naše seznámení ale přece jen začnu popisem aplikace Sonic Pi.

Vše důležité se odehrává v pracovní oblasti D. Zde budeme psát kódy a různé skripta pro generátory, oscilátory a jiné typy zařízení (vysvětlím později).

Části H-E-F-I ukazují pomocné informace a v úvodní části seznamování s programem nejsou vlastně vůbec potřeba. Zde poskytuje program souhrn všeho, co zrovna provádí – něco jako palubní deska auta.

Nahoře se nachází důležitá tlačítka pro spouštění skriptu A – budeme jej chápat jako přehrávání – což není úplně správný termín s ohledem na to, že hudba se zde píše jako kód.

Spodní část G pak ukazuje návod a další pomocné materiály, když si s něčím nebudeme jisti – spodní část dokáže poradit.

První práce a logika skriptu

live_loop :flibble do
  sample :bd_haus, rate: 1
  sleep 0.5
end 

Když tento celý blok kódu zkopírujete a vložíte do programu, spustíte první hudební motiv v Sonic Pi. Uslyšíte smyčku (loop) 4 doby kopáku.

Nyní vyzkoušejte změnit některé parametry jednoduše tak, že je přepíšete. Hodnotu 1 u parametru rate (druhý řádek) změňte na 0.8 – pozor na tečku za nulou – ne čátku. Kód nyní znovu spusťte tlačítkem run.

Tempo zůstalo, ale tón kopáku se snížil. Když změníme hodnotu na 1 – tón se zvýší – zkoušejte.

Poté přistoupíme ke změně hodnoty parametru sleep na 1. Tak ovlivňujeme a nastavujeme tempo.

Závěr: parametr rate ovlivňuje výšku tónu a sleep tempo smyčky. Pro první vyzkoušení to stačí.

Program se čte zhora dolů – jednotlivé řádky popisují vlastnosti zvuku. Se všemi názvy se musíme seznámit a měli bychom je znát – stejně jako jiný počítačový jazyk. Program nám pomáhá barevně označit jednotlivé prvky skriptu: funkce, proměnné, parametry a hodnoty. Ale o tom níže.

Tóny

Celý skript můžeme smazat a nahradíme jej malým kódem a následně jej spustíme:

play 60

Ozve se tón c1. Číslo značí pořadí klávesy. Každé číslo pak představuje půltón, takže 61 = cis.

Nyní změníme skript podle následujícího:

play 60
sleep 1
play 64
sleep 1
play 67

Tento skript již vytvoří motiv písně Ovčáci čtveráci. Hodnota parametru sleep nastavuje délku jednotlivých not – nebo přesněji časový úsek mezi jednotlivými notami. Lehkou úpravou nastavíme přesné tempo v jednotkách metronomu (bpm).

use_bpm 120
play 60
sleep 1
play 64
sleep 1
play 67

Celá píseň Ovčáci by vypadala následovně. Povšimněte si, že v polovině jsem pro udání tónu použil terminologický standard pomocí písmen a číslic. Pozor na nutnost před názvem tónu zapsat symbol dvojtečky. Pro C1 se zde používá C4 – důvod je jednoduchý: počítač neumí záporná čísla. Kdybyste chtěli takto zapsat notu s křížkem – pak k názvu noty připište s (např. fis = :Fs4) a nebo b (např. Eb4).

use_bpm 120
play 60
sleep 1
play 64
sleep 1
play 67
sleep 2
play 60
sleep 1
play 64
sleep 1
play 67
sleep 2
play :E4
sleep 0.5
play :E4
sleep 0.5
play :D4
sleep 0.5
play :E4
sleep 0.5
play 65
sleep 1
play 62
sleep 1
play :E4
sleep 0.5
play :E4
sleep 0.5
play :D4
sleep 0.5
play :E4
sleep 0.5
play 65
sleep 1
play 62
sleep 1
play 64
sleep 1
play 62
sleep 1
play 60

Nyní vyzkoušíme akord. Zapište následující kód a spusťte jej:

play 60, pan: -1
play 64, pan: 0
play 67, pan: 1

Mezi jednotlivými notami (play) není parametr sleep, tedy všechny noty budou hrát společně. Novinkou je dále za hodnotou noty čárka-mezera-pan-dvojtečka-mezera-číslo. Tak se zapisují vlastnosti. Vlastnost pan přikazuje při přehrávání přesunout zvuk do levého nebo pravého reproduktoru. Pozor na pravidla syntaxe pro zápis vlastností. Oddělujeme je čárkou a za názvem vlastnosti musí být dvojtečka. Vlastností může být i více.

Náš kód vytvořil tónický kvintakord, kde tón c bude znít nalevo, tón e uprostřed a tón g napravo – podobně jako dětský sbor.

Závěr

Opět, jako obvykle – její cílem tohoto článku podat kompletní návod a hotový manuál. Jistě dokážete najít vlastní cestu k rozvoji dovednosti použít tento nástroj ve výuce, nebo vlastní rozvoj.

Rozhodně se naučíte dodržovat pravidla zápisu skriptu: všechny parametry a vlastnosti a další prvky kódu mají svůj syntax. Pozor na znaky dvojtečku, čárku, tečku. Podle toho, kde tyto znaky napíšete, takový budou mít smysl a význam.

Tento projekt se svým významem hodí aplikovat do hodin informatiky, kde žáci mohou v kódově orientovaném prostředí vytvářet jednoduché hudební motivy. Vyžaduje určité množství hudebních poznatků, ale i bez něj lze experimentovat a přicházet na souvislosti samostatně – tak lze splnit též trend badatelsky orientované pedagogiky.

Nicméně, protože obvykle vyučující IT nejsou seznámení s hudební naukou, je zde prostor pro případné občasné použití tohoto projektu v rámci vyučování hudební výchovy.

Varianty didaktických úkolů:

  • Žák si okopíruje skript písničky Ovčáci čtveráci a náhodně pozměnili čísla tónů. Vznikne nová melodie.
  • Nyní může přistoupit k menšímu omezení výběru čísel od – do, např. 60 – 72. Mimochodem, rozdíl je kolik? A proč toto číslo? Lze tak vyvodit poznatek.
  • Následně lze zkoumat jiný zvuk, jiné tempo, měnit parametr sleep atd.
  • V závislosti na znalosti a míře osvojení práce s programem lze vytvářet další a další úkoly a miniprojekty.