Hudební rošambo 2. státnicového dne očima Profinit

7.7.2014

Týden uběhl jako voda a můj druhý státnicový den je tu. Jako „mazák“ jsem se ráno usadil na svou oblíbenou židličku, zopakoval si rituál s kávou a chlebíčky a zkoušení začalo. A s ním další nálož bakalářských prací. Zatímco můj první den se nesl primárně v duchu strojového učení, umělé inteligence, datové analytiky a především pak novinek v oblasti konceptuálního modelování systémů i procesů, den s pořadovým číslem dva dostal naprosto odlišný a netradiční nádech.
Takřka polovinu času jsme se bavili o hudbě. Měli jsme totiž štěstí na skupinu studentů, kteří pod vedením jednoho vedoucího společně pracovali na systému FIT Music (omlouvám se, pokud komolím jeho název) pro ukládání, správu a přehrávání notových záznamů. Na první pohled jednoduché zadání má ale velmi zajímavý rozměr – kromě vytvoření samotného webového katalogu notových záznamů se museli studenti poprat minimálně s následujícími problémy.

1) Spolupráce v týmu sedmi lidí
Pro většinu z nich první zkušenost s týmovou tvorbou softwarového díla a myslím, že pro každého velmi inspirativní. Studenti bojovali s celou řadou problémů, z nichž si většinu způsobili sami. Nedokonalá analýza, nedodržení dohodnutých standardů a praktik, slabé testování, nedostatek zkušeností s tvorbou modulárních systémů. A takto bych mohl pokračovat. Zajímavé bylo, že při hodnocení své práce skoro každý z nich uvedl problémy v týmové spolupráci na jednom z prvních dvou míst.

2) Rozpoznávání notových záznamů
Student se volbou tohoto tématu pustil do oblasti velmi náročné, která není uspokojivě řešena žádným existujícím komerčním nástrojem. Notové záznamy jsou často poměrně nekvalitní a navíc rozpoznávání not ve srovnání s písmenky abecedy nebo čísly je výrazně složitější. Nejsem žádný hudebník, ale prvním pohledem na notový zápis průměrného „popíku“ mi bylo jasné, jaká kvanta složitostí a problémů se v něm skrývají. Naštěstí pro projekt i samotného studenta se jednalo o velmi nadaného jedince se zájmem o computer science i hudbu, a to se velmi pozitivně projevilo na úrovni a výsledcích práce.

3) Uložení notových záznamů do interních datových struktur
Student, který se pustil do řešení tohoto problému, musel nastudovat nejrozšířenější formáty pro ukládání notových záznamů. Vybral si MusicXML, MIDI a GuitarPro. Samotná analýza pak ukázala, že mezi formáty je několik principiálních rozdílů a že problematika samotného zápisu není vůbec triviální. Velká část obhajoby práce se pak nesla v duchu debaty o principech hry na kytaru a další hudební nástroje, což mi jen znovu potvrdilo, jak klíčové je porozumění doméně při tvorbě jakéhokoli typu software. Student se však se složitostí statečně popral a našel způsob, jak efektivně notový záznam uložit i jak zajistit konverzi mezi jednotlivými rozšířenými a všeobecně používanými formáty. A možná se přitom naučil i trochu brnkat na kytaru.

4) Srovnání hudebních záznamů a identifikace relevantních metrik
Ambiciózní část projektu, jejímž cílem bylo najít relevantní metriky pro srovnání dvou hudebních záznamů dle notového zápisu. Jako hudebnímu „neználkovi“ mi zadání přišlo velmi otevřené a náročné, což se nakonec ukázalo jako pravda. Student se snažil najít vnitřní formát pro notový zápis, který by mu umožnil efektivní srovnávání a určení vzdálenosti, resp. podobnosti. Pro mne osobně je filozofickou otázkou, co vlastně v hudbě znamená podobnost? Je posun o půl taktu více než dvě přidané noty navíc?

Student se tímto příliš nezabýval, k notovému záznamu přistoupil jako ke komplexnímu textu a přišel s poměrně triviální metrikou, jejímž základem je populární Levenshteinova vzdálenost. Prostě žádný zázrak.

Zbylé práce „hudebního týmu“ už mne tolik svým zaměřením nezaujaly, chci ale ještě upozornit na jednu práci, která mne ohromila. Jeden ze studentů vytvořil komplexní program pro modelování trojrozměrných objektů ve virtuální realitě pomocí skutečných 3D brýlí. Pokud znátehttp://leonar3do.com/, tak víte, o čem mluvím. Práce mne ohromila svým rozsahem, propracovaností, řadou inovativních momentů a super pečlivým přístupem studenta. Jedna z otázek oponenta či vedoucího byla, zda software podporuje tvorbu modelů vhodných pro 3D tisk. Student jako důkaz donesl malou propracovanou figurku medvídka, která vznikla 3D tiskem z výstupů jeho programu. Prostě zážitek.

A to je vše. Moje státnicová mise tímto pro letošek končí a já doufám, že podobnou příležitost dostanu i příští rok. Stejně jako minulý týden i tentokrát jsem měl možnost vidět práce méně zajímavé, průměrné, nadprůměrné a úchvatné. Především témata rozpoznávání notových záznamů a trojrozměrné modelování ve virtuální realitě svou kvalitou a rozsahem výrazně předčila vše ostatní, a pokud oba mládenci nepoleví a budou dále pokračovat ve své práci, máme tu další horké kandidáty na finále ACM SPY 2016. Máme se nač těšit.
 
Tomáš Krátký, Profinit
 
Tomáš Krátký, Director of Products & Services, Profinit