neděle 26. dubna 2015

Algoritmus aneb konec muzikantů v Čechách

Není pochyb o tom, že je jen velmi málo oblastí v současném přetechnizovaném světě, kam ještě nepronikly alespoň z části počítače. Díky tomu také v nedaleké budoucnosti zaniknou mnohá z dnešních běžných řemesel. Lidé jsou nahrazováni technologiemi, algoritmus kam se podíváme. Podle algoritmů vaříme kávu, objednáváme u okénka v KFC, pereme, myjeme… Jako aktivní muzikant jsem si položil otázku, jak to bude s námi v příštích pár letech. Bude ještě za pár let pravdivé rčení „Co Čech, to muzikant“ nebo už to bude jen „Co člověk, to chodící nemyslící algoritmus“?

Má pojem algoritmus v hudbě své místo? Má něco společného hudba s algoritmem a matematikou? Vždy jsem se považoval za velmi špatného matematika, o logickém myšlení nemluvě. Jako muzikant přesto vnímám strukturu a řád při tvorbě a reprodukci hudebních děl jako naprostou samozřejmost. Pokud by byla hudba bez systému, nebyla by to píseň, ale jen shluk náhodných zvuků. Teprve jasná pravidla, struktura (sloka, mezihra, refrén…) dělají hudební dílo hudebním dílem. Je to tedy také určitý algoritmus.

Každý muzikant musí přirozeně umět počítat. Když ne nahlas, tak určitě v duchu, a možná i tak automaticky, že už to často ani nevnímá. Například při sóle umí podvědomě napočítat 8 či 16 taktů a vnímat lehké a těžké doby, které se v nich vyskytují. Jen tak se melodie i improvizujícího muzikanta hezkým obloukem uzavře a vrátí a nevypadá tak jako něco, co neskončí, ale prostě jen přestane.

Aby byl stroj (PC, robot) schopen podobných interpretačních schopností, musel by pracovat s chybami a odchylkami. Žádný muzikant se při interpretaci skladeb nedrží jen striktně notového zápisu (zdrojového kódu). I když je přesně zadána délka tónu (proměnná), například „zahraj čtvrťovou notu“, v každém zvoleném tempu je tato doba rozdílná. I když je notovým zápisem přesně zadána výška tónu, kromě elektronických hudebních nástrojů, kde je tón generován pomocí čipů, celý orchestr nikdy nezahraje komorní A přesně v uvedené frekvenci 440 Hz. I když je předepsána repetice (cyklus), mnoho muzikantů ji jednoduše vynechá, jiný zase přidá. Právě z tohoto důvodu je hudba tak zajímavá, bohatá a barevná. Každý muzikant, i když dostane přesně stejný notový zápis (zdrojový kód), přednese skladbu osobitě a jedinečně. Díky tomu zatím zní interpretace počítačem ve srovnání s živým přednesem často spíše komicky. Lze již sice naprogramovat reprodukci hudby tak, aby některé tóny byly záměrně chybně interpretovány (práce s chybou), ale v tu chvíli se již opět nejedná o náhodné odchylky (i tyto náhodné odchylky je nutné generovat dodaným algoritmem). Podobně je to u zesílení, dynamiky atd. 

Pokusy o interpretaci stroji jsou zaznamenány již od pradávna:
  • Hrací strojky a algoritmy
  • Děrné štítky určují, který tón, a v jaké délce má být zahrán
  • Moderní programovací jazyky, jako např. Turbo BASIC, obsahují dokonce speciální instrukce pro programování hudby
Lze ale vůbec naučit stroje hrát hudbu tak, jak ji hraje a cítí člověk? Lze stroji předložit takový algoritmus? A jaký by takový algoritmus měl být?

Algoritmus je konečný soubor pravidel (instrukcí, příkazů), jež dávají návod k vyřešení určité třídy úloh, které mají tyto vlastnosti:
Rezultativnost, tj. po konečném počtu kroků (krokem rozumíme provedení daného pravidla) dospět od libovolných přípustných vstupních hodnot (pokud existují) k výstupním hodnotám.
Determinovanost, tj. každé pravidlo musí být formulováno tak, aby v každé fázi postupu byly jednoznačně a přesně definovány operace, které mají následovat.
Efektivnost, tj. všechny operace zahrnuté do daného algoritmu musí být proveditelné v konečném časovém intervalu.
Hromadnost, tj. algoritmus se dá použít na celou třídu úloh téhož typu. (Bc. Judita Piknerová, 2009)

Jak ale vypadají pravidla, postupy (algoritmy) a jejich interpretace v hudbě? Ukážeme si některé z nich na příkladech:
  1. Rozložení celých tónů a půltónů ve stupnici
  2. Předznamenání a tónina
  3. Kadence (tónika, subdominanta, dominanta)
  4. Strukturu harmonických pochodů
  5. Tempo
ad1) Je možné s jistotou tvrdit, že se jedná o algoritmus, který je neměnný jak pro člověka, tak pro stroj. Dle zadaných postupů (algoritmu) lze jednoznačně poznat, či interpretovat typ stupnice (durová, mollová, lydická, myxolydická atd.). U mollové lze takto jednoznačně poznat její druh (aiolská, harmonická, melodická).


 ad2) U předznamenání je tento algoritmus již nutné upřesnit dle proměnné. Např. 3 # může mít jak A dur, tak cis moll.


Tento příklad je pro přehlednost značně zjednodušený. Pokud bychom chtěli algoritmus, který bude vždy správně a jednoznačně interpretován, museli bychom upřesnit veškeré existující, dokonce i neexistující, ale možné, stupnice.

ad3) Kadence jsou akordy tvořené vždy na prvním (C dur), čtvrtém (F dur) a pátém (G dur) stupni dané tóniny, tedy dle jasně zadaného algoritmu. Podobně jako u předznamenání je ale nutné pomocí proměnné upřesnit o jakou stupnici se jedná. Pokud jste někdy hráli na kytaru Dajánu, pak vězte, že ta čtyři „kila“, která jste k tomu použili (byť v jiném pořadí), byly právě ty akordy, o kterých tu teď byla řeč (doc. RNDr. Mirko Rokyta, 2015).

ad4) Struktura harmonických postupů. Zde již panuje naprostá nejednoznačnost. Jednak záleží na hudebním cítění každého interpreta (na rozdíl od stroje, který na základě zadaného algoritmu a hraných tónů generuje harmonický podklad), ale také dle zvyklostí jednotlivých regionů. Jinak doprovodí píseň dudák z Chodska a naprosto odlišně hráč na cimbál z Moravy. Také ji jinak doprovodí hráč vyznávající vážnou hudbu a jinak jazzman.

Navíc pokud by byla hudební tvorba svázána algoritmy, nikdy by nevznikly písničky například skupiny Beatles, kteří o nějakých pravidlech v hudbě neměli zpočátku sebemenší tušení. Jen tím, že nebyli těmito pravidly svázáni a řídili se citem, vznikly tyto nesmrtelné písně.

ad5) Tempo. Zde už nelze o jednoznačném algoritmu ani uvažovat. I předepsané tempo si každý hráč upraví dle svého. Dle svého cítění, ale i dle svých schopností. Živá interpretace se také může stát terčem obdivu a uznání, což u interpretace pomocí jakéhokoli zařízení zřejmě nepřipadá v úvahu. S tím souvisí i sociální stránka setkání a sdílení společného hudebního zážitku.

V přeneseném slova smyslu můžeme hovořit o notovém zápisu jako o softwaru s otevřeným zdrojovým kódem, kdy každý interpret (uživatel) může být do jisté míry také programátorem, který si zdrojový kód upraví ke své spokojenosti a o skladateli (programátorovi), který se musí alespoň okrajově základními pravidly a postupy (algoritmy) řídit.  Jednoznačných příkazů je ale v hudbě naštěstí jen velmi málo. Z velké části se jedná o algoritmy nejednoznačné. Domnívám se tedy, že se jedná o tzv. fuzzy algoritmy.

Prakticky veškerá hra na hudební nástroj je zatížená neurčitostí. V případě zadání výšky tónů je navíc rozdíl i mezi nástroji.

Příklady nejednoznačných, fuzzy příkazů
  • zahraj tón a silně, slabě, staccato, jako odtah,
  • hraj rychle, mírně rychle, široce, zpěvně, klidně,
  • zesiluj, zeslabuj,
  • ještě více zpomal,
  • vhodně prodluž tón h.
Takové algoritmy počítačoví interpreti, bez alespoň kousku umělé inteligence, ještě nějaký čas rozhodně nezvládnou. To samé platí také o komponování. Zatím tedy můžeme být klidní. Zatím!


Děje tohoto světa jsou výsledkem tří faktorů - přirozenosti, lidské vůle a náhody.
Avicenna