Odborné články Gymnaziální vzdělávání Python v hudbě: skript na akordy
Odborný článek

Python v hudbě: skript na akordy

26. 2. 2026
Gymnaziální vzdělávání
Autor
Pavel Konrád

Anotace

Pomocí programovacího jazyka Python prozkoumáme možnosti, jak přenášet a kódovat informace, které budeme demonstrovat na hudebních analogiích. V druhé aktivitě ze série Python v hudbě sestavíme krátký skript, který bude generovat informace o tónech v akordech.
  • Typ materiálu: cvičení 
  • Škola: gymnázium
  • Ročník: kvarta
  • Metody: pracovní list – samostatná práce
  • Vzdělávací obor: informatika
  • Tematický okruh: data, informace a modelování – kódování a přenos dat 
  • Očekávané výstupy: Rozlišuje a používá různé datové typy. Navrhuje a porovnává různé způsoby kódování z různých hledisek a vysvětlí proces a úskalí digitalizace.
  • Časová dotace:
    • Výuka: 45 minut
    • Příprava: 30 minut
  • Pomůcky, hardware a software
    • Učitel: dataprojektor, výpočetní zařízení (PC, notebook, tablet)
    • Žák: výpočetní zařízení (PC, notebook, tablet)

Zdroje:

  • A MANOVICH, Lev. Avant-garde as Software. Artnodes, 2003.
  • MANOVICH, Lev. New Media: From Borges to HTML. In.: Wardrip-Fruin, N. a kol. (eds.): The New Media Reader. Cambride: MIT Press, 2003, s. 13–25.

Potřebné vstupní znalosti a dovednosti

Oborové

  • Základní znalost programovacího jazyka Python
  • Znalost rozdílu mezi řetězcem znaků a číselným typem int
  • Použití funkce print

Digitální dovednosti

  • Pokročilé ovládání počítače
  • Schopnost postupovat podle návodu
  • Orientace v základní terminologii algoritmizace a programování

Vzdělávací cíle:

  • Aplikovat v praxi teoretické dovednosti ohledně proměnných
  • Umět přiřadit proměnné hodnotu a pracovat s ní na výstupu programu
  • Uložit proměnnou do proměnné

Přínos využití digitálnícg technologií

Díky programovacímu jazyku Python můžeme přiřazovat proměnným různé hodnoty, skrze které můžeme díky algoritmům automatizovat různé procesy.

Metodická poznámka

Tato aktivita navazuje na teoretický rámec ze série Python v hudbě – proměnné ve stupních stupnice. V této aktivitě se aplikují prozkoumané znalosti do funkčního celku. Tato aktivita ukazuje skrze příklad praktického využití principy programování.

První třetina hodiny:

Učitel začíná v úvodní části rychlým zopakováním veškeré terminologie z předešlé aktivity. Demonstruje, jakým způsobem pracujeme s proměnnými, a rozešle rozpracovaný seznam s proměnnými. Na tomto seznamu postupně vysvětluje, jak můžeme ukládat do proměnných další proměnné, a nechává prostor, aby studenti nad tématem samostatně přemýšleli. Pro úplnost doplní, že jednotlivá data z proměnných můžeme spojovat pomocí znaku +. Upozorní studenty na nutnost správné syntaxe a zopakuje rozdíl mezi textovým řetězcem a int.

#tóny ve stupnici C dur konkrétně

prima = „c“

sekunda = „d“

tercie = „e“

kvarta = „f“

kvinta = „g“

sexta = „a“

septima = „b“

oktáva = „c2“

#stupně ve stupnici abstraktně

prvniStupen = prima

druhyStupen = sekunda

tretiStupen = tercie

ctvrtyStupen = kvarta

patyStupen = kvinta

sestyStupen = sexta

sedmyStupen = septima

 

#další úroveň abstrakce a spojování řetězců

tonika = prvniStupen + tretiStupen + patyStupen

 

Reflexe:

Učitel shrnuje výklad otázkami, které prověřují míru porozumění vysvětleným pojmům.

  • Může proměnná obsahovat další proměnné?
  • Dala by se tímto způsobem uzavřít celá hudební teorie do scriptu?
  • Jaké další informace ohledně tónu můžeme definovat?

V závěru první třetiny může učitel otevřít krátkou diskuzi o možnostech, které takovéto programování nabízí.

Druhá třetina hodiny:

Učitel zadává slovní úlohu, kterou se studenti snaží samostatně naprogramovat. Studenti pracují s online interpretem ve webovém prohlížeči. 

Úloha: Vytvoř proměnnou kadenceCdur, která bude obsahovat proměnné akordů C, F, G (tónika, subdominanta a dominanta), a tuto proměnnou následně pošli na výstup pomocí funkce print. Program vypíše tóny, které obsahuje kadence C dur.

Poslední třetina hodiny:

Na závěr učitel kontroluje zadání a vysvětluje, proč se znaky propsaly do jediného řádku. Popíše, jak můžeme oddělit či spojovat jednotlivé řetězce. Upozorní na správný zápis syntaxe a žáci si opraví zápis podle vzoru učitele.

#spojování řetězců

tonika = prvniStupen + “-” + tretiStupen + “-” + patyStupen + „\n“

Studenti ukládají text do poznámkového bloku a odesílají na e-mail učitele, který kontroluje splněné zadání podle daných kritérií: 

  • Kolik chyb v syntaxi student udělal?
  • V jaké míře porozuměl zadání?
  • Pracoval pečlivě a vypsal všechny proměnné?
  • Plnil práci svědomitě s respektem k vyučujícímu?
  • V jaké míře se soustředil na zadání?
  • Dokázal spojit jednotlivé řetězce pomocí speciálních znaků?
  • Oddělil výstupy novým řádkem?

Úloha 1: Vytvoř proměnnou kadenceCdur, která bude obsahovat proměnné akordů C, F, G (tónika, subdominanta a dominanta), a tuto proměnnou následně pošli na výstup pomocí funkce print. Program vypíše tóny, které obsahuje kadence C dur.

Úloha 2:  Uprav obsah proměnné tak, aby byly jednotlivé tóny od sebe na výstupu odděleny pomlčkou a každý nový akord začínal na novém řádku.

Zkušenosti s použitím materiálu

Toto cvičení je zaměřené na procvičování a praxi. Pakliže máme šikovnou třídu, můžeme výklad zkrátit na nezbytné minimum a nechat veškerou iniciativu na studentech. Pomáháme individuálně s problémy v syntaxi. V opačném případě můžeme naopak postupovat spíš teoreticky a na závěr hodiny s pomocí učitele zkusit napsat kus vlastního kódu.

Autor
Pavel Konrád

Hodnocení uživatelů

Článek nebyl prozatím komentován.

Váš komentář

Pro vložení komentáře je nutné se nejprve přihlásit.

Zařazení do seriálu:

Tento článek je zařazen do seriálu Python v hudbě.
Ostatní články seriálu:

RVP do 2024

Očekávané výstupy:

Materiály s klíčovým slovem NPO 3.1 DIGI vytvořil tým metodiků v projektu Podpora škol v kontextu digitalizace (Národní plán obnovy 3.1 DIGI) pro podporu pedagogů při ICT revizích.

Další informace, metodické materiály i inspiraci do výuky jednotlivých předmětů i napříč předměty najdete na webu https://digitalizace.rvp.cz/