12.07.2015 Views

Využití MIDI komunikace při výuce hudby

Využití MIDI komunikace při výuce hudby

Využití MIDI komunikace při výuce hudby

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.2.8 Přehrávání akordůFunkce přehrávání akordů je velmi podobná funkci Intervaly, rozdíl je pouzev množství zpracovávaných tónů (intervalů). Tato funkce zabírá relativně hodně paměti,jelikož je na výběr mezi 32 úrovněmi obtížnosti. Losování náhodných akordů zase určujestisk tlačítka Enter. Tentokrát je losovacích funkcí víc, přesněji 8 (u funkce „Intervaly“ jsoupouze dvě). Když máme vylosovaný akord, funkce zavolá jinou funkci, které přehraje akord,a program se vrátí k předešlé funkci.Na displej se vypíše, ať zahrajeme akord (který jsme slyšeli), tudíž hudební analyzátorčeká na příjem dat. Příjem dat má v režii zase jiná funkce, která již byla popsánav rozcestníku „<strong>MIDI</strong> Analýza“. Zahrajeme-li akord, běh programu se vrátí k funkci „Akordy“v rozcestníku „Trénink sluchu“ a porovná námi zahraný akord a akord, který byl zahránhudebním analyzátorem. Na displej se vypíše, zda jsme správně sluchově rozeznali akord apro naši informaci vypíše název akordu, který byl přehrán hudebním analyzátorem.Příklad generování akordů v závislosti na úrovni obtížnosti:switch(level){case 1://případ pro první úroveňAkord_Counter_Dur_moll(); // vygeneruje intervaly pro Dur či moll vzávislosti na době držení tlačítka Enterreceive = 500;//doba mezi 1. a 2. zahranou notou v milisekundáchnote[2] = 0x3C;// číslo noty C = hraní jakéhokoliv akordu od CTrojzvuk_Play(); //Funkce přehrávající trojzvukybreak;case 2://případ pro druhou úroveňAkord_Counter_Dur_moll(); // vygeneruje intervaly pro Dur či moll vzávislosti na době držení tlačítka Enterreceive = 1;//konstanta pro harmonicky znějící akordnote[2] = 0x3C;// číslo noty CTrojzvuk_Play(); //Funkce přehrávající trojzvukybreak;case 3://případ pro třetí úroveňAkord_Counter_Dur_moll(); // vygeneruje intervaly pro Dur či moll vzávislosti na době držení tlačítka Enterreceive = 500;//konstanta pro melodicky znějící akordInterval_Norm();//Změní rozsha proměnné note[2] od 60 do 72, tomá za příčinu výběr mezi tóny c 1 – c 2 .Trojzvuk_Play();break;//Funkce přehrávající trojzvuky//obdobně pokračují případy a po úroveň 3240

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!