Gitaarmuziek Genereren Met Optimalisatietechnieken

Max
Hein

Neoklassieke metalsolo's gecomponeerd door mieren

Het is je droom om gitaarvirtuoos te worden, maar al snel merk je dat gitaarheld worden nogal wat talent en vooral vele uren noeste arbeid vergt. Vervolgens kom je op Graspop en wordt je brein door de ene supergitarist na de andere doormidden gekliefd met allerlei technische capriolen, die je doen afvragen van welke planeet die gasten komen. Je legt de lat hoog en oefent vele uren per dag, maar je vordering is zo traag  dat zelfs Sisyphus er medelijden mee zou krijgen. Welnu, martel jezelf niet langer want het kan eenvoudiger. In plaats van je vingers kapot te spelen op een echte gitaar, kan je ook een computeralgoritme schrijven dat voor jou in luttele seconden een gitaarsolo componeert en afspeelt.

Hoe kan een algoritme nu solo's componeren? Het concept hierachter is redelijk eenvoudig. Algoritme is een mooi woord voor gestructureerd stappenplan. Computers gebruiken algoritmes om bepaalde taken uit te voeren, maar ook een keukenrecept, of het stappenplan om Cola uit een drankautomaat te halen, zijn voorbeelden van algoritmes. Elk algoritme heeft een aanvangsfase. In casu heb je om te beginnen een referentiesolo nodig. Dit is cruciaal, omdat computers niet uit het ijle dingen kunnen creëren en dus informatie nodig hebben om uit te 'leren'. Van deze solo bereken je een hoop statistieken en de samenstelling ervan. Deze informatie gebruik je dan weer om met behulp van een zoekalgoritme een solo te genereren, die gelijkaardige eigenschappen heeft als de referentiesolo. Het heeft eigenlijk veel weg van een gitarist die geïnspireerd wordt door andere muziek,  van daaruit een hoop ideeën ontwikkelt en vervolgens het beste resultaat ten berde brengt. Het grote verschil zit 'm erin dat een gitarist jaren nodig heeft om iets aanhoorbaars te produceren, terwijl een computer zoiets op ongeveer 45 seconden doet.

Een zoekalgoritme, of heuristiek om nog wat slimmer te klinken, dient er toe om op een methodische manier dingen te ontdekken. Het zoekalgoritme dat gebruikt is geweest om solo's te genereren met de computer, is gebaseerd op het groepsgedrag van mieren. Mieren kunnen met elkaar communiceren door feromonen uit te scheiden. Zo kunnen ze elkaar vertellen waar er zich voedsel bevindt in de omgeving. Door middel van deze onderlinge communicatie en dankzij bepaalde gedragingen, kan een groep mieren na verloop van tijd de kortste afstand tussen het nest en de betreffende voedselbron vinden. Mieren volgen als het ware een gedragspatroon dat op een efficiënte manier leidt tot de kortste weg naar een doel. Medio 1990 hebben enkele wetenschappers dit gedrag gevat in een wiskundig model, genaamd Ant Colony Optimization. Dit model wordt heden ten dage vooral gebruikt om economische problemen op te lossen, maar kan evengoed gebruikt worden om metalsolo's mee te componeren.

De auteur heeft als dusdanig een algoritme ontworpen waarbij fictieve mieren solo's in een neoklassieke stijl maken, meer specifiek in de stijl van progressive metal maestro John Petrucci. Er komen hierbij geen mensen of muziektheorie meer aan te pas, enkel wat statistische informatie en een beetje wiskunde. Het uiteindelijke resultaat van het algoritme is een melodische variatie op de solo die er in eerste instantie is ingestopt. Omdat er virtueel oneindig veel compositiemogelijkheden bestaan, maakt het algoritme elke keer een andere solo aan. Smijt die gitaar dus maar in een hoek, want computers nemen binnenkort de muziekwereld over.

Max Alexander Hein

Download scriptie (1.68 MB)
Universiteit of Hogeschool
Universiteit Antwerpen
Thesis jaar
2014
Promotor(en)
Drs. Dorien Herremans