Bachelorscriptie Kunstmatige Intelligentie

Temporele features in de classificatie van elektronische muziek in genres

Student Sander Bos Begeleider Gerrit Bloothooft ECTS 15

12 september 2013 Inhoud

1 Achtergrond 4 1.1 Soorten van classificatie ...... 4 1.1.1 Multi-klasse (hi¨erarchisch) ...... 4 1.1.2 Multi-label (zonder hi¨erarchie) ...... 4 1.1.3 Single-label ...... 4 1.2 Muzikale eigenschappen en features ...... 5 1.2.1 Timbre ...... 5 1.2.2 Ritme ...... 10 1.2.3 Pitch ...... 12 1.2.4 Temporele ontwikkeling en dynamiek ...... 14

2 Vraagstelling 14

3 Methode 14 3.1 Samenstellen dataset ...... 15 3.1.1 Last.fm ...... 15 3.1.2 Selectie tags en nummers ...... 16 3.2 Features ...... 17 3.2.1 Selectie van de basis featureset ...... 17 3.2.2 Windows en aggregators ...... 18 3.2.3 Temporele ontwikkeling: meta-features ...... 19 3.2.4 Berekening van de features ...... 21 3.3 Classificatie ...... 22 3.3.1 Weka ...... 22 3.3.2 Keuze classifier ...... 22 3.3.3 Preprocessing ...... 23 3.4 Uitvoering experiment ...... 23 3.4.1 Gebruikte featuresets ...... 23 3.4.2 Cross-validation ...... 24 3.4.3 Statistieken voor evaluatie ...... 24

4 Resultaten 25 4.1 Basis sets ...... 25 4.1.1 Groep 1: ZS, SEGM en DOM ...... 26 4.1.2 Groep 2: DDOM, MINMAX, SSTAT en TEMP ...... 27 4.2 Combinatie sets ...... 27 4.2.1 Gekozen combinaties ...... 27 4.2.2 Resultaten combinaties ...... 28

5 Discussie 30 5.1 Vergelijkbaarheid met ander onderzoek ...... 30 5.2 Betrouwbaarheid van gebruikte software en berekende features ...... 30 5.3 Prestaties met andere classifiers ...... 30 5.4 Prestatie low-level features ...... 31 5.5 Beschrijvende statistieken ...... 31 5.6 Complexiteit ...... 31 5.7 Dataset ...... 31 5.8 Gebruikte software ...... 32

1 5.8.1 Marsyas ...... 32 5.8.2 MIRToolbox ...... 32 5.8.3 Vamp Plugins ...... 32 5.8.4 Microsoft Excel 2013 ...... 32 5.8.5 Weka ...... 33 5.9 Classifiers ...... 33 5.9.1 Discretizering ...... 33 5.10 Segmentering ...... 33 5.10.1 Andere methodes voor segmentering ...... 33 5.10.2 Thresholds voor segmenten ...... 33

6 Conclusie 34

Bibliography 34

A Dataset 37 A.1 Drum & Bass ...... 37 A.2 Progressive House ...... 37 A.3 IDM ...... 37 A.4 Minimal ...... 37 A.5 Dubstep ...... 38 A.6 Electropop ...... 38 A.7 Eurodance ...... 38

2 Inleiding

In het bestuderen van muziek wordt al eeuwen een onderscheid gemaakt tussen verschil- lende muziekstijlen of -genres. In ieder geval wordt al binnen de muziek van de renaissance onderscheid tussen verschillende muzikale genres [11], en waarschijnlijk loopt de indeling van muziek in genres zelfs veel verder terug dan dat. In muziekwinkels is het vaak ook de gewoonte om muziek in te delen in verschillende bakken met namen als pop, rock, folk, jazz en klassiek. Door de ontwikkeling en diversificatie van de muziek groeit het aantal genres waarin deze kan worden ingedeeld. Met name sinds de introductie van de personal computer en het interactieve web is de hoeveelheid beschikbare muziek sterk gegroeid [28]. Specifiek heeft de ontwikkeling van elektronische muziek gezorgd voor een bijzonder grote toename in het aantal genres [27]. Omdat de hoeveelheid muziek die dagelijks wordt geproduceerd en de hoeveelheid genres die met de jaren onstaan is te groot is om handmatig in te delen, is een geautomatiseerde oplossing voor dit classificatieprobleem nodig.

Bij het classificeren van muziek in verschillende genres of soorten worden muzikale eigen- schappen gebruikt om muziek in te delen. Onder muzikale eigenschappen kan alles worden verstaan wat de inhoud van een muziekstuk beschrijft, zoals de instrumenten, de akkoorden- schema’s en de aantal ritmische patronen die in de muziek voorkomen. Expliciete data met instrumenten en akkoorden is meestal echter niet aanwezig of zelfs onmogelijk voor sommige soorten muziek. Om de muziek te typeren moet dus uit de audio zelf worden achterhaald wat voor soort ritmische en tonale eigenschappen de muziek heeft. Om dat te doen worden ver- schillende berekeningen gedaan op basis van het muzieksignaal, zoals de meest voorkomende noten of het meest waarschijnlijke tempo van de muziek. Deze metingen worden in dit on- derzoek features genoemd. Zulke features moeten samen dus de muzikale eigenschappen beschrijven, maar zijn zelfs slechts de uitkomst van een berekening op basis van een digitaal signaal.

De hoeveelheid onderzoek naar de classificatie van muziekgenres is in de afgelopen tien jaar sterk toegenomen. Het onderzoek van Tzanetakis & Cook [37] is voor veel recente onder- zoeken het uitgangspunt. In dat onderzoek worden experimenten gedaan met het automa- tisch classificeren van tien hoofdgenres (Klassiek, Country, Disco, HipHop, Jazz, Rock, Blues, Reggae, Pop en Metal), en los daarvan worden experimenten gedaan met de subgenres van Klassiek en Jazz. In vervolgonderzoek is onder andere meer ingegaan op specifieke features [6, 31], manieren om features te berekenen [9, 14] en classifiers die kunnen worden gebruikt [3]. In een andere richting is ook onderzoek gedaan naar de soorten klassen die kunnen worden gebruikt. Bertin-Mahieux et al. [4] maken gebruik van duizend tags uit de database van last.fm, voor multi-label classificatie. Er is echter nog niet veel onderzoek gedaan naar features die gebruik maken van de ontwikkeling van muziek over tijd binnen de nummers of muziekstukken zelf.

De focus van deze scriptie ligt op de dynamische en temporele features die worden gebruikt bij classificatie van muziek in genres. Daarbij is gekozen voor classificatie van elektronische muziek in genres omdat juist daar een sterk groeiende hoeveelheid genres waarneembaar is [27].

3 1 Achtergrond

In dit gedeelte wordt besproken wat de huidige stand van zaken is op het gebied van de classificatie van muziek in genres. Eerst wordt besproken welke taxonomie¨ener zijn en vervolgens wordt ingegaan op de muzikale eigenschappen die kunnen worden gebruikt als basis voor de classificatie.

1.1 Soorten van classificatie

Voordat er kan worden geclassificeerd, moet er voor de classificatie een taxonomie worden gekozen. Er zijn sterk verschillende meningen over wat de juiste taxonomie is [29], en ook de resultaten zijn van de keuze afhankelijk [22]. In dit gedeelte wordt kort besproken welke keuzes er zijn in de taxonomie.

1.1.1 Multi-klasse (hi¨erarchisch)

In onderzoek naar muziekgenres wordt vaak gebruik gemaakt van een hi¨erarchisch systeem van genres. Zo bestaat er jazz, blues en klassieke muziek, en bijvoorbeeld binnen jazz weer free jazz, bebop, cool jazz et cetera. Een dergelijke vorm van classificatie is voor archivering en structurering handig, maar de grond voor de gekozen indeling moet vaak worden gedaan op basis van historisch geaarde musicologische kennis. Bovendien zijn cross-overs tussen genres (bijvoorbeeld tussen pop en jazz) problematisch in plaatsing onder een hoofdgenre. Daarnaast is het toevoegen van nieuwe genres problematisch omdat er meestal geen infor- matie is over het hoofdgenre. Volgens Brecheisen et al. [5] is het gebruik van een hi¨erarchie wel gunstig voor de snelheid van de classificatie, maar levert het geen verbetering in de precisie van de classificatie.

1.1.2 Multi-label (zonder hi¨erarchie)

Een vorm van classificatie die tegenwoordig vooral in het interactieve web wordt gevon- den is multi-label classificatie. Bij multi-label classificatie kan een vrij aantal labels worden toegekend aan subjecten. Zulke labels worden vaak tags of keywords genoemd. Multi-label classificatie is vooral handig voor databases waar gebruikers zelf de tags kunnen toevoe- gen. Op Last.fm, een online muziekdatabase die door gebruikers wordt beheerd (soortgelijk aan Wikipedia) wordt multi-label classificatie met gewichten gebruikt. Hoe vaker een tag is toegepast, hoe groter het gewicht van de tag. Bij een groter gewicht is er dus onder de gebruikers meer consensus over de tag. Er is recent meer onderzoek naar multi-label classi- ficatie, met goede resultaten [4, 32]. Multi-label classificatie is een sterk alternatief voor de andere autonomie¨en en past goed bij de hedendaagse online muziekdatabases. Bovendien is de multi-label aanpak flexibel en stuurbaar.

1.1.3 Single-label

In eenvoudigere gevallen is het ook mogelijk om single-label, niet hi¨erarchische classificatie toe te passen. Voor een persoonlijke bibliotheek zou het bijvoorbeeld handig kunnen zijn om alleen van zelf bedachte genres gebruik te maken. Het grote voordeel van single-label indelin- gen zonder hi¨erarchie is bijvoorbeeld dat er eenvoudiger gesorteerd kan worden. Daarnaast

4 kan single-lable classificatie worden gezien als een directe versimpeling van de hi¨erarchische classificatie wanneer alleen de subgenres in acht worden genomen. Het kan ook worden gezien als een directe versimpeling van gewogen Multi-label classificatie, wanneer alleen de tag met het zwaarste gewicht wordt gebruikt.

1.2 Muzikale eigenschappen en features

In deze paragraaf wordt een vergelijking gemaakt tussen de muzikale eigenschappen die zijn gebruikt in verschillende onderzoeken naar de classificatie van muziek. De eigenschappen die worden gebruikt zijn grofweg in te delen in de categorie¨entimbre, ritme en pitch [23, 37]. Naast deze drie categorie¨enzelf is ook hun ontwikkeling over tijd belangrijk. Deze muzikale eigenschappen moeten worden gerepresenteerd door berekeningen op het signaal. Deze technische representatie van de muzikale eigenschappen worden de muzikale features genoemd, en zullen hier ook worden toegelicht.

1.2.1 Timbre

Het timbre of de klankkleur is de eigenschap van een geluid die varieert bij verschillende muziekinstrumenten of geluidsbronnen. Als een piano en een gitaar hetzelfde akkoord aanslaan op dezelfde toonhoogte en met hetzelfde volume is het timbre hetgene dat de gelu- iden nog steeds verschillend maakt. Timbre is onder andere in stemherkenning een erg belangrijke eigenschap. Ook in muziek is timbre belangrijk, bijvoorbeeld om instrumenten te onderscheiden. [7]

Features die timbre beschrijven worden in veel onderzoeken gebruikt [8, 15, 33, 37]. De meest gebruikte features voor timbre zijn Mel-Frequency Cepstral Coefficients [2, 4, 37] en verschillende statistieken die de vorm van het spectrum beschrijven [15, 37]. Belangrijk om op te merken is dat de features die onder timbre vallen bijzonder veel aandacht hebben gekregen in ander onderzoek naar de automatische classificatie van muziek [1]en over het algemeen veel beter presteren dan ritme en pitch features [24, 37].

MFCCs Mel Frequency Cepstral Coefficients (MFCCs) kunnen in muziek worden gebruikt om klankkleur en daarmee instrumenten de identificeren. De klankkleur kan juist voor elektro- nische muziek heel belangrijk zijn, omdat er geen gebruik wordt gemaakt van conventionele instrumenten maar van digitaal gegenereerde geluiden. Het is daardoor aannemelijk dat de identificatie van zulke digitale instrumenten onderscheidend is voor verschillende genres. MFCCs worden berekend door het logaritmen van de amplituden van het spectrum (dat met een Fourier Transformatie wordt berekend) te nemen, waarbij frequentie wordt omgezet naar een Mel-schaal. De Mel-schaal is een perceptuele schaal van pitch waarin tonen die voor menselijke waarnemening op gelijke afstand zijn, ook in de schaal op gelijke afstand staan. De frequentie schaal is daarmee dus voor menselijk gehoor lineair in toonhoogte. Op het verkregen signaal wordt vervolgens een Discrete Cosine Transform (DCT) toegepast. De DCT drukt een eindige reeks datapunten uit in termen van de som van cosinussen die het ontwikkelende spectrum beschrijven. De eerste (of soms nulde) co¨effici¨ent staat voor de totale energie die in het signaal aanwezig is. De overige co¨efficienten zijn de waarden voor de verschillende frequenties van de cosinussen (in lopende frequentie). In muziekclassificatie zijn

5 vooral de eerste vijf co¨effici¨enten en de nulde co¨effici¨ent belangrijk [37]. Voor meer informatie en een uitgebreidere uitleg over MFCCs, zie Logan [25].

Figuur 1: Flowchart en illustratie van de berekening van MFCCs [18]

Spectral Flux De spectral flux is een maat van de snelheid van verandering van het spectrum. De spectral flux wordt berekend door de Euclidische afstand tussen de op energie genormaliseerde spectra van twee opeenvolgende frames te berekenen. Een typisch voorbeeld van hoge spectral flux zijn de scheurende geluiden van een gitaar in rockmuziek of de tegenwoordig meer voorkomende geluidseffecten in dubstep. v u n uX 2 Flux = t (qi − pi) (1) i=1

Formule voor flux, waar qi en pi staan voor de genormaliseerde amplitude van frequentie i in de spectra q en p, die opeenvolgende frames zijn.

Figuur 2: p, q en i aangegeven in een spectrogram

Spectral Centroid De spectral centroid is het zwaartepunt van het spectrum, en is een goede indicator voor de waargenomen ”brightness” van een geluid [12]. De centroid wordt berekend als het gewogen

6 gemiddelde van de frequenties die aanwezig zijn, waarbij de sterkte van de frequentie als gewicht wordt genomen. PN−1 f (n) x (n) Centroid = n=0 (2) PN−1 n=0 x (n) Formule voor spectral Centroid, waar x(n) staat voor de amplitude van de frequentie van bin n, en f(n) staat voor de gemiddelde frequentie van bin n.

Figuur 3: Illstratie van de waarden van x(n) en f(n) in de berekening van de centroid

Spectral Rolloff Een maat om de hoeveelheid hoge frequenties in een spectrum te bepalen is de spectral rolloff. De rolloff is gedefineerd als de frequentie waarbij 85 procent van de energy onder het snijpunt valt [37]. Bij een hogere rolloff zijn er dus meer hoge tonen in het spectrum aanwezig.

Figuur 4: illustratie van spectral rolloff op 85% [18]

Spectral Brightness De spectral brightness is een andere maat voor de relatie tussen hoge en lage frequenties in het spectrum. In plaats van de ratio tussen hoge en lage tonen, wordt hier de frequentie waarbij de ratio wordt bepaald vastgezet. De spectral brightness is de relatieve hoeveelheid spectrale energie (opervlakte onder het spectrum) die zich boven dat punt bevindt. Meestal wordt gekozen voor een snijpunt op 1500Hz. [16]

7 Figuur 5: Illustratie van spectral brightness [18]

Spectral Flatness De spectral flatness is een maat van de breedte en uniformiteit van het spectrum. Een hogere spectral flatness (nadert naar 1) betekent dat het signaal meer ruisig is. Een minimale flatness (nadert naar 0) impliceert een hoge tonaliteit. De spectral flatness wordt berekend door het geometrische gemiddelde van het spectrum te delen door het rekenkundige gemid- delde van het spectrum.

q N QN−1 x(n) Flatness = n=0 (3) PN−1 x(n) n=0 N

Zero-Crossings Het aantal Zero-Crossing is een maat voor de hoeveelheid ruis die in een signaal aanwezig is. In spraakherkennig wordt de maat gebruikt om onderscheid te maken tussen stemhebbende en stemloze klanken. De zerocrossing wordt gegeven door het aantal keer dat de golfvorm de x-as kruist per tijdseenheid. [10]

Figuur 6: Illustratie van zero-crossings [18]

Root-Mean-Square Energy De RMS energy is het kwadratische gemiddelde van een signaal, en wordt berekend door de wortel van het gemiddelde van de kwadraten over een periode te nemen. Een hogere RMS betekent dat er een hogere energie in de golfvorm per tijdseenheid T. De statistiek is in directe zin niet altijd informatief, omdat de waarde afhankelijk is van de luidheid van de opname, en daarmee dus niet karakteristiek voor de inhoud van de muziek. De distributie is echter wel interessant en geschikt in features die dynamiek beschrijven.

8 v u T u 1 X RMS = t x2 (4) T i i=1

Low energy rate Wanneer de RMS-energy per frame wordt berekend en tegen tijd wordt uitgezet, krijgen we een indicatie van hoe de energie over tijd is verdeeld. Een waardevolle statistiek van deze curve is de low-energy rate, het gedeelte van het totale aantal frames dat minder energie heeft dan gemiddeld [37].

Figuur 7: Illustratie van de frames met lager dan gemiddelde rms-energie

Spectral Skewness De skewness (scheefheid) van een spectrum is een maat voor de asymmetrie van de waardes die rondom het midden van het spectrum liggen. Een positieve skewness duidt op een naar links verschoven verdeling met een lange staart aan de rechterkant van het gemiddelde, een negatieve skewness duidt op een naar rechts verschoven verdeling met een lange staart aan de linkerkant van het gemiddelde.

R (x − µ )3f(x)dx Skewness = 1 (5) σ3

Figuur 8: Illustratie van een verdeling met negatieve skewness (links) en positieve skewness (rechts)

9 1.2.2 Ritme

Ritme is voor elektronische muziek heel belangrijk, waarschijnlijk meer dan voor andere muzieksoorten. Elektronische muziek is namelijk in veel gevallen dansmuziek, en daarin zijn de ritmische componenten vanzelfsprekend heel belangrijk. Onder ritme kunnen verschillende zaken worden verstaan. Zo is er een hoofdtempo (over het algemeen Beats per Minute (BPM) genoemd). Naast het hoofdtempo kunnen echter ook andere ritmische eigenschappen als het aantal beats in een maat, of het aantal sub-beats per hoofdbeat worden gegeven. Naast de tempi van de beats kunnen ook de kracht van de beats kenmerkend zijn. Zo is er in klassieke muziek misschien soms wel percussie aanwezig, maar meestal is deze niet heel sterk aanwezig. Andere muzieksoorten, zoals bijvoorbeeld Hip-Hop, hebben juist erg krachtige beats. Er worden in ander onderzoek verschillende methodes gebruikt om features van ritme te berekenen. Bijna alle methodes zijn gebaseerd op autocorrelatie, de mate waarin het de golvorm met zichzelf correleert over verschillende intervallen. De autocorrelatie wordt als volgt berekend:

X Rxx(j) = xnx¯n−j (6) n

Voor een gegeven signaal x worden steeds punten n gekozen en vermenigvuldigd hetzelfde punt n, verschoven met afstand j. De som van alle punten n is hoog als j zo is gekozen dat het precies in de maat van de muziek valt, want dan is het signaal steeds soortgelijk. De waarde van de autocorrelatie is dus een indicator voor de periodiciteit van een signaal. De curve van de autocorrelatie is een goede basis voor features die gebruik maken van peri- odieke eigenschappen. De verschillen tussen de methodes zijn vooral te vinden in de stappen die voor het berekenen van de autocorrelatie komen. Meestal wordt de omhullende van de golvorm gebruikt, die de algemene ontwikkeling van de golfvorm beschrijft.

Figuur 9: Autocorrelatie van de omhullende voor een rap nummer (links) en een salsa num- mer (rechts). De best gevonden tempi zijn aangegeven in rood. Merk op dat voor het salsa nummer alle pieken meervouden van elkaar zijn. Ook voor het rap nummer zijn de pieken boven 1.0 meervouden of combinaties van 0.6 en 1.0.

Lidy & Rauber [24] berekenen de autocorrelatie in 60 bins tussen 0 en 10 Hz (correspon- derend met 0 tot 600 bpm), dat ze een Ritme Histogram (RH) noemen. Het RH wordt berekend voor frames met een lengte van 6 seconden, en als samenvatting voor een geheel

10 audiofragment wordt de mediaan van alle frames genomen voor elke bin.

Figuur 10: RH voor een klassiek stuk (links) en een rocknummer (rechts)

Tzanetakis & Cook [37] maken gebruik van verbeterde autocorrelatie gebaseerd op de meth- ode van Tolonen en Karjalainen [36] die het effect van meervouden van de periode vermindert die bijvoorbeeld in de autocorrelatiecurve van het salsa nummer hierboven goed te zien zijn. De resulterende autocorrelatiecurve wordt gebruikt om een histogram te maken met 160 bins tussen 40 en 200 bpm. Van dit histogram, dat beat histogram wordt genoemd, worden verschillende statistieken gebruikt als feature:

• De posities van de hoogste drie pieken in het beat histogram. Deze posities correspon- deren met de belangrijkste tempi (in bpm). • De relatieve hoogte van de hoogste drie pieken, door de hoogte van de pieken te delen door de som van alle pieken. Deze relatieve hoogten corresponderen met de relatieve sterkte van de autocorrelatie, en dus met hoeveel de beat voorkomt. • De verhouding in sterkte tussen de eerste en de tweede piek. • De som van alle bins, als algemene indicatie voor de hoeveelheid beats.

11 Figuur 11: Beat Histogrammen voor verschillende genres [37]

Bertin-Mahieux et al. [4] gebruiken 176 autocorrelatie coefficienten tussen 250 en 2000ms (30 tot 240 bpm), en berekenen deze over frames voor een geheel audiofragment. Als features worden deze co¨effici¨enten over periodes van 5 seconden samengevat, en dienen direct als input voor classificatie.

Figuur 12: Autocorrelatie van Bertin-Mahieux et al.[4]

Naast het beat histogram zou ook nog gebruik worden gemaakt van de eigenschappen van de beat zelf, zoals de frequentie en klankkleur van de meest aanwezige beat, maar dergelijke features komen in onderzoek naar de automatische classificatie in genres in voor.

1.2.3 Pitch

De pitch features beschrijven de melodische en harmonische eigenschappen van een muziek- stuk. Hoewel pitch content belangrijk is in de classificatie van symbolische muziek (met name klassieke muziek), zijn pitch features voor elektronische muziek waarschijnlijk minder belangrijk. In elektronische muziek is namelijk minder sprake van klassieke instrumenten en akkoordenschema’s, en veel meer van ritmische eigenschappen. Bovendien is de extractie van pitch lastig voor muziekopnames, omdat fundamentele frequenties moeilijk te onderscheiden

12 zijn van hun harmonischen, waardoor alleen globale beschrijvingen van de pitch content mo- gelijk zijn .

Een veelgebruikte methode om pitch te beschrijven is statistieken van het pitch histogram. Het pitch histogram is een representatie van de frequentie van elke muzikale toon over een frame of heel muziekstuk. In een andere variant, het gevouwen pitch histogram, worden alle noten op een enkel octaaf geprojecteerd, zodat alleen informatie over de harmonie overbli- jft. Er zijn veel algoritmes beschikbaar om gevouwen en ongevouwen pitch histogrammen te berekenen, maar veel minder die beschrijvende features op basis van de beide representaties extraheren.

Figuur 13: Een ongevouwen pitch histogram [18]

Figuur 14: De gevouwen versie van het pitch histogram [18]

Tzanetakis & Cook [37] gebruiken verschillende statistieken van het pitch histogram:

• De relatieve hoogte van de maximum piek in het gevouwen histogram (hoogste piek gedeeld door totaal van de pieken). Een hoge relatieve hoogte is een indicator voor muziek met weinig verandering van akkoorden. • De frequentie (corresponderend met de positie op de x-as) van de maximum piek in het ongevouwen pitch histogram. Dit is een indicator voor de algemene toonhoogte van een muziekstuk. • De pitch klasse (positie op de x-as) van de hoogste piek in het gevouwen pitch his- togram. Dit is een indicator voor de toonsoort van een muziekstuk. • Het pitch interval tussen de twee meest prominente pieken in het gevouwen histogram, als indicator voor de tonale relaties in het muziekstuk. • de som van het histogram, als indicator voor de mate waarin pitch goed kan worden gevonden.

Naast deze statistieken kunnen ook verschillende beschrijvende statistieken van het pitch histogram worden gebruikt om de vorm van het pitch histogram te vatten. Ook kan op

13 basis van de verschillende pieken de modaliteit (majeur/mineur) van een fragment worden berekend. Samen met de eerdergenoemde maten kan er zo een globale beschrijving van de pitch content worden gegeven.

1.2.4 Temporele ontwikkeling en dynamiek

Hoewel timbre, ritme en pitch geschikt zijn om alle korte fragmenten te beschrijven, zijn voor langere muziekstukken of nummers ook de ontwikkeling van die eigenschappen binnen een nummer belangrijk. Sommige muziek is duidelijk progressief opgebouwd, met een rustig begin dat opbouwt naar een climax aan het einde. Andere muziek kan zijn opgebouwd als afwisseling van refrein en bridges, of zelfs in het geheel zonder duidelijke structuur. In eerder onderzoek is genoemd dat voor mensen een heel kort audiofragment genoeg is om vrij accu- raat te classificeren. Om betere resultaten te halen kan het echter toch belangrijk zijn om de temporele ontwikkeling te analyseren. Er zijn voldoende features voor ritme, pitch en timbre te vinden in ander onderzoek, maar naar features die temporele ontwikkeling beschrijven is beduidend minder onderzoek gedaan.De gebruikte features voor temporele analyse moeten dus grotendeels zelf worden bedacht. Juist voor elektronische muziek zijn features die de tem- porele ontwikkeling en dynamiek beschrijven belangrijk, omdat elektronische muziek vaak gebaseerd is op loops en de variaties op loops. De muziek is dus van zichzelf sterk repetitief, en precies de soort van aanwezige repetitiviteit is voor sommige genres karakteristiek.

2 Vraagstelling

Er is naar de classificatie van muziek en de features die daarbij een rol spelen in de literatuur al een goede basis gelegd. Er is echter nog niet veel gebruik gemaakt van features die op een groter niveau, over de gehele lengte van nummers, de dynamiek en temporele ontwikkel- ing meeneemt. Omdat juist elektronische muziek een uitdaging vormt en voor elektronische muziek temporele ontwikkeling en dynamiek onderscheidend zijn, is het interessant om te onderzoeken van welke invloed zulke features zijn op de classificatie van elektronische muziek. De vraagstelling voor deze scriptie is daarom:

Welke invloed hebben features, in het bijzonder die temporele ontwikkeling en dynamiek van timbre, ritme en pitch beschrijven, op de classificatie van elektro- nische muziek in genres?

3 Methode

Voor het beantwoorden van de vraagstelling moet eerst een dataset worden samengesteld waarmee kan worden getest. Na de samenstelling van de dataset moet een goede selectie van features worden gemaakt, die vergelijkbaar zijn met wat er in eerder onderzoek is gedaan. De exacte samenstelling is niet heel belangrijk, het gaat er vooral om welke features wel tem- porele ontwikkeling beschrijven en welke niet. Na de selectie van features kan worden getest met een geschikte classifier. Uit de resultaten met verschillende samenstellingen van features kan een analyse worden gemaakt van de classificatiekracht van de features die temporele ontwikkeling beschrijven. In het gedeelte dat hierop volgt worden de verschillende stappen in de methode uitgebreid besproken.

14 3.1 Samenstellen dataset

Omdat er voor de classificatie van specifiek elektronische muziek geen dataset uit ander onderzoek beschikbaar is, is er voor dit onderzoek een nieuwe dataset samengesteld. De samenstelling van de dataset is cruciaal voor de representativiteit van de resultaten, en moet dus met zorg worden samengesteld. Voor het samenstellen van de dataset is Last.fm gebruikt, een gratis online muziekdatabase. De online database van Last.fm is geschikt voor de exploratie van elektronische genres en het samenstellen van een geschikte dataset. Hieronder is beschreven hoe de dataset die voor het onderzoek is gebruikt tot stand is gekomen.

3.1.1 Last.fm

Last.fm is een online muziekdienst waar tegen betaling muziek kan worden gestreamd. Het onderscheidt zich echter van platformen als Spotify en iTunes door zich specifiek te richten op verzamelen van data om muziek. Deze data wordt zowel actief als passief door gebruikers gegenereerd. Last.fm is allereerst gebouwd op het registreren welke nummers door de gebruik- ers worden geluisterd. Vanuit populaire mediaspelers als iTunes, winamp en foobar2000 kan steeds aan de last.fm servers worden doorgegeven welke muziek er wordt geluisterd. Last.fm brengt deze data in kaart en raadt op basis van luisterdata ook andere artiesten aan. Elke gebruiker heeft een persoonlijke profielpagina waar de luisterstatistieken zijn samengevat. Naast het registreren van het luistergedrag kan echter ook worden ’getagd’. Een gebruiker is daarbij vrij om een of meerdere worden als label toe te voegen aan een artiest, album of muzieknummer. Deze labels heten op last.fm ’tags’.

Figuur 15: Tags voor het nummer ’Firestarter’ van The Prodigy. Tags die vaker zijn toegepast zijn donkerder gekleurd.

Voor elke tag is ook weer een aparte pagina beschikbaar, waar is samengevat welke artiesten en nummers de tag hebben gekregen. Tags zijn niet direct hetzelfde als genres, omdat het gebruikers vrij staat alle soorten woorden toe te voegen, dus ook woorden die aangeven waar de artiest vandaan komt of voor welke situatie het geschikt is. Het grootste gedeelte van de tags is echter wel vergelijkbaar met genres. Omdat last.fm een bijzonder grote hoeveelheid data en gebruikers heeft, is het een uitstekend startpunt voor een dataset. Met de data van last.fm die via een API of direct op de website beschikbaar is, kan nauwkeurig een dataset worden samengesteld.

15 3.1.2 Selectie tags en nummers

De dataset van last.fm is geannoteerd met gewogen multi-label tags per nummer (met als gewicht het aantal keer dat een tag is toegevoegd door gebruikers). Om tags te se- lecteren die onder de noemer van elektronische muziek vallen, is als startpunt voor de tags die worden gebruikt het criterium dat ze grote overlap moeten hebben met de tag ’elec- tronic’ en ook kleiner zijn. Er is geen sprake van strikte subklassen of subgenres omdat het om multi-label tags zonder hi¨erarchie gaat, maar een tag die grotendeels een subset is van de tag electronic kan wel als een subklasse worden beschouwd. We kunnen via de API methode tags.getsimilar(electronic) de tags ophalen die het meest met de tag electronic correleren. Deze call krijgt als return een lijst met de vijftig tags die het meest samen met electronic voorkomen. De API geeft naast de ordening geen data over de pre- cieze overlap. Om toch een indicatie van de overlap te krijgen is data uit de Million Song Database gebruikt. In deze database zijn voor een miljoen nummers de tags gegeven. Er is meer onderzoek gedaan aan de hand van deze database, en hiervoor is al data beschikbaar over het samen voorkomen van tags. Met de tag similarity matrix van music machinery (http://static.echonest.com/MusicMatrix/matrix.html) kan worden berekend hoeveel tags precies met elkaar overlappen. Aan de hand van deze overlapdata is een eerste lijst van kandidaatgenres opgesteld. Hoewel de data niet de gehele database van Last.fm omvat, is deze met een sample van een miljoen nummers wel representatief voor de data op Last.fm. De kandidaatgenres moeten aan de volgende criteria voldoen:

• Voldoende correlatie met de ’electronic’ tag (een van de 50 meest gecorreleerde tags voor electronic) • Er mag niet teveel correlatie met andere tags (niet meer dan 25% overlap) • De tags moeten vergelijkbaar zijn in het aantal keer dat deze zijn toegepast

Uit de top vijftig tracks voor de tags (per tag gegeven, bijvoorbeeld voor eurodance: http://www.last.fm/tag/eurodance/tracks) zijn minimaal 10 nummers gekozen, elk van verschillende artiesten (om te grote soortgelijkheid te voorkomen). De resulterende dataset bestaat uit 70 nummers die verdeeld zijn over 7 tags die aan elektronische muziek gerelateerd zijn. De geselecteerde tags zijn de volgende:

Tag Gebruikers Toepassingen Link Electronic 224 281 2 123 652 last.fm/tag/electronic Drum and Bass 31 765 187 004 last.fm/tag/drum+and+bass Progressive House 9 940 59 469 last.fm/tag/progressive+house IDM 32 266 224 536 last.fm/tag/idm Minimal 32 940 190 841 last.fm/tag/minimal Dubstep 28 551 159 275 last.fm/tag/dubstep Electropop 26 689 95 484 last.fm/tag/electropop Eurodance 8 846 51 533 last.fm/tag/eurodance

Tabel 1: Gebruiksstatistieken van de ’electronic’ tag en de 7 geselecteerde tags. Gebruikers staat voor het aantal mensen dat de tag minstens een keer heeft gebruikt, toepassingen staat voor het aantal keer dat de tag totaal is toegepast. Op de plaats van de url zijn meer details te vinden.

In appendix A is de lijst met alle nummers in de dataset te vinden.

16 3.2 Features

Op basis van ander onderzoek naar automatische classificatie van muziek en de beschik- bare gereedschappen om features mee te berekenen is een set van features samengesteld die hieronder wordt besproken.

3.2.1 Selectie van de basis featureset

De features die zijn gebruikt voor classificatie zijn features die over het hele audiofragment zijn berekend. De features worden (met uitzonder van de ritmische features) over frames van een seconde of minder berekend. De resulterende waardes kunnen worden samengevat met een gemiddelde en eventueel standaarddeviatie, om een indicatie te krijgen van de verdeling.

Timbre Voor de featureset is gekozen voor MFCCs, die in elk onderzoek goed presteren, samen met een aantal statistieken die de vorm van het spectrum beschrijven (Statistical Spectrum Descriptors). Elk van de gebruikte statistieken is toegelicht in de achtergrond.

Ritme Voor de ritmische features is gekozen voor het gebruik van met name statistieken van het Beat Histogram [37], omdat het een uitgebreide methode geeft om meerdere ritmische features in een keer te berekenen. Bovendien zijn de features gemakkelijk en snel te berekenen met Marsyas 0.4.0. Als toevoeging is gekozen voor de helling en de som van het Ritme Histogram van Lidy en Rauber [24], gelden als algemenere maten voor de sterkte van het ritme.

Pitch Als features voor Pitch is gekozen voor verschillende statistieken van het gevouwen en ongevouwen pitch histogram. Daarnaast zijn features van de modus toegevoegd. Meer geavanceerde pitch features bleken niet geschikt door hoge computatietijd en inaccurate resultaten.

17 Soort Feature Software Timbre MFCC co¨efficient 0 Sonic Annotator MFCC co¨efficient 1 Sonic Annotator MFCC co¨efficient 2 Sonic Annotator MFCC co¨efficient 3 Sonic Annotator MFCC co¨efficient 4 Sonic Annotator MFCC co¨efficient 5 Sonic Annotator Zero-Crossings Sonic Annotator Spectral flux Sonic Annotator Low energy rate Sonic Annotator RMS energy Sonic Annotator Spectral centroid Sonic Annotator Spectral brightness MIRToolbox Spectral rolloff op 85% MIRToolbox Spectral flatness MIRToolbox Ritme Som van het Ritme Histogram RP extract Helling van het Ritme Histogram RP extract Som van het Beat Histogram Marsyas Positie van de eerste piek in het Beat Histogram Marsyas Positie van de tweede piek in het Beat Histogram Marsyas Positie van de derde piek in het Beat Histogram Marsyas Waarde van de eerste piek in het Beat Histogram Marsyas Waarde van de tweede piek in het Beat Histogram Marsyas Waarde van de derde piek in het Beat Histogram Marsyas Flatness van het Beat Histogram Marsyas Standaarddeviatie van het Beat Histogram Marsyas Pitch Standaarddeviatie van het gevouwen pitch histogram Sonic Annotator & Excel Maximumwaarde in het gevouwen pitch histogram Sonic Annotator & Excel Hoogste piek in het ongevouwen pitch histogram MIRToolbox Positie hoogste piek in het ongevouwen pitch histogram MIRToolbox Skewness van het ongevouwen pitch histogram MIRToolbox Flatness van het ongevouwen pitch histogram MIRToolbox Standaarddeviatie van het ongevouwen pitch histogram MIRToolbox Gemiddelde van de modus MIRToolbox Standaarddeviatie van de modus MIRToolbox Gemiddelde relatieve piekhoogte van het gevouwen pitch histogram MIRToolbox

Tabel 2: Gebruikte features

3.2.2 Windows en aggregators

Voor elk van deze features (met uitzondering van het beat histogram) wordt voor een bepaalde lengte (de windowsize) de waarde van de feature berekend. Er wordt dan met een bepaalde hopsize (meestal dezelfde grootte als de window size) gesprongen en opnieuw wordt voor de windowsize de feature berekend. Over de windows wordt per groep van een bepaalde grootte (de Aggregator Size) het gemiddelde en de standaarddeviatie bepaald. Uiteindeijk wordt voor elk audiofragment (of segment) de standaarddeviatie van de gemiddelden en de standaarddeviaties bepaald, evenals het gemiddelde van de gemiddelden en standaarddevi- aties. Per feature verschilt welke van de berekende waardes relevant zijn. Voor een constant veranderend signaal kan bijvoorbeeld de standaarddeviatie van een feature steeds groot zijn (ruizig), maar als de standaarddeviatie van de gegroepeerde windows laag is, is de ruis voor het fragment wel constant.

18 Figuur 16: Illustratie van frames uit de user guide van de MIRToolbox [18–20].

3.2.3 Temporele ontwikkeling: meta-features

Naast de features die konden worden geselecteerd uit ander onderzoek, zijn voor de temporele ontwikkeling en dynamiek features samengesteld voor dit onderzoek. De features maken wel gebruik van methoden voor segmentering, die eerst zullen worden toegelicht. Voor de resulterende segmenten zijn nieuwe features opgesteld, die de ontwikkeling van de ritme, pitch en timbre features over de verschillende segmenten moeten beschrijven. De features zijn, met ´e´enuitzondering (de statistieken van de segmenten) meta-features die het gedrag van de hiervoor genoemde features over de segmenten beschrijven. Eerst moet er echter een goede methode worden gevonden om de audio te segmenteren.

Het segmenteren van audio Om muziek te analyseren kan er worden gefragmenteerd in clusters van arbitraire grootte. Per fragment worden vervolgens features berekend, zodat deze geclusterd voorkomen. Door clustering kan er ontwikkeling van de features over tijd of andere meta-statistieken over de features worden berekend. Voor sommige ontwikkelingen, zoals modulatie in toon kunnen kleine frames worden gebruikt [24, 38]. Verder kan van features, als ze over frames berekend zijn, een similarity-matrix worden geconstrueerd. De similarity-matrix is een matrix waarbij de waarden van een willekeurige feature over tijd zijn uitgezet tegen zichzelf. Elke positie in de matrix representeert dan de overeenkomst van een feature tussen twee tijdspunten. Op de diagonaal zijn de similarity-waardes dus maximaal. Door over de diagonaal convolutie te doen met een Gaussian checkerboard kernel, kan de novelty (significante verandering) op elk punt worden berekend. De resulterende curve heet ook wel een novelty-curve. Statistieken van de novelty curve zelf zouden kunnen worden gebruikt voor classificatie. Het nadeel is echter dat de berekening van de novelty curve zwaar is en voor elke feature apart zou moeten gebeuren. Op basis van frames kan ook geclusterd worden op basis van inhoud. Verschillende onder- zoeken [21, 30] gebruiken bijvoorbeeld hidden markov models in combinatie met spectrale features om muziek te segmenteren in structurele gedeelten. De pieken uit de novelty curve zouden ook kunnen worden gebruikt om te segmenteren, maar daarvoor zou voor geschikte selectie een grote kernel-grootte nodig zijn. Na de segmentering van audio op inhoud kan voor elk fragment een set features worden berekend. Voor classificatie zouden dan meta- statistieken over de features kunnen worden berekend, die de inhoudelijke ontwikkeling van elke feature kunnen beschrijven. Een groot voordeel van deze aanpak is dat naast de reken- tijd die nodig is voor het bepalen van de segmenten, er nauwelijks toegenomen complexiteit is. In [26] wordt zelfs aangeraden om elk segment apart te classificeren. Een groot voordeel daarvan is dat multi-label classificatie hierdoor veel makkelijker wordt. Classificatie van

19 genres op basis van content-gesegmenteerde stukken is een nog niet veel gebruikte aanpak. In [35] en [34] wordt classificatie op basis van segmenten wel besproken, maar niet op basis van segmentering op basis van inhoud. Het classificeren van audio met behulp van op con- tent gebaseerde segmentering lijkt een belangrijke en ook wel vanzelfsprekende optie om te onderzoeken.

Meta-statistieken en nieuwe featuresets Om de temporele ontwikkeling en variatie van de eerdergenoemde features te registreren, wordt met behulp van het algoritme uit [21] een segmentering voor elk nummer uit de dataset berekend. De features worden voor elk segment apart berekend, zodat meta-statistieken over de ontwikkeling en variatie van de features tussen de verschillende segmenten kunnen worden berekend. Het kiezen van meta-statistieken is een uitdagende taak, omdat het toevoegen van statistieken de dimensionaliteit steeds toeneemt, en de hoeveelheid ruis in de data daarmee ook kan toenemen. Als meta-features zijn meerdere strategie¨engeprobeerd, resulterend in een aantal featuresets die worden gebruikt in het experiment.

Standaarddeviatie en gemiddelde van de segmenten (SEGM) De standaarddeviatie van een verdeling is een simpele, maar waarschijnlijk toch geschikte maat voor het beschrijven van bepaalde muzikale eigenschappen. Een kleinere standaardde- viatie is voor elke feature een indicator voor de stabiliteit van de feature over tijd. Zo kan bijvoorbeeld op basis van de standaarddeviatie van de geschatte beats-per-minute al onder- scheid worden gemaakt tussen muziekstukken met een duidelijk aanwezige hoofdbeat (bi- jvoobeeld de minimal klasse in de dataset), terwijl een hogere standaarddeviatie een grotere ritmische complexiteit aangeeft. Het nadeel van de standaarddeviatie is echter dat deze in het geheel geen informatie geeft over de scheefheid van de data of van de soort van verander- ing over tijd. Voor veel featuresets in muziekclassificatie wordt de standaarddeviatie gebrikt als indicator voor de stabiliteit van de muzikale features. Om te onderzoeken in hoeverre de standaarddeviatie aan bepaalde features wel iets toevoegt, is de standaarddeviatie over alle features van de verschillende segmenten berekend voor classificatie, maaar voor een accurate beschrijving van de ontwikkeling van het signaal over tijd is meer nodig.

Standaarddeviatie van het verschil tussen opeenvolgende segmenten (TEMP) De standaarddeviatie en het gemiddelde van de afstand van segmenten die op elkaar volgen zijn waarschijnlijk geschikter dan de standaarddeviatie en het gemiddelde van ongeordende segmenten. De standaarddeviatie zal bijvoorbeeld voor opeenvolgende segmenten die een continue stijging vertonen laag zijn, terwijl voor een andere opbouw van dezelfde energie (afwisselend veel energie en weinig energie in muziek), de standaarddeviatie over de ongeor- dende segmenten hetzelfde is.

Localisatie van globale mimima en maxima (MINMAX) Omdat veel features heftig fluctueren in een signaal is het moeilijk om globale minima en maxima van features te bepalen. Peak-picking is over een groot signaal lastig en levert niet altijd even representatieve waardes op. Voor minima in het signaal is het kiezen van locale minima vooral erg lastig, omdat de meeste signalen wel ergens een lage energie hebben (bijvoorbeeld in een intermezzo). De aanpak voor het localiseren van de plaatsen van minima en maxima is daarom op een hoger niveau gedaan. In plaats van specifieke pieken in het signaal te kiezen, wordt voor elke feature de drie segmenten met de globale minimale en maximale gemiddelde waarden voor de feature gekozen. Van de drie segmenten wordt het

20 gewogen temporele midden (op basis van framelengte) gekozen als feature, samen met de gemiddelde lengte van de segmenten die de pieken bevatten. Zo wordt over het signaal een positie bepaald voor elke minimale waarde van een feature en elke maximale waarde van een feature, om een indicatie te geven van de structuur. Naast de lengte en locatie van de segmenten worden ook de gemiddelden van de waarden zelf meegenomen.

Het meest dominante segment type (DOM en DDOM) De segmenten die zijn berekend zijn gelabeld met een typeID. Het ID heeft zelf geen betekenis, maar verschillende segmenten met hetzelfde ID zijn wel sterk soortgelijk. Met name in elektronische muziek is dit belangrijk, omdat herhaling van soortgelijke elementen (loopen) in bijna alle elektronische muziek voorkomt. Het meest dominante segment type is het segmenttype dat de grootste totale lengte heeft (de lengtes van alle segmenten met het- zelfde type). De relatieve lengte van het dominante type is een indicatie van de hoeveelheid herhaling die in een compositie voorkomt. Voor het dominante segment type zijn de gemid- delde waarden van alle features apart gerepresenteerd en getest op de dataset. Daarnaast is de gemiddelde afwijking van alle features tot het dominante segmenttype berekend, als indicatie van de globale variatie van het signaal. Voor de gebruikte dataset is de lengte van het dominante segment type tussen de 20 en 60% van de totale lengte van het signaal. De features van de dominante segmenttypes zijn ook apart gebruikt voor classificatie, als test van de significantie van de features in het dominante segment.

Statistieken van de segmenten(SSTAT) Een laatste simpele featureset bestaat uit statistieken van de segmenten. De hoeveelheid unieke segmenten, de relatieve duur van de segmenten en de relatieve lengte van de meest voorkomende segment-typen zijn mogelijk goede features voor bepaalde genres. Zo zal in minimalistische muziek bijvoorbeeld veel herhaling zitten, en zullen bepaalde segmenttypen dus ook vaker terugkomen. In progressive house of IDM komen segmenten misschien minder vaak terug. De statistieken die zijn opgenomen in de SSTAT set zijn de volgende:

• Gemiddelde absolute lengte van de segmenten • Absolute lengte van het kortste segmenttype • Absolute lengte van het langste segmenttype • Standaarddeviatie van de absolute lengte van de segmenten • Gemiddelde relatieve lengte van de segmenten • Relatieve lengte van het kortste segmenttype • Relatieve lengte van het langste segmenttype • Standaarddeviatie van de relatieve lengte van de segmenten • Gemiddeld aantal voorkomens van de segmenttypen • Standaarddeviatie van het aantal voorkomens van de segmenttypen • Aantal voorkomens van het vaakst voorkomende segmenttype • Aantal voorkomens van het minst vaak voorkomende segmenttype • Modus in het aantal voorkomens per segmenttype • Aantal unieke segmenten

3.2.4 Berekening van de features

Software Het berekenen van de features was een lastige stap in dit onderzoek. Hoewel veel fea-

21 Figuur 17: Illustratie van de segmentering van het nummer ’Avicii - Levels’ (Progressive House) met behulp van Audacity. tures goed gedocumenteerd zijn in research papers, is voor veel van de algoritmes geen code beschikbaar, of zijn de beschikbare applicaties niet compatibel met polyphone signalen. Voor de extractie van de features heb ik met name gebruik gemaakt van verschillende Vamp Plu- gins, het Marsyas framework en jAudio. De MIRtoolbox voor MATLAB is gebruikt voor de extractie van het ongevouwen chromagram. De Toolbox heeft een uitermate goede docu- mentatie, en is erg gebruiksvriendelijk, maar is veel minder effici¨ent dan Vamp en Marsyas.

Segmenteren van audio Om de features apart te berekenen voor elk geluidsfragment, heb ik gebruik gemaakt van de segmenter plugin uit de Queen Mary Vamp Plugin set [21]. De plugin biedt drie ver- schillende opties als basis voor segmentering: Constant-Q based, Chroma based en MFCC based segmentering. Hoewel de Constant-Q setting, die Chroma en MFCC combineert, werd aangeraden, leek op basis van een aantal kleine experimenten de MFCC setting beter. Voor het maximum aantal Segmenten werd 12 genomen, voor de minimale duur per segment 10 seconden. Voor het splitsen van bestanden is Audacity samen met Vamp Plugins gebruikt. De Vamp Plugin voor segmentering berekent de punten waarop moet worden gesegmenteerd, zodat het bestand op die punten door Audacity kan worden geknipt. Per fragment zijn hi- erna alle features nog een keer berekend. De berekening van de meta-statistieken is gedaan met behulp van Excel.

3.3 Classificatie

3.3.1 Weka

Voor de classificatie is gebruikt gemaakt van Weka [13], een data mining tool die beschikt over verschillende preprocessing stappen (zoals discretizing en normalizering) en classifi- catiealgoritmes. De berekende features die in csv vorm zijn opgeslagen kunnen door Weka worden ingeladen voor verdere processing. Na de selectie van de relevantie features kan een supervised classifier of unsupervised classifier (voor clustering) worden gebruikt.

3.3.2 Keuze classifier

Voor de classificatie is een Naive Bayes classifier gebruikt. Gaussian Mixture Models, Artifi- cial Neural Networks en Support Vector Machines zijn ook overwogen, maar de Naive Bayes Classifier is eenvoudig te implementeren, geschikt voor hoogdimensionale input en is (net

22 als GMM en SVM classifiers) veel gebruikt en goed gedocumenteerd voor soortgelijke clas- sificatieproblemen. Artificial Neural Networks kosten veel tijd om te trainen en zijn minder transparant dan de Naive Bayes Classifier. Een van de grootste nadelel van de Naive Bayes Classifier is dat deze berust op de aanname dat alle features onafhankelijk van elkaar zijn (vandaar Naive).

3.3.3 Preprocessing

Een van de problemen van de Naive Bayes Classifier, is dat er geen re¨elegetallen als features kunnen worden gebruikt. Bijna alle features die zijn gebruikt zijn dat echter wel, en moeten eerst worden gediscretizeerd voordat ze als input van de classifier kunnen dienen. Omdat de Naive Bayes classifier uitgaat van een gaussische distributie van de data, moeten de waardes in de feature vectors worden omgezet voordat wordt geclassificeerd. Een simpele strategie om de waardes om te zetten is het gebruik van een aantal bins van gelijke breedte. Voor de data in de feature vectors is dat echter niet een erg geschikte aanpak, omdat het risico bestaat dat data die heel dichtbij elkaar ligt toch in verschillende bins wordt geplaatst, en daarmee de classifier te veel informatie krijgt. Weka biedt een optie om de data te discretiz- eren en daarbij per variabele te onderzoeken wat het ideale aantal bins is per feature. Er is ook een mogelijkheid om met behulp van een supervised algoritme de data te discretizeren, maar omdat de dataset vrij klein is, is het risico op een overfit redelijk groot en is het dus beter om voor de unsupervized discretizering te kiezen.

3.4 Uitvoering experiment

Het experiment wordt uitgevoerd door verschillende samenstellingen van features te testen met behulp van cross-validation. De gebruikte featuresets, de berekening van de resultaten en de statistieken voor evaluatie worden hieronder verder toegelicht.

3.4.1 Gebruikte featuresets

Om de temporele features te evalueren zijn de sets die onder het kopje features zijn genoemd zowel los als in combinatie met andere featuresets getest. Om de resultaten te vergelijken met de featureset die geen temporele eigenschappen gebruikt, is ook een featureset die geen gebruik maakt van segmentering en temporele eigenschappen getest (ZS). De tests zonder combinatie zijn met name om een indicatie te krijgen van de informativiteit van de feature- sets. De basisfeaturesets zijn dus uiteindelijk de volgende:

• ZS • SEGM • DOM • TEMP • MINMAX • DDOM • SSTAT

23 Deze featuresets zijn op te delen in twee groepen: Een groep waarin in statische features van elk frame aanwezig zijn (ZS, SEGM en DOM), en een tweede groep waarin dynamis- che features aanwezig zijn, die relaties van de feature tussen segmenten beschrijven (TEMP, MINMAX, DDOM en SSTAT). De featuresets zijn alleen binnen de groep te vergelijken, en juist de combinatie van de eerste met de tweede groep zijn interessant.

Omdat er al een goede basis is gelegd voor de classificatie van elektronische muziek, wordt er niet zozeer gekeken naar de onafhankelijke prestatie van de featuresets, maar ook naar de verbetering in prestatie die de nieuwe sets kunnen leveren. De combinaties van featuresets dienen om te onderzoeken of de temporele features een verbetering in classificatie kunnen leveren op de oorspronkelijke featuresets. Op basis van de resultaten zal een keuze worden gemaakt voor de combinaties die worden onderzocht.

3.4.2 Cross-validation

Omdat de dataset vrij klein is, kan er niet zo goed worden getest met een aparte testset en trainset. Om van de gehele dataset gebruik te kunnen maken is gekozen voor 10-fold cross- validation. Bij cross-validation wordt steeds een gedeelte (bij 10-fold een tiende) apart gezet voor het testen, en wordt de classifier getraind op de overige 9/10 van de dataset. Dit wordt tien keer herhaald, tot elk onderdeel van de dataset een keer getest is. Omdat de verdeling van de dataset steeds random is, wordt er tien keer een 10-fold cross-validation uitgevoerd, waarvan de gemiddelden worden gerapporteerd. Op deze manier kunnen er betrouwbare resultaten worden gegenereerd zonder dat er maar een gedeelte van de dataset voor het trainen kan worden gebruikt.

3.4.3 Statistieken voor evaluatie

De belangrijkste statistieken voor single-label classificatie zijn de gemiddelde accuracy, preci- sion, recall en de gemiddelde F-measure over alle classes. Daarnaast is voor een uitgebreidere analyse de confusion matrix belangrijk. Hier worden de maten kort uitgelegd.

Accuracy De accuracy is het percentage van het totaal dat correct is geclassificeerd Correct Accuracy = Totaal ∗ 100%

Precision De precision is het aantal true positives gedeeld door het totale aantal positives truepositives P recision = truepositives+falsepositives .

Recall De recall is het aantal true positives gedeeld door het totaal aantal keer dat er in de klasse is geclassificeerd truepositives Recall = truepositives+falsenegatives .

24 F-measure De F-measure is het harmonisch gemiddelde van de precision en recall precision·recall F = 2 · precision+recall .

Confusion Matrix In de confusion matrix is weergegeven hoe de classifier alle items heeft geclassificeerd. Op de rijen staan de werkelijke klassen van de te clasisficeren objecten, op de kolommen staan de toegewezen klassen. Als de classifier bijvoorbeeld een muzieknummer met de tag Drum & Bass (incorrect) classificeert als Dubstep, komt er in de rij van Drum & Bass en de kolom van Dubstep een 1 te staan. De correct geclassificeerde objecten komen dus op de diagonaal van de matrix te staan. Ook de precision, recall en accuracy kunnen uit de confusion matrix worden berekend. De precision is dan per rij de waarde op de diagonaal (true positives) gedeeld door de som van de rij (true positives + false positives). De recall is per kolom de waarde op de diagonaal (true positives) gedeeld door de som van de kolom (true positives + false negatives). Voor de eindwaarde voor precision en recall worden de gemiddelden van de precision en recall per klasse gegeven. De accuracy kan worden berekend door de som van de waarden op de diagonaal te delen door de som van de gehele matrix.

4 Resultaten

Hieronder zijn de resultaten van de experimenten gegeven, gevolgd door een korte analyse van de resultaten.

4.1 Basis sets

De resultaten en confusion matrices voor de verschillende sets zonder combinaties zijn hi- eronder weergegeven.

Features Acc Prcs Rcl F ZS 58.7 0.59 0.59 0.58 SEGM 57.9 0.58 0.58 0.57 DOM 37.4 0.39 0.37 0.35 TEMP 31.1 0.33 0.31 0.31 MINMAX 44.8 0.45 0.45 0.41 DDOM 34.7 0.34 0.35 0.33 SSTAT 25.3 0.23 0.25 0.23

Tabel 3: Resultaten voor de basis featuresets

25 dnb prog idm min dub elp eur dnb prog idm min dub elp eur dnb 3.4 0.0 2.7 0.5 1.5 1.6 0.3 dnb 3.6 0.0 1.5 0.3 1.7 1.9 1.0 prog 0.4 6.7 0.4 0.4 0.5 1.5 0.1 prog 0.0 6.7 0.1 1.2 0.5 1.5 0.0 idm 1.8 0.2 5.6 1.9 0.0 0.0 0.5 idm 2.3 0.8 3.3 2.1 0.1 0.6 0.9 min 0.1 0.9 2.1 6.2 0.5 0.2 0.0 min 0.0 0.2 2.7 6.6 0.0 0.5 0.0 dub 2.6 0.1 0.0 0.9 3.9 2.3 0.2 dub 1.8 0.0 0.6 0.4 4.0 2.2 1.0 elp 0.0 0.3 0.3 0.2 1.1 7.8 0.4 elp 0.6 1.1 0.0 0.0 0.2 7.3 0.9 eur 0.0 0.4 1.4 0.2 0.0 0.5 7.5 eur 0.0 0.0 0.0 0.0 0.0 1.0 9.0 Totaal 8.2 8.5 12.5 10.3 7.5 13.9 9.0 Totaal 8.3 8.7 8.2 10.6 6.5 15.0 12.8

Tabel 4: ZS Tabel 5: SEGM

dnb prog idm min dub elp eur dnb prog idm min dub elp eur dnb 1.1 0.5 0.2 2.0 1.7 2.9 1.6 dnb 3.3 1.0 0.6 0.3 1.6 1.3 1.9 prog 0.0 5.1 0.4 1.5 0.3 1.5 1.2 prog 1.1 5.9 0.0 0.0 0.3 0.0 2.7 idm 1.2 0.0 1.5 3.2 0.6 2.2 1.5 idm 0.5 1.0 1.7 2.8 1.5 0.2 2.4 min 0.0 0.6 1.1 7.1 0.0 1.2 0.0 min 0.8 0.4 1.0 3.1 3.3 0.6 0.9 dub 0.5 0.0 0.7 2.2 2.1 1.9 2.6 dub 2.2 0.9 0.7 2.8 2.0 0.3 1.1 elp 0.6 0.9 1.4 0.9 0.1 4.4 1.7 elp 1.8 0.8 0.0 0.1 0.9 1.8 4.6 eur 0.1 0.0 0.0 0.3 1.0 3.6 5.0 eur 0.4 1.0 0.0 0.0 2.0 2.6 4.0 Totaal 3.5 7.1 5.2 17.1 5.8 17.6 13.6 Totaal 10.1 11.0 4.0 9.0 11.6 6.8 17.5

Tabel 6: DOM Tabel 7: TEMP

dnb prog idm min dub elp eur dnb prog idm min dub elp eur dnb 2.8 2.8 0.3 1.0 0.9 2.2 0.0 dnb 3.3 0.8 0.0 1.3 1.0 3.6 0.0 prog 0.1 2.5 0.3 3.9 0.0 2.4 0.8 prog 0.0 4.3 0.5 2.8 0.4 2.0 0.0 idm 1.0 1.1 2.1 3.2 0.0 2.1 0.6 idm 1.2 0.2 2.1 2.8 0.3 1.9 1.5 min 0.0 0.5 0.9 7.4 0.0 0.9 0.5 min 0.0 0.0 0.6 8.6 0.0 0.8 0.0 dub 0.1 0.2 0.4 0.7 1.5 4.6 2.5 dub 0.1 0.0 0.1 0.9 3.0 4.9 1.0 elp 0.8 0.3 0.0 0.0 0.6 8.3 0.0 elp 1.1 0.8 0.0 0.0 0.1 8.0 0.0 eur 0.0 0.0 0.7 0.8 1.0 0.7 6.8 eur 0.0 0.0 2.0 0.0 0.0 0.4 7.6 Totaal 4.8 7.3 4.6 16.9 4.0 21.1 11.2 Totaal 6.1 7.5 8.4 7.1 10.2 13.1 17.6

Tabel 8: MINMAX Tabel 9: DDOM

dnb prog idm min dub elp eur dnb 2.2 0.7 1.3 1.0 0.6 3.0 1.2 prog 0.0 1.8 1.2 2.8 0.9 2.9 0.4 idm 0.9 0.5 6.0 0.5 0.7 0.3 1.0 min 0.2 2.5 1.6 2.0 0.4 2.2 1.2 dub 0.2 0.7 0.3 0.5 1.1 6.4 0.8 elp 1.9 0.2 0.1 0.9 2.3 4.6 0.0 eur 1.0 1.5 3.9 0.5 1.9 1.2 0.0 Totaal 6.4 7.9 14.4 8.2 7.8 20.7 4.6

Tabel 10: SSTAT

4.1.1 Groep 1: ZS, SEGM en DOM

Van het eerste deel van de basisfeaturesets blijkt de set zonder segmentering (ZS) het beste. De gesegmenteerde set presteert net iets slechter. De resultaten suggereren wel dat de lengte

26 van de segmenten niet heel significant is voor de prestatie. In de gesegmenteerde set wordt elk fragment namelijk even zwaar gewogen, ongeacht de lengte. Uit de confusion matrices blijkt wel dat er verschil is tussen de verschillende genres. De SEGM set scoort iets beter op eurodance, maar dat gaat ten koste van de accuracy op idm. De andere genres verschillen niet heel sterk onderling. De set met alleen informatie uit de dominante segmenten scoort redelijk, maar wel duidelijk slechter dan de sets die wel alle delen uit een audiofragment meenemen. Uit de confusion matrix blijkt dat vooral Drum & Bass, IDM en Dubstep te lijden hebben onder het weglaten van de niet-dominante informatie. De gemiddelde accuracy is voor alledrie de klassen tussen de 10 en 20%, dus ongeveer gelijk aan random. Voor minimal scoort de set zelfs beter dan ZS en SEGM.

4.1.2 Groep 2: DDOM, MINMAX, SSTAT en TEMP

De MINMAX set presteert van de tweede groep het beste, maar nog wel slechter dan groep 1. De voornaamste verklaring daarvoor is echter dat de MINMAX set nog in de meest directe zin informatie bevat van de frames, en ook de grootste featureset is. Wat met name opvalt in de MINMAX set is dat vooral de low-level spectral features (zerocrossings, rms- energy, lowenergy, flux en rolloff) bijzonder goed presteren. De meer high-level features presteren minder goed. Bij het weglaten van de high-level features presteert de MINMAX set even goed of zelfs beter. Dat is erg gunstig, omdat het berekenen van de low-level features computationeel veel minder complex is dan het berekenen van de high-level features. De DDOM en TEMP sets scoren maar net iets beter dan de SSTAT set, die erg klein en low-level is. Daarmee zijn de DDOM en TEMP sets niet erg interessant, omdat ze wel vrij zwaar zijn in de berekening. De SSTAT test scoort vrij goed voor het aantal features, en is met name interessant omdat de features puur bestaan uit informatie over de temporele eigenschappen, die heel makkelijk te berekenen is. Het meest opvallende en interessante van de SSTAT set is dat deze van alle featuresets het beste presteert op IDM (zelfs beter dan de sets uit groep 1). Voor Drum & Bass, Progressive House, Minimal, Dubstep en Eurodance scoort de set echter wel rond of zelfs slechter dan random.

4.2 Combinatie sets

4.2.1 Gekozen combinaties

Op basis van de resultaten van de losse basisfeaturesets worden combinaties gemaakt die verder worden onderzocht. De ZS set presteert het beste, en wordt dus gebruikt als eerste basis voor verdere combinaties. De SEGM set presteert minder dan de ZS set, maar omdat deze evenveel of zelfs meer rekentijd nodig heeft dan de ZS set is deze niet interessant om verder te onderzoeken. De DOM set presteert een stuk slechter dan de ZS en SEGM set, maar er is wel minder rekentijd nodig om de features voor de set te berekenen, omdat de features niet voor alle frames worden berekend. Er is daarom wel verder onderzoek gedaan met de DOM set. Uit het tweede segment worden alle sets een keer gekozen. De SSTAT set wordt met zowel DOM als ZS apart getest, omdat de set erg klein en eenvoudig te berekenen is, en dus bij kleine verbeteringen in prestatie al interessant. De MINMAX set presteert erg goed, dus ook deze wordt los getest met zowel ZS als DOM. Omdat MINMAX en SSTAT van de tweede groep het interessantst zijn, worden ze ook als combinatie toegevoegd aan ZS en DOM. TEMP en DDOM presteren redelijk, maar vereisen een hoge rekentijd. TEMP en ZS zijn

27 direct aan elkaar gerelateerd, en worden dus samen getest. TEMP wordt niet samen met DOM getest, omdat dat het voordeel van de rekentijd van de DOM set gelijk zou verwaar- lozen. DDOM is wel direct gerelateerd aan DOM, en wordt dus alleen in die combinatie extra getest. Omdat de set net als TEMP wel een hoge rekentijd heeft, wordt de set alleen in combinatie met MINMAX en SSTAT gebruikt, om te onderzoeken wat het maximaal haalbare met de DOM set is.

De Combinaties van sets zijn dus de volgende:

• ZS + MINMAX • ZS + SSTAT • ZS + TEMP • ZS + MINMAX + SSTAT • DOM + MINMAX • DOM + SSTAT • DOM + MINMAX + SSTAT • DOM + DDOM + MINMAX + SSTAT

4.2.2 Resultaten combinaties

Features Acc Prcs Rcl F ZS+MINMAX 61.3 0.64 0.61 0.59 ZS+SSTAT 63.9 0.63 0.64 0.62 ZS+TEMP 57.8 0.60 0.58 0.58 ZS+MINMAX+SSTAT 62.0 0.68 0.62 0.59 DOM+MINMAX 53.9 0.53 0.54 0.51 DOM+SSTAT 40.6 0.42 0.41 0.39 DOM+MINMAX+SSTAT 54.4 0.56 0.54 0.52 DOM+DDOM+MINMAX+SSTAT 52.7 0.56 0.53 0.51

Tabel 11: Resultaten voor de combinaties van de basis featuresets

dnb prog idm min dub elp eur dnb prog idm min dub elp eur dnb 1.8 0.9 0.3 1.4 2.1 3.5 0.0 dnb 1.0 0.0 1.0 1.0 2.1 3.9 1.0 prog 0.0 5.9 0.4 1.2 0.1 2.1 0.3 prog 0.2 6.7 0.0 0.6 0.0 2.5 0.0 idm 0.4 2.4 3.9 1.3 0.0 1.1 0.9 idm 0.8 0.5 6.6 0.5 0.4 0.4 0.8 min 0.1 0.4 0.2 9.1 0.0 0.3 0.0 min 0.0 0.8 0.8 8.5 0.0 0.0 0.0 dub 0.0 0.7 0.1 0.9 5.0 3.0 0.3 dub 0.3 0.7 0.0 0.0 6.9 2.1 0.0 elp 0.2 0.0 0.6 0.0 0.0 9.2 0.0 elp 0.7 0.1 0.1 0.0 1.5 7.6 0.0 eur 0.0 0.0 1.4 0.0 0.6 0.0 8.0 eur 0.8 1.0 0.0 0.0 0.8 0.0 7.4 Totaal 2.4 10.3 6.9 13.9 7.8 19.2 9.5 Totaal 3.8 9.8 8.5 10.6 11.6 16.5 9.2

Tabel 12: ZS+MINMAX Tabel 13: ZS+SSTAT

28 dnb prog idm min dub elp eur dnb prog idm min dub elp eur dnb 3.5 0.0 3.0 0.5 1.5 1.5 0.0 dnb 1.2 0.0 0.6 1.4 2.8 4.0 0.0 prog 0.5 7.0 0.5 0.0 0.3 1.7 0.0 prog 0.0 6.0 0.1 1.9 0.1 1.9 0.0 idm 1.4 0.0 6.5 2.1 0.0 0.0 0.0 idm 0.1 1.8 4.7 1.7 0.0 0.8 0.9 min 0.2 1.2 2.2 5.6 0.8 0.2 0.0 min 0.0 0.0 0.5 8.7 0.0 0.8 0.0 dub 2.5 0.0 0.1 0.9 4.4 2.1 0.0 dub 0.1 0.2 0.0 1.0 5.0 2.9 0.8 elp 1.9 0.0 0.2 0.3 1.6 5.6 0.5 elp 0.0 0.0 0.2 0.0 0.0 9.8 0.0 eur 0.0 0.2 1.8 0.0 0.1 0.1 7.8 eur 0.0 0.0 2.0 0.0 0.0 0.0 8.0 Totaal 9.9 8.4 14.3 9.4 8.6 11.2 8.3 Totaal 1.4 8.0 8.1 14.7 7.9 20.2 9.7

Tabel 14: ZS+TEMP Tabel 15: ZS+MINMAX+SSTAT

dnb prog idm min dub elp eur dnb prog idm min dub elp eur dnb 1.8 0.1 0.0 2.0 2.9 2.2 1.0 dnb 1.1 0.5 1.4 1.8 2.0 1.9 1.3 prog 0.0 5.4 0.9 1.2 0.0 2.4 0.1 prog 0.0 4.9 1.1 1.9 0.1 1.0 1.0 idm 0.9 1.1 4.1 1.3 0.6 0.8 1.2 idm 0.9 0.1 3.7 1.5 0.2 1.6 2.0 min 0.1 0.1 0.4 8.8 0.0 0.6 0.0 min 0.0 0.3 1.3 7.7 0.0 0.7 0.0 dub 0.6 0.0 1.4 1.0 1.5 4.4 1.1 dub 0.9 0.0 0.0 2.4 2.0 3.8 0.9 elp 0.0 0.5 1.1 0.0 0.2 8.2 0.0 elp 0.9 0.9 1.2 0.8 0.1 4.5 1.5 eur 0.0 0.0 1.8 0.2 0.1 0.0 7.9 eur 0.2 0.0 0.4 0.0 1.1 3.8 4.5 Totaal 3.4 7.2 9.7 14.6 5.3 18.6 11.3 Totaal 4.0 6.7 9.1 16.1 5.4 17.4 11.2

Tabel 16: DOM+MINMAX Tabel 17: DOM+SSTAT

dnb prog idm min dub elp eur dnb prog idm min dub elp eur dnb 2.0 0.1 0.2 1.8 3.1 2.0 0.8 dnb 3.3 0.8 0.0 1.3 1.0 3.6 0.0 prog 0.0 4.5 0.2 1.0 0.0 3.3 1.0 prog 0.0 4.3 0.5 2.8 0.4 2.0 0.0 idm 1.0 1.2 4.3 1.2 0.5 0.8 1.1 idm 1.2 0.2 2.1 2.8 0.3 1.9 1.5 min 0.0 0.0 0.7 8.5 0.0 0.8 0.0 min 0.0 0.0 0.6 8.6 0.0 0.8 0.0 dub 0.5 0.0 1.0 1.0 2.3 4.2 1.0 dub 0.1 0.0 0.1 0.9 3.0 4.9 1.0 elp 0.0 0.2 0.9 0.0 0.1 8.8 0.0 elp 1.1 0.8 0.0 0.0 0.1 8.0 0.0 eur 0.0 0.0 1.8 0.2 0.3 0.1 7.6 eur 0.0 0.0 2.0 0.0 0.0 0.4 7.6 Totaal 3.5 5.9 9.1 13.7 6.3 20.0 11.5 Totaal 5.7 6.1 5.3 16.4 4.8 21.6 10.1

Tabel 18: DOM+MINMAX+SSTAT Tabel 19: DOM+DDOM+MINMAX+SSTAT

De gecombineerde featuresets presteren allemaal beter dan de gerelateerde basisfeaturesets. De accuracy van de ZS+SSTAT set is zelfs 5% hoger dan de beste basis featureset (ZS). Het is opvallend dat juist SSTAT de grootste verbetering oplevert, omdat deze als losse set het slechtste presteerde. Een goede verklaring is dat de SSTAT set het meeste informatie toevoegt die nog niet in de ZS set zat en dus een betere toevoeging is dan de andere sets uit groep 2. Opvallend is echter ook dat de accuracy op Drum & Bass erg te lijden heeft onder de toevoeging van de SSTAT set. Wat vooral opvalt is dat voor de ZS set de SSTAT featureset de grootste verbetering oplevert, terwijl voor de DOM set de toevoeging van de MINMAX featureset de grootste verbetering oplevert. Dat kan worden verklaard doordat in de MINMAX featureset precies de informatie zit die in de DOM set (waarschijnlijk) afwezig is: de informatie over de extremen in de segmenten. Het combineren van de MINMAX en de SSTAT set als toevoeging levert geen verbetering ten opzichte van het toevoegen van een van de twee voor de ZS set, maar wel voor de DOM set. Verder is het opvallend dat de TEMP en DDOM sets, hoewel deze relatief goed presteerden (in ieder geval significant boven random), geen significante verbetering

29 opleveren. Ten slotte is het goed om op te merken dat de SSTAT set, hoewel deze goed presteer, minder gebalanceerde resultaten heeft. Zo wordt er erg weinig als Drum & Bass geclassificeerd voor alle combinaties waar SSTAT in aanwezig is. De TEMP set is de enige toevoeging die wel relatief veel als Drum & Bass classificeert, maar haalt daarmee ook een lage score van 3.5 op Drum & Bass.

5 Discussie

5.1 Vergelijkbaarheid met ander onderzoek

Het is moeilijk te zeggen of de resultaten van dit onderzoek goed te vergelijken zijn met die uit ander onderzoek. De featureset die is gebruikt is sterk soortgelijk aan die uit vergelijkbare onderzoeken [4, 15, 37]. De software die is gebruikt voor het berekenen van de features is echter wel verschillend, en het is goed mogelijk dat dat een invloed heeft op de kwaliteit van de features. Daarnaast is vooral de dataset heel anders dan die uit ander onderzoek. De genres liggen dichter bij elkaar dan die in ander onderzoek, met uitzondering van het onderzoek van Silla et al. [15], dat onder andere gebruik maakt van een dataset van verschillende soorten Latijnse muziek. Verder is de dataset een stuk kleiner dan andere datasets (die bestaan uit 500 of meer nummers). Het is dus moeilijk te zeggen of de resultaten hetzelfde zullen zijn voor de andere datasets, maar het is wel waarschijnlijk dat de toevoegingen van de SSTAT set ook voor andere datasets een verbetering opleveren. In hoeverre dat zo is, zal echter vooral afhankelijk zijn van de genres die in een dataset aanwezig zijn. Voor het onderscheiden van subgenres die subtiele verschillen in opbouw hebben zal er waarschijnlijk wel een verbetering zijn, maar voor genres die zich puur op timbre al laten onderscheiden (zoals popmuziek en klassiek) zal het niet veel uitmaken.

5.2 Betrouwbaarheid van gebruikte software en berekende features

Een van de problemen met het vergelijken van onderzoeken in de automatische classificatie van muziek in genres is de software waarmee de features worden berekend. Zo is van sommige onderzoeken de oorspronkelijke code niet meer verkrijgbaar, of is onbekend welke instellingen er precies zijn gebruikt voor bijvoorbeeld de window- en aggregator size. Bij het selecteren van de features bleek bijvoorbeeld dat de statistieken van het spectrum die door sonic anno- tator zijn berekend beter presteerden in classificatie dan die door marsyas werden berekend. Waar dat verschil precies door wordt veroorzaakt is moeilijk te zeggen, maar het moet worden opgemerkt dat het een verschil in de resultaten kan betekenen.

5.3 Prestaties met andere classifiers

Er was voor dit onderzoek geen tijd om ook andere classifiers uitgebreid te testen, maar uit een paar simpele tests met een SVM classifier die in Weka aanwezig is bleek de accuracy een stuk hoger te zijn dan die van de Naive Bayes classifier. De mate waarin de toegevoegde features een verbetering in prestatie leveren is waarschijnlijk ook sterk afhankelijk van de classifier die wordt gebruikt. Het zou dus interessant zijn om dezelfde methode toe te passen

30 op verschillende classifiers, om te onderzoeken of de hier gevonden relatie ook geldt voor andere classificatiemethoden.

5.4 Prestatie low-level features

Opvallend in de scores van de featuresets die gebruik maken van de statistieken van features over verschillende segmenten, was dat daar met name de low-level features die het spectrum beschrijven erg sterk presteerden. Met name de minima en maxima van zerocrossings, spec- tral flux, rms-energy en spectral centroid bleken bijzonder goed te presteren ten opzichte van de minima en maxima van features die ritme en pitch beschrijven. Dat is gunstig voor real-time classificatie, omdat juist de low-level features real-time berekend kunnen worden.

5.5 Beschrijvende statistieken

Voor dit onderzoek hebben we relatief simpele statistieken gebruikt voor de beschrijving van de features over verschillende segmenten. Deze simpele statistieken leverden al een betere accuracy op bij de classificatie, dus is het misschien interessant om andere statistische maten te onderzoeken om de temporele ontwikkeling te beschrijven.

5.6 Complexiteit

Een groot voordeel van de classificatie met behulp van segmentering is de complexiteit. De toegevoegde complexiteit is namelijk slechts die van het algoritme waarmee de posities van de segmenten worden bepaald. Het opknippen van te analyseren audio in stukjes is wel gun- stig voor parallele berekeningen, omdat voor elk segment de features onafhankelijk kunnen worden berekend, waarna de data kan worden samengevat. Zelfs wanneer de statistieken van audiofragmenten zonder en met segmentering worden gecombineerd, is de enige toegevoegde complexiteit die van het dubbel berekenen van de statistieken. De features hoeven nog steeds maar een keer te worden berekend. Zolang er dus goede beschrijvende statistieken en een goed algoritme voor segmentering worden gevonden hebben betere resultaten geen significant hogere rekentijd als nadeel.

5.7 Dataset

Hoewel de dataset zorgvuldig is samengesteld, zijn er toch kanttekeningen te plaatsen bij de kwaliteit ervan. Allereerst is de dataset behoorlijk klein vergeleken met datasets uit ander onderzoek, die meestal bij een soortgelijk aantal genres minstens vijftig nummers hebben. Voor dit onderzoek was er echter geen tijd om een grotere dataset samen te stellen en feau- tures over een veel grotere dataset te berekenen. Naast de grootte van de dataset is ook de kwaliteit van de tags wellicht een probleem. Social tags brengen meerdere vormen van bias met zich mee. Onder andere een bias door populariteit van artiesten en het soort personen dat tijd steekt in het toevoegen van tags kan een probleem zijn [17]. Daarnaast zijn er, ge- tuige de discussie op onder andere http://www.last.fm/tag/dubstep sterk uiteenlopende meningen over de correcte toepassing van bepaalde tags. Het is daardoor mogelijk dat zelfs in de top 50 van tags geen consensus te vinden is, en kunnen nummers van verschillende stijlen onterecht met dezelfde tag zijn gelabeled.

31 Het voornaamste probleem van de dataset is echter dat er voor de datasets in andere on- derzoeken weinig gegevens zijn over hoe moeilijk de sets zijn in classificatie. Het is voor onderzoek naar de automatische classificatie van muziek in genres in ieder geval aan te raden om helder te documenteren hoe een dataset is samengesteld, zodat een indicatie is gegeven van de moeilijkheidsgraad van classificatie. Als extra onderbouwing daarvoor is het aan te raden om deze moeilijkheidsgraad ook empirisch te onderbouwen, door mensen voor dezelfde classificatietaak te stellen.

5.8 Gebruikte software

5.8.1 Marsyas

De marsyas toolbox is gebruikt om met name de beat features te berekenen. Hoewel de code slecht gedocumenteerd is en de handleiding sterk verouderd is, kon via de mailing list van marsyas op sourcefourge de benodigde documentatie toch worden achterhaald. Het grote voordeel van marsyas is dat het bijzonder snel is ten opzichte van de andere feature- extractors. De implementatie is nagenoeg snel genoeg voor realtime classificatie. Voor de extractie van de beat features is marsyas versie 0.4.0 gebruikt, omdat met andere versies de beat features niet correct werden berekend.

5.8.2 MIRToolbox

De MIRToolbox is een toolbox voor MATLAB dat een heel framework biedt voor de extractie van features uit audio [19, 20]. De toolbox is bijzonder goed gedocumenteerd, en de code is eenvoudig te wijzigen. De toolbox biedt veel opties voor batch-extractie van features en het tweaken van parameters in de feature extractie, maar is helaas veel minder snel dan Marsyas. Met name de computationeel zwaardere features, zoals MFCCs, zijn te langzaam om op een grote dataset te gebruiken. De toolbox is daarmee eigenlijk met name geschikt voor de gedetailleerde analyse van bepaalde features, en niet voor het berekenen van meerdere features op een grote dataset.

5.8.3 Vamp Plugins

Vamp plugins zijn een verzameling plugins die door meerdere applicaties gebruikt kunnen worden. Het grote voordeel hiervan is dat er voordat er feature extractie wordt gedaan met Sonic Annotator, ook visuele analyse kan worden gedaan met Sonic Visualizer. De feature-extractie is relatief snel, makkelijk te gebruiken en erg geschikt voor batch-extractie. Daarnaast kan sonic-annotator de resultaten als CSV wegschrijven, waardoor de verdere verwerking met Weka en Excel erg makkelijk is. Het nadeel van Vamp Plugins is dat de code niet zo makkelijk in te zien is, waardoor zwakheden in de algoritmes moeilijker te zien zijn.

5.8.4 Microsoft Excel 2013

Omdat er voor deze scriptie niet genoeg tijd was om een software framework te bouwen dat de features berekent en de bestanden classificeert, is er voor de berekening van meta-features en het samenstellen van de featuresets vooral gebruik gemaakt van Microsoft Excel 2013. Veel van de berekeningen zijn daardoor makkelijk te doen, maar complexere voorwaardelijke

32 analyses kostten meer tijd. Daarnaast was het helaas niet makkelijk om ingewikkelde meta- features te bedenken, omdat daarvoor mijn kennis van Excel niet toereikend was. Excel was echter wel heel geschikt voor tussentijdse analyse van de features door de mogelijkheden om te plotten en voorwaardelijke opmaak toe te passen.

5.8.5 Weka

De Weka data mining software [13] is gebruikt voor de discretizering van de features en het classificeren met behulp van een Naive Bayes classifier. Weka biedt een grote hoeveelheid tools voor de analyse van features en classifiers, en was voor het schrijven van deze scriptie een grote uitkomst. Weka is goed gedocumenteerd, gemakkelijk in het gebruik en erg snel.

5.9 Classifiers

5.9.1 Discretizering

De keuze voor de Naive Bayes classifier is met name gemaakt omdat de focus niet ligt op de absolute prestatie van de featuresets, maar om de relatieve prestatie ten opzichte van elkaar. Toch is er wel wat voor te zeggen om ook met andere classficatiealgoritmen te testen. Ten eerste is het noodzakelijk om te discretizeren. De manier van discretizeren kan grote invloed hebben op het succes van de classificatie, maar was geen onderwerp van deze scriptie. Voor verder onderzoek zou het interessant zijn om bijvoorbeeld Support Vector Machines te gebruiken om dit probleem te ontwijken.

5.10 Segmentering

5.10.1 Andere methodes voor segmentering

De gekozen methode voor segmentering weegt zwaar mee in het succes van de features. Als de segmentering niet op de goede manier gebeurt, presteren de features vanzelfsprekend slechter. Er was helaas niet genoeg tijd om verschillende methodes van segmentering te vergelijken, omdat daarvoor al het werk in tweevoud of drievoud zou moeten worden gedaan. De ge- bruikte methode lijkt redelijk goed te werken voor de meeste nummers uit de dataset, maar het zou kunnen dat de gebruikte segmentering voor bepaalde genres niet goed werkt. Als de relevante periodes zich niet laten scheiden door MFCCs, of juist te goed, zijn de resultaten minder. Bovendien is het gebruikte algoritme voor segmentering vrij zwaar. Verder is het zo dat muziekstukken grote verschillen in lengte kunnen hebben, zonder dat de genres daarbij verschillen. De lengte van de nummers heeft een grote invloed op een aantal features, zoals de statistieken van de segmenten en de afstand van het dominante segment.

5.10.2 Thresholds voor segmenten

Voor verder onderzoek zou het interessant zijn om methodes te proberen die andere limieten stellen aan de segmenten of van elk segment een fragment van vaste lengte gebruiken voor het berekenen van de features. Verder zou er kunnen worden geexperimenteerd met andere wegingen van de segmenten in het berekenen van de features. Nu is er gekozen om voor de

33 featuresets die gebruik maken van de segmentering elk segment even zwaar mee te laten we- gen. Het gebruik van een threshold op lengte of minimale RMS-energy zou misschien kunnen helpen om segmenten die minder belangrijk zijn te filteren. Bovendien hebben sommige au- diobestanden stilte aan het begin of aan het einde die de statistieken overbodig beinvloeden. Het weglaten van zulke segmenten zal waarschijnlijk een verbetering in prestatie opleveren, omdat ze voor de classificatie in genres niet relevant zijn.

6 Conclusie

Er is onderzocht welke invloed features die de temporele ontwikkeling van andere features beschrijven hebben op het succes in classificatie. Er zijn verschillende methoden voor de beschrijving van temporele ontwikkeling geprobeerd, waarbij bleek dat features berekend op segmenten van audio die de temporele ontwikkeling verwerpen iets slechter presteren (ongeveer 1%) dan bij het berekenen van features zonder segmentering. Het toevoegen van features die statistieken van de segmenten beschrijven aan een featureset die niet van seg- mentering gebruik maakt bleek een verbetering in prestaties van ongeveer 5% op te leveren tot een accuracy van 63.9%, wat in dit onderzoek de best gevonden score was. Een featureset die gebruik maakt van de verschillen tussen opeenvolgende segmenten leverde geen verbe- tering in score op. Verder bleek dat de temporele karakteristieken van low-level features die het spectrum beschrijven erg sterk presteerde ten opzichte van de temporele karakteristieken van high-level features die pitch en ritme beschrijven.

Bibliography

[1] J. J. Aucouturier and F. Pachet. Improving timbre similarity : How high’s the sky? Journal of Negative Results in Speech and Audio Sciences, 1(1), 2004.

[2] A. Berenzweig, B. Logan, D. P. W. Ellis, and B. Whitman. A large-scale evaluation of acoustic and subjective music similarity measures. In Computer Music Journal, 2003.

[3] J. Bergstra and B. K´egl. Aggregate features and adaboost for music classification. In Machine Learning, pages 2–3, 2006.

[4] T. Bertin-Mahieux, D. Eck, F. Maillet, and P. Lamere. Autotagger: a model for predict- ing social tags from acoustic features on large music databases. Journal of New Music Research, special issue: ”From genres to tags: Music Information Retrieval in the era of folksonomies.”, 37(2), June 2008.

[5] S. Brecheisen, H.-P. Kriegel, P. Kunath, and A. Pryakhin. Hierarchical genre classifi- cation for large music collections. In Multimedia and Expo, 2006 IEEE International Conference on, pages 1385–1388, 2006.

[6] Y. Costa, L. Oliveira, A. Koerich, F. Gouyon, and J. Martins. Music genre classification using {LBP} textural features. Signal Processing, 92(11):2723 – 2737, 2012.

[7] D. Deutsch. The Psychology of Music. Academic press series in cognition and perception /ed. by Edward Carterette, Morton P. Friedman. Academic Press, 1999.

[8] C. Dittmar and C. Bastuck. Novel Mid-Level Audio Features for Music Similarity. 2007.

34 [9] Z. Fu, G. Lu, K. M. Ting, and D. Zhang. Music classification via the bag-of-features approach. Pattern Recognition Letters, 32(14):1768 – 1777, 2011.

[10] F. Gouyon, F. Pachet, and O. Delerue. On the use of zero-crossing rate for an application of classification of percussive sounds. In Proceedings of the COST G-6 Conference on Digital Audio Effects (DAFX-00, 2000.

[11] D. M. Green. Form in Tonal Music: An Introduction to Analysis, Second Edition. Holt, Rinehart and Winston, 1979.

[12] J. M. Grey and J. W. Gordon. Perceptual effects of spectral modifications on musical timbres. Journal of the Acoustical Society of America, 63(5):1493–1500, 1978. Cited By (since 1996):68.

[13] M. Hall, E. Frank, G. Holmes, B. Pfahringer, P. Reutemann, and I. H. Witten. The weka data mining software: an update. SIGKDD Explor. Newsl., 11(1):10–18, Nov. 2009.

[14] M. Hoffman, D. Blei, and P. Cook. Easy as cba: A simple probabilistic model for tagging music. In Proc. International Symposium on Music Information Retrieval, 2009.

[15] C. N. S. Jr., A. L. Koerich, and C. A. A. Kaestner. Feature selection in automatic music genre classification. In Tenth IEEE International Symposium on Multimedia, pages 39–44, December 2008.

[16] P. Juslin. Cue utilization in communication of emotion in music performance: Relating performance to perception, 2000.

[17] P. Lamere. Social tagging and music information retrieval. Journal of New Music Research, 37(2):101–114, 2008.

[18] O. Lartillot. MIRtoolbox User’s Manual. Finnish Centre of Excellence in Interdisci- plinary Music Research and Swiss Center for Affective Sciences, 2012.

[19] O. Lartillot and P. Toiviainen. A matlab toolbox for musical feature extraction from audio. In International Conference on Digital Audio Effects, pages 237–244, 2007.

[20] O. Lartillot, P. Toiviainen, and T. Eerola. A matlab toolbox for music information re- trieval. In C. Preisach, H. Burkhardt, L. Schmidt-Thieme, and R. Decker, editors, Data Analysis, Machine Learning and Applications, Studies in Classification, Data Analysis, and Knowledge Organization, pages 261–268. Springer Berlin Heidelberg, 2008.

[21] M. Levy and M. Sandler. Structural segmentation of musical audio by constrained clustering. Audio, Speech, and Language Processing, IEEE Transactions on, 16(2):318– 326, 2008.

[22] T. Li and M. Ogihara. Music genre classification with taxonomy. In in Proc. of IEEE Int. Conference on Acoustics, Speech and Signal Processing, pages 197–200, 2005.

[23] T. Li, M. Ogihara, and Q. Li. A comparative study on content-based music genre classification. In in Proc. SIGIR, 2003, pages 282–289, 2003.

[24] T. Lidy and A. Rauber. Evaluation of feature extractors and psycho-acoustic transfor- mations for music genre classification. In ISMIR, pages 34–41, 2005.

35 [25] B. Logan. Mel frequency cepstral coefficients for music modeling. In In International Symposium on Music Information Retrieval, 2000.

[26] C. Mckay and Fujinaga. Musical genre classification: Is it worth pursuing and how can it be improved? 2006.

[27] K. McLeod. Genres, subgenres, sub-subgenres and more: Musical and social differen- tiation within electronic/dance music communities. Journal of Popular Music Studies, 13(1):59–75, 2001.

[28] A. Nanopoulos, D. Rafailidis, M. M. Ruxanda, and Y. Manolopoulos. Music search engines: Specifications and challenges. Inf. Process. Manage., 45(3):392–396, 2009.

[29] F. Pachet and D. Cazaly. A taxonomy of musical genres. In Content-Based Multimedia Information Access Conference (RIAO) proceedings, 2000.

[30] C. Raphael. Automatic segmentation of acoustic musical signals using hidden markov models. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 21(4):360– 370, 1999.

[31] J. Salamon, B. Rocha, and E. G´omez. Musical genre classification using melody fea- tures extracted from polyphonic music signals. In IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Kyoto, Japan, 25/03/2012 2012.

[32] C. Sanden and J. Z. Zhang. An empirical study of multi-label classifiers for music tag annotation. In Proceedings of the 12th International Society for Music Information Retrieval Conference, pages 717–722, Miami (Florida), USA, October 24-28 2011. http: //ismir2011.ismir.net/papers/PS6-11.pdf.

[33] K. Seyerlehner, M. Schedl, T. Pohle, and P. Knees. Using block-level features for genre classification, tag classification and music similarity estimation. 6th Annual Music In- formation Retrieval Evaluation eXchange (MIREX-10), Utrecht, Netherlands, 2010.

[34] C. Silla, C. Kaestner, and A. Koerich. Automatic music genre classification using en- semble of classifiers. In Systems, Man and Cybernetics, 2007. ISIC. IEEE International Conference on, pages 1687–1692, 2007.

[35] J. Silla, CarlosN., C. Kaestner, and A. Koerich. Time-space ensemble strategies for automatic music genre classification. In J. Sichman, H. Coelho, and S. Rezende, editors, Advances in Artificial Intelligence - IBERAMIA-SBIA 2006, volume 4140 of Lecture Notes in Computer Science, pages 339–348. Springer Berlin Heidelberg, 2006.

[36] T. Tolonen and M. Karjalainen. A computationally efficient multipitch analysis model. Speech and Audio Processing, IEEE Transactions on, 8(6):708–716, 2000.

[37] G. Tzanetakis and P. Cook. Musical genre classification of audio signals. Speech and Audio Processing, IEEE Transactions on, 10(5):293–302, 2002.

[38] K. West, S. Cox, B. Milner, and J. Reiss. Novel techniques for audio music classification and search. SIGMultimedia Rec., 1(1):15–15, Mar. 2009.

36 A Dataset

A.1 Drum & Bass • Noisa - Machine Gun • High Contrast - Kiss Kiss Bang Bang • Adele - Hometown Glory (High Contrast Remix) • Sub Focus - Last Jungle • The Qemists - Stompbox (Spor Remix) • B-Complex - Beautiful Lies • Pendulum - Witchcraft • Chase & Status - No Problem • DJ Fresh - Gold Dust • Netsky - Love Has Gone

A.2 Progressive House • Deadmau5 - Right This Second • Nadia Ali, Starkillers & Alex Kenji - Pressure (Alesso Remix) • Skrillex - Scary Monsters and Nice Sprites (Kaskade Remix) • Avicii - Levels (Original Mix) • Swedish House Mafia - One (Radio Edit) • Parov Stelar - Nosferatu (Original Version) • Pryda - Allein • 16 Bit Lolitas - Nobody Seems To Care • Coldplay - Paradise (Fedde le Grand Remix) • Calvin Harris - Flashback (Eric Prydz Remix)

A.3 IDM • Moderat - Rusty Nails • Flying Lotus - Satelllliiiiiiiteee • Aphex Twin - Vordhosbn • Boards of Canada - Telephasic Workshop • edIT - Ants • Squarepusher - My Red Hot Car • Four Tet - She Moves She • Telefon Tel Aviv - TTV • Clark - Ted • Autechre - Montreal

A.4 Minimal • Paul Kalkbrenner - Aaron • Trentemoller - Take Me Into Your Skin • Marek Hemmann - Gemini • Minilogue - The Leopard (Extrawelt Remix) • Booka Shade - In White Rooms • Gui Boratto - Beautiful Life • Kollektiv Turmstrasse - Tristesse • Sascha Funke - Mango • Agoria - Les Violons Ivres • Pantha du Prince - Eisbaden

37 A.5 Dubstep • Nero - Promises • Rusko - Woo Boost • Flux Pavilion - Got 2 Know • Skrillex - Bangarang (Ft. Sirah) • Knife Party - Bonfire • Ellie Goulding - Lights (Bassnectar Remix) • Gemini - Blue • Doctor P - Sweet Shop • Skream - Midnight Request Line • Magnetic Man - Anthemix (Ft. P Money)

A.6 Electropop • Royksopp - This Must Be It • Robyn - Dancing on My Own • Ladytron - Destroy Everything You Touch • Hot Chip - Over and Over • La Roux - Bulletproof • Ellie Goulding - Starry Eyed • Cut Copy - Feel The Love • Pnau - Embrace • Passion Pit - Better Things • Yelle - Ce Jeu

A.7 Eurodance • 2 Brothers On The 4th Floor - Never Alone • Haddaway - What Is Love • 2 Unlimited - Get Ready For This • Sin With Sebastian - Shut Up (And Sleep With Me) • Captain Jack - Captain Jack • Me & My - Dub-I-Dub • Pandora - Trust Me • La Bouche - Be My Lover • Ice MC - It’s a Rainy Day • Aqua - Doctor Jones

38