Perceptuell identifiering av musikgenre
Uppsats i kurs DD143X, examensarbete inom datalogi, grundnivå
KTH Skolan för datavetenskap och kommunikation Stockholm, april 2014 Henrik Almér <halmer@kth.se> Handledare: Anders AskenfeltAbstract
This is a study in the field of Music Information Retrieval (MIR) concerning classification of music genre. The study uses a music listening experiment and machine learning methods to determine whether or not the drum sounds from different songs contain sufficient information to classify genre. MIR methods are used to extract data from the audio signals. The data is used together with the classification results of the listening experiment to train different machine learning algorithms to classify the songs in different genres. The results indicate that using only drum sounds for genre classifications works well, both for listeners and for machine learning methods.Sammanfattning
Detta är en studie inom fältet Music Information Retrieval (MIR) som behandlar klassificering av musikgenre. Studien använder ett lyssningsexperiment och maskininlärningsmetoder för att avgöra huruvida trumstämmorna från olika musikstycken innehåller tillräckligt information för att klassificera genre. MIRmetoder används för att extrahera data från musikstycken baserade på innehållet i ljudsignalen. Dessa data används tillsammans med klassificeringsresultat från lyssningsexperimentet för att träna olika maskininlärningsmetoder till att klassificera musikstyckena i olika genrer. Resultaten visar att det fungerar väl att använda enbart trumljud för genreklassificering, både för lyssnare och för maskininlärningsmetoder.Innehållsförteckning
Abstract Sammanfattning Innehållsförteckning Inledning Problemformulering Avgränsningar Relevans Bakgrund Genrebegreppet Perceptuella särdrag och datautvinning Maskininlärningsmetoder Metod Val av genrer och musikstycken Lyssningsexperiment Datautvinning och maskininlärningsmetoder Melfrequency cepstral coefficients Prediktion med maskininlärningsmetoder Resultat & analys Lyssningsexperiment Datautvinning Self organizing maps Klassificering Support vector machine Knearest neighbours Diskussion Lyssningsexperiment Klassificering Slutsats Referenser Appendix A: Valda musikstycken med genreklassificering från karaokeversion.com Appendix B: Enkätsvar Medianvärden för trummstämmor Medianvärden för hela mixar Appendix C: Perceptuella särdragInledning
Studien behandlar frågor inom ämnet Music Information Retrieval (MIR) vilket är ett tvärvetenskapligt forskningsområde som studerar igenkänning av musik baserat på bland annat musikens form, innehåll och framförande. MIR kan användas till högnivåbeskrivningar som ett musikstyckes genre, likhet mellan musikstycken och känslostämningar. MIR kan också appliceras på mer specifikt formulerade problem som t.ex. melodiigenkänning och taktestimering. Avancerade metoder för signalbehandling används för att extrahera perceptuella särdrag från musikstycken. För att kunna beskriva stycket på högre nivå med hjälp av dessa särdrag används ofta maskinlärningsmetoder eller statistiska metoder. Studien kommer fokusera på maskininlärningsaspekten av MIR och undersöka metoder för klassificering och klustring av musikstycken.Problemformulering
Studiens mål är att ge ett underlag för att avgöra om ett musikstyckes trumljud innehåller tillräcklig information för att man med maskininlärningsmetoder ska kunna bedöma styckets genretillhörighet.Avgränsningar
Studien kommer att utgå från ett begränsat antal genrer och ett begränsat antal musikstycken. Datainsamlingen som görs i form av ett lyssningsexperiment, kommer att omfatta ett relativt litet antal deltagare. Dessa avgränsningar görs på grund av den begränsade tid som finns tillgänglig inom ramen för undersökningen. En så pass avgränsad studie som denna kommer inte kunna ge ett statistiskt säkerställt resultat, utan undersökningsresultatet kommer ha en relativt stor felmarginal.Relevans
Studien bidrar till pågående forskning om perceptuella särdrag inom MIR. Studier kring genretillhörighet är ofta gjorde på den kommersiellt tillgängliga versionen av ett musikstycke (full mix), trots att människor kan särskilja de olika stämmorna (källorna) i mixen. I denna studie undersöks specifikt om trummor som källa är en bra grund för att identifiera genre.Bakgrund
Genrebegreppet
Musikgenre är en populär högnivåbeskrivning av musik och används för att klassificera musikstycken. Klassificering i olika genrer är ett användbart sätt att beskriva vad ett visst stycke har gemensamt med andra, likväl på vilka sätt det skiljer sig. Uppkomsten till genre återfinns alltså i vår naturliga tendens att klassificera (Aucouturier & Pachet, 2003). Genrer formas av konventioner som ändras över tid då nya genrer uppfinns och andra slutar användas. Musik passar ofta in i flera olika genrer då många stycken kombinerar olika sådana konventioner. För att kunna modellera en sådan komplex genretillhörighet använder denna studie procentuella angivelser av tillhörighet till flera olika genrer för att klassificera musikstycken.Perceptuella särdrag och datautvinning
Perceptuella särdrag är värden som beskriver olika aspekter av musiken. Exempelvis antalet attacker (notstarter) per sekund, ljudnivån i en viss oktav, tempo samt rytmisk komplexitet. Tempo uppskattas och de två mest sannolika tempona används som perceptuella särdrag. Rytmisk komlexitet avser oregelbundenhet i avstånd mellan notstarter. Denna studie använder ett stort antal sådana perceptuella särdrag vilka finns beskrivna i litteraturen (Elowsson, Friberg, Madison & Paulin, 2013). Studien använder också MelFrequency Cepstral Coefficients (MFCC) för att beskriva musik. MFCC:er används ofta i MIRsammanhang som underlag för genreklassificering och bedömning av likhet mellan olika musikstycken (Müller, 2007). De har sitt ursprung i automatisk taligenkänning och röstigenkänning där de används som beskrivning av talat ljud (Ganchev, Fakotakis & Kokkinakis, 2005). MFCC är en kompakt representation av frekvensspektrum, uppdelat i band enligt melskalan.
Maskininlärningsmetoder
Maskininlärning är ett fält inom artificiell intelligens som behandlar konstruktion av system vilka på olika sätt kan lära sig från insamlad data. Begreppet kan beskrivas genom följande definition av Tom M. Mitchell (Mitchell, 1997). A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E. Tom M. Mitchell Maskininlärning är i grunden en applikation av statistiska metoder och används ofta till att lösa regressions och klassificeringsproblem. Det finns två huvudkategorier av maskininlärning, övervakad och oövervakad inlärning.I fallet med övervakad inlärning för ett klassificeringsproblem används indata som vi redan kan svaret på för att träna en maskininlärningsalgoritm. Genom att ge algoritmen många olika indata och ange vilken klassificering de har kan algoritmen lära sig att hitta beslutsgränser mellan de olika typerna av indata. Efter att algoritmen har tränats på sådan indata kan den sedan användas till att klassificera indata som vi inte redan kan svaret på. Oövervakad inlärning är en annan kategori av maskininlärningsmetoder där algoritmen ges indata som vi inte kan svaret på. I dessa metoder är målet oftast inte att hitta en klassificering utan att göra en dataanalys och se om det finns några naturliga klustringar i en datamängd. Denna studie använder sig av tre olika metoder för maskininlärning. Dessa är Self Organizing Maps, kNearest Neighbours och Support Vector Machines. För alla tre metoderna används de perceptuella särdragen och MFCCdata som indata. Self Organizing Maps (SOM) är en oövervakad maskininlärningsmetod för dimensionsreduktion. SOM:en tränas på mångdimensionell indata och producerar ett lågdimensionellt resultat. Algoritmen bedömer avstånden mellan indatavektorer och låter vektorer som ligger nära varandra i indatat hamna nära varandra i det lågdimensionella resultatet, och vice versa. Med hjälp av en SOM går det att hitta och illustrera klustringar i mångdimensionella data. Det är en metod som ger ett resultat med en tydlig intuitiv tolkning. I denna studie används SOM för att analysera indata och undersöka vilka klustringar som uppstår för olika sorters indata. Support Vector Machines (SVM) är en övervakad maskininlärningsmetod som vanligtvis används för klassificering och regressionsproblem. SVM:er kan konfigureras för att använda olika inlärningsfunktioner och de fungerar genom att hitta en beslutsgräns mellan olika klasser av data. SVM har använts för klassificering av genre i flera olika studier och har visat sig ge lyckade resultat (Scaringella, Zoia, och Mlynek, 2006). I denna studie används SVM till att hitta beslutsgränser och utföra klassificering av musikstycken i en av fem genrer. kNearest Neighbours (kNN) är en även det en övervakad maskininlärningsmetod som kan användas till klassificering och regressionsproblem. kNN fungerar genom att för varje inputvektor bedöma avståndet till dess k närmsta grannar och klassificera vektorer baserat på klustring. Avståndsfunktionen som används i algoritmen är konfigurerbar. kNN har med framgång använts för genreklassificering i ett par olika studier (Scaringella, Zoia & Mlynek, 2006). Denna studie använder kNN till samma ändamål som SVM.
Metod
Studien består av 1. Ett webbaserat lyssningsexperiment, vilket undersöker perceptuell bedömning av genre och ger ett underlag för prediktion med maskininlärning. 2. Extrahering av perceptuella särdrag och MFCC:er 3. Prediktion av genre med maskininlärningsmetoder tränade på det extraherade datat 4. Jämförelse av resultatet från lyssningsexperimentet och prediktionenVal av genrer och musikstycken
För lyssningsexperimentet valdes ett antal genrer och musikstycken. Med utgångspunkt i utbudet på webbplatsen karaokeversion.com valdes fem genrer och 20 musikstycken. Genrerna valdes så att det skulle finnas så tydliga skillnader som möjligt mellan trumljuden: pop, rock, reggae, jazz och klassiskt. Från dessa genrer valdes sedan totalt 20 musikstycken, också de valda för att det skulle finnas så stora skillnader som möjligt mellan de olika genrernas trumljud (se Appendix A). Webbplatsen karaokeversion.com erbjuder nedladdning av musikstycken i sin helhet men även enbart trumljuden eller andra stämmor. Styckenna sparades i en databas tillsammans med metainformation om musikstycket.
Lyssningsexperiment
Lyssningsexperimentet syftade till att undersöka hur väl lyssnare kan avgöra genre samt att ge ett underlag för träning av maskininlärningsalgoritmerna. Ett webbaserat lyssningsexperimentet skickades ut till ca 30 lyssnare som fick lyssna på korta 1 avsnitt tagna från de 20 musikstyckena. En längd av 15 s per avsnitt valdes för att inte ge upphov till ett alltför tidskrävande lyssningsexperiment. Då hörselminnet är väldigt kort, ca 34 s (Radvansky, 2005) bedömdes 15 s vara tillräckligt lång tid för att lyssnarna skulle kunna bilda sig en uppfattning om stämman. Från vart och ett av musikstyckena användes totalt tre avsnitt, två korta avsnitt av trumljuden för varje stycke och ett kort avsnitt av full mix. Anledningen till att använda två separata avsnitt från varje musikstycke för trumljuden var för att få en mer representativ bedömning av trumstämman som helhet. Avsnitten presenterades för lyssnarna i slumpad ordning och denne fick i uppgift att bedöma avsnittens genretillhörighet. Genreklassificeringen skedde på en glidande skala som täckte fem olika genrer. Lyssnarens uppgift var alltså att säga att ett musikstycke är t ex 30 % pop, 90 % rock och 10 % jazz. 1 Webapplikationen skrevs i Python med ramverket Flask och en frontend skapad med JavaScriptbiblioteket angular.js.Avsnitten presenterades för lyssnaren i slumpad ordning, så att inte vissa avsnitt skulle få en missvisande bedömning på grund av deras placering i listan. För att ett resultat av
lyssningsexperimentet skulle godtas krävdes att lyssnaren slutförde hela experimentet och gav en bedömning på samtliga avsnitt.
Datautvinning och maskininlärningsmetoder
Avsnitten från lyssningsexperimentet kördes igenom olika MIRalgoritmer för att extrahera perceptuella särdrag. Även MFCCdata utvanns från avsnitten. Totalt 371 olika perceptuella särdrag extraherades från varje stämma. Detta gjordes genom att med MIRmetoder särskilja trumljuden från stämmorna och använda de funna trumljuden som indata i olika utvinningsalgoritmer. De särdrag som utvanns finns beskrivna i en nyligen publicerad studie (Elowsson, Friberg, Madison & Paulin, 2013) , se appendix C. 2
Mel-frequency cepstral coefficients
Avsnitten användes även för att utvinna MFCCdata . Det utvunna MFCCdatat sammanställdes 3 till en medelvärdesvektor och kovariansmatris för varje avsnitt. Melfrequency cepstral coefficients (MFCC) är data som utvinns ur en ljudsignal. Det använder melskalan, vilket är en perceptuell skala av tonhöjder som lyssnare har bedömt är på lika avstånd från varandra (Stevens, Volkman & Newman, 1937). MFCC:er har många användningar inom tal och röstigenkänning (Ganchev, Fakotakis & Kokkinakis, 2005). De är även populära inom MIR för t ex genreklassificering (Müller, 2007). Ett cepstrum beskriver i princip en periodisk struktur i ljudets spektrum. Spektrum beräknas genom att ta fouriertransformen av ljudsignalen. Ett cepstrum är den inversa fouriertransformen av logaritmen av ett sådant spektrum. Ordet cepstrum kommer från det engelska ordet spectrum, med de fyra första bokstäverna i omvänd ordning. I MFCC:er används ett effektcepstrum, vilket är definierat som kvadraten av magnituden av den inversa fouriertransformen av logaritmen av kvadraten av magnituden av fouriertransformen av en signal (Norton, Karczub, 2003). Formeln visas i figur 1. F | | | −1
{
log(
| {fF (t) |}2)}
|| | 2 Figur 1. Formel för att beräkna effektcepstrum av en signal f(t) MFCC:er utvinns vanligtvis med följande metod (Sahidullah, Saha och Goutam, 2012). Ett diagram över tillvägagångssättet visas i figur 2. 1. Ta fouriertransformen av en liten del av hela ljudsignalen 2 Särdragen extraherades med hjälp av förstaförfattaren från den refererade studien 3 MFCCdatat extraherades med Python och open sourcepaketet Python Speech Features2. Projicera det funna spektrat på melskalan, med triangulärt överlappande fönster 3. Ta logaritmen av den projicerade amplituden 4. Ta den diskreta cosinustransformen av de funna logaritmvärdena, som om de vore en signal i tidsdomänen 5. MFCC:erna för den valda delen av ljudsignalen är amplituden på det funna cepstrat Figur 2. Steg för att beräkna MFCC:er för en del av en ljudsignal. Antalet amplituder i MFCC som används är konfigurerbart men i många implementationer resulterar ovanstående process i en vektor av 13 koefficienter per del av ljudsignalen. Många parametrar, som längden på delarna och fönstrens storlek, kan justeras för att påverka resultatet av datautvinningen.
Prediktion med maskininlärningsmetoder
Särdrags och MFCCvektorerna användes som indata till de tre maskininlärningsmetoderna (SOM, SVM och kNN). Resultatet av träningen analyserades och utfallet från maskininlärningen jämfördes med resultatet från lyssningsexperimentet. Syftet var att avgöra vilken metod som gav prediktioner som stämde bäst överrens med insamlade data från lyssningsexperimentet. I ett första steg gjordes en dataanalys med en SOM som reducerade de multidimensionella särdrags och MFCCvektorerna till två dimensioner. Det 2dimensionella resultatet plottades och analyserades för att se om några naturliga klustringar uppstod. För att hitta en klassificering av datat användes en SVM och en kNNimplementation som tränades på särdrags och MFCCvektorerna. I klassificeringsexperimenten delades det insamlade datat upp i förhållandet 3:1 för träning respektive testning. Det resulterade i 30 avsnitt för träning och 10 avsnitt för testning. Urvalet var balanserat så att samtliga genrer var representerade i båda grupperna.
Resultat & analys
Lyssningsexperiment
Totalt inkom 23 enkätsvar. Skattningarna på trumstämmor sammanställdes till en vektor med medianvärden för varje avsnitt och stämma. Ett exempel på svarsdata från ett avsnitt från trumstämman ur ett teststycke visas i figur 4 (Whams “Wake Me Up Before You GoGo”). För fullständig data se Appendix B. Diagrammet till vänster i figuren visar medelvärdet av de inkomna klassificeringarna. Avsnittet klassificerades som ca 65 % pop, 22 % rock, 2 % reggae, 3 % jazz och 0 % klassiskt. Till höger visas ett låddiagram av samma klassificeringar. Svaren har mycket stor spridning vilket var ett gemensamt kännetecken för alla stycken. En fullständig sammanställning av enkätsvaren återfinns i Appendix B. Figur 4. Enkätsvar för ett avsnitt ur trumstämman från Whams “Wake Me Up Before You GoGo”. Till vänster visas medelvärden för genretillhörighet (procent) och till höger ett låddiagram. Strecken i mitten av lådorna representerar medianvärden, de streckade linjerna representerar den undre respektive övre kvartilen och plustecknen är utliggare. Notera den stora spridningen bland de inkomna svaren. Spridningen bland de inkomna svaren för trumstämmorna var så stor att den ursprungliga idén om att kunna hitta en regression från en särdragsvektor till en klassificeringsvektor med fem värden inte var rimlig. Därför reducerades klassificeringsvektorerna till att innehålla binäravärden, där det högsta värdet sattes till 1 och övriga till 0, dvs et stycke kan bara tillhöra en viss genre. Ett exempel på en sådan klassificeringsvektor är [0,0,1,0,0] för ett reggaestycke. Efter reduktionen visade det sig att resultatet från lyssningsexperimentet sammanföll helt med expertklassificeringen från karaokeversion.com (se Appendix A och B). Lyssnarna klassificerade två avsnitt ur trumstämman för varje stycke. Resultaten för dessa klassificeringar är sammanställda i Appendix B. Ett viktigt resultat var att klassificeringarna för de två olika avsnitten sammanföll för alla stycken. Vid en jämförelse av resultatet av lyssningsexperimentet för klassificering av trumstämmor respektive hela mixar visade det sig att hela mixar gav en mindre spridning i svaren än trumstämmorna. Klassificeringen av hela mixen för Whams stycke “Wake Me Up Before You GoGo” är illustrerat i figur 5 (jmf figur 4). Figur 5. Medelvärden på enkätsvaren för klassificering av hela mixen av Whams “Wake Me Up Before You GoGo”. Notera att medelvärdet för pop är nära 100, vilket visar på en mindre spridning bland de inkomna svaren jämfört med trumstämman för samma musikstycke (jmf figur 3). Medianvärden för de inkomna svaren för hela mixar återfinns i Appendix B. Gemensamt för alla musikstycken var att lyssnarnas klassificering sammanföll med den från karaokeversion.com. För de hela mixarna har klassificeringen skett med större säkerhet och mindre varians i svaren jämfört med klassificeringen av trumstämmor. Alla musikstycken har fått en lyssnarklassificering med ett medianvärde av 100 i någon av genrerna och 0 i övriga. För att analysera svarens trovärdighet gjordes en sammanställning av skattningarna på de hela mixarna. Den sammanställningen jämfördes sedan mot expertklassificeringen från
karaokeversion.com. Sammanställningen gjordes genom gruppera stämmorna per uppskattad genre och beräkna medelvärdet av de olika stämmornas genreuppskattning för den aktuella genren. Exempelvis grupperas alla stämmor som klassificerats som pop tillsammans och medelvärdet tas av skattningarna till popgenren. Även standardavvikelsen beräknades och visas i figur 3. Figur 3. Sammanställning av skattningar på hela mixar, grupperat på genre. Staplarna visar medelvärden av genreskattningar och de vertikala strecken indikerar det 95 %iga konfidensintervallet. Skattningarna sammanfaller med expertklassificeringen från karaokeversion.com. Resultaten som illustreras i figur 3 visar att lyssnarnas klassificering på de hela mixarna sammanfaller helt med expertklassificeringen från karaokeversion.com.
Datautvinning
Av totalt 371 olika särdrag per stämma som utvunnits med MIRalgoritmer valdes 130 ut som signifikanta särdrag för trumljud. En beskrivning av vad de utvalda särdragen representerar ges i Appendix C. Urvalet gjordes genom iterativa tester för att avgöra vilken delmängd av särdrag som gav prediktioner som bäst sammanföll med resultatet från lyssningsexperimentet. Som komplement till de perceptuella särdragen används MFCC:er för att beskriva musikspåren. MFCC:er har normalt 13 olika särdrag, men i denna studie har antalet särdrag begränsats till de 5 första då dessa visats ge bäst resultat vid genreklassificering (Tzanetakis & Cook, 2002). Vidare har MFCC:erna reducerats till en medelvärdesvektor och kovariansmatris som sedan fogats samman till en vektor.För att lära känna de insamlade datamängderna och för att göra en bedömning av huruvida det var lämpligt för studien användes olika metoder för att skapa en dimensionsreduktion till två dimensioner för att kunna se om några naturliga klustringar uppstod i datat. I analysen användes data från trumstämmorna. Genreklassificering från lyssningsexperimentet användes för att beskriva grupptillhörighet (färgkodning i figur 6 och 7).
Self organizing maps
SOM användes för att reducera inputvektorerna till två dimensioner. SOM:en tränades först på särdragsvektorerna och gav då resultat enligt figur 6. I diagrammet kan man tydligt se att de olika styckena är klustrade i grupper motsvarande genrer. Den enda missklassificeringen är ett reggaestycke som hänförts till popklustret. Figur 6. Klustring av data i två dimensioner utifrån en dimensionsreduktion av särdragsvektorerna. Varje punkt i diagrammen representerar ett avsnitt ur trumstämman för ett musikstycke. De olika punkterna har färgats baserat på genre. Färgfälten representerar ett sammanhållet kluster av avsnitt som tillhör samma genre. Att två punkter ligger nära varandra i diagrammen i figur 6 och 7 innebär att SOM:en har bedömt att de punkterna är lika varandra med avseende på de mångdimensionella inputdatat. Att två kluster ligger nära varandra innebär på samma sätt att de klustren har likheter med varandra. Samma experiment gjordes med MFCCvektorerna och gav resultat enligt diagrammet i figur 7. Här går det fortfarande att se bevis på viss korrekt klustring, men långt ifrån lika tydligt som när de perceptuella särdragen användes. Det finns tydliga kluster för reggae och jazz samt ett större kluster för rock, medan pop och klassiskt hamnar utspritt.
Figur 7. Klustring av data i två dimensioner utifrån en dimensionreduktion av MFCCvektorer.
Klassificering
Support vector machine
En SVM med stöd för multiklassificering tränades till att klassificera de olika musikspåren som tillhörandes en av de fem genrerna. SVM:en var konfigurerad till att använda en kärna baserad på en gaussisk radial basfunktion (RBF) vilken tillåter hantering av ickelinjära klassificeringsproblem. SVM:en tränades först på särdragsvektorerna, med klassificeringsdata från lyssningsexperimentet. Datat delades upp i 75 % träningsdata och 25 % testdata. SVM:en tränades alltså på 30 avsnitt och resultatet av träningen testades på 10 avsnitt i ett stratifierat urval. Testerna visade att SVM:en uppnått en precision av 100 %. SVM:en tränades också på MFCCvektorerna och då uppnåddes en precision av 90 % när datat delats upp i tränings och testdata enligt samma ratio som för de perceptuella särdragen. Ett musikspår blev felaktigt klassificerat som rock. För att få ett bra resultat från SVM:en var både MFCCvektorerna och särdragsvektorerna skalade så att deras värden låg på intervallet [0,1].
K-nearest neighbours
kNN användes som ett alternativ till SVM för att se om det gav ett bättre eller likvärdigt resultat. För träning av kNNimplementationen användes samma uppdelning av tränings och testdata som vid träning av SVM:en.När kNNalgoritmen tränades med särdragsvektorerna uppnåddes en precision av 100 %. Algoritmen använde en viktning baserad på det euklidiska avståndet mellan särdragsvektorerna samt ett kvärde av 9 (antal grannar som användes vid avståndsbedömningen). Med samma avståndsfunktion och ett kvärde av 7 samt träningsdatat utbytt mot MFCCvektorerna uppnåddes en precision av 70 %. Dvs 3 av 10 avsnitt blev felaktigt klassificerade. SVM kNN Särdrag 100 % 100 % MFCC:er 90 % 70 % Tabell 1. Klassificeringsresultat för de olika algoritmerna med lyssningsexperimentet som referens.
Diskussion
Lyssningsexperiment
Lyssningsexperimentet var framgångsrikt och lyssnarnas klassificeringar av de olika stämmorna sammanföll med klassificeringarna från karaokeversion.com. Vissa problem uppstod dock i sammanställningen av resultatet då det visade sig att spridningen bland svaren var väldigt stor. Svaren visade tydligt att lyssnarna hade större framgångar med att klassificera hela mixar av stycken än de separerade trumstämmorna, men att de kunde klassificera båda stämmorna så att resultatet sammanföll med expertklassificeringen från karaokeversion.com. För att minska variationen i svaren hade det varit bättre att använda likertskalor (Friberg, Schoonderwaldt & Hedblad, 2011) istället för en kontinuerlig procentuell skala för att ange genre. En likertskala är en skala där lyssnaren får ange genretillhörighet genom att välja bland ett antal definierade värden. På frågan om hur pass mycket ett musikstycke tillhör genren pop skulle alternativen kunna vara “inte alls”, “litet”, “mellan”, “mycket” och “fullständigt”. Den procentuella skalan missuppfattades av vissa lyssnare och det uppstod också förvirring kring hur den skulle tolkas. Vissa lyssnare tolkade det så att summan av alla genreangivelser skulle summera till 100% vilket inte var intentionen. En likertskala skulle kunna skapa mindre sådan förvirring samtidigt som den kan generera likvärdig data för statistik analys. Vissa problem uppstod under lyssningsexperimentet. En del lyssnare hade dålig datorvana och gjorde många misstag. Andra lyssnare tröttnade efter ett tag och började slarva. Slarv och misstag var förvisso förutsett och motverkades genom att presentera stämmorna i slumpad ordning, men på grund av undersökningens begränsade omfattning hade de enskilda misstagen ändå stor effekt på resultatet. Antalet lyssnare var för litet för statistisk signifikans och de fel som uppstod i datainsamlingen syntes tydligt i sammanställningen i form av stor spridning bland svaren, många extrema värden (utliggare) i förhållande till antalet svar och ett stort kvartilavstånd. För att få pålitlig data och kunna hitta en regression från särdragsvektorerna till de 5dimensionella genreklassificeringarna hade det krävts en expertklassificering eller en mycket omfattande lyssnarundersökning. På grund av detta reducerades svarsvektorerna till en binär genreklassificering som med framgång kunde användas i maskininlärningsmetoderna. Den klassificering som hittades i de reducerade svarsvektorerna stämde också överrens med det experklassificerade datat från karaokeversion.com. Lyssnarna lyckades alltså med uppgiften att klassificera genre, enbart baserat på trumljud.Klassificering
För att hålla nere omfattningen av lyssningsexperimentet begränsades antalet musikstycken till 20. Från dessa 20 musikstycken togs 40 avsnitt med trumljud och användes som indata till maskininlärningsalgoritmerna. Fyrtio datapunkter är lite i maskininlärningssammanhang och med en sådan begränsad datamängd är det svårt att kontrollera “overfitting” i resultatet. Overfittinginnebär att en maskininlärningsalgoritm tränats på ett sätt så att den korrekt kan klassificera data i träningsmängden men inte kan generalisera till att klassificera ytterligare data. Beslutsgränserna som algoritmen hittar blir för starkt anpassade till träningsdatat. Ett vanligt sätt att motverka overfitting i maskininlärningsproblem med begränsad datamängd är att använda korsvalidering. Korsvalidering innebär att träningsdatat delas upp i delmängder och att träningen sker i iterationer där olika delmängder av träningsdatat används för träning respektive validering av träningsresultatet. I denna studie fanns inte tid till att implementera korsvalidering, vilket kan ha påverkat träningsresultatet på så vis att de funna beslutsgränserna inte skulle ge ett likadant prediktionsresultat om de applicerades på andra indata. Med en större datamängd, eller med korsvalidering, hade ett mer generellt träningsresultat kunnat uppnås vilket hade givit en större säkerhet i slutsatserna. Särdragsvektorerna gav genomgående ett bättre resultat än MFCC:er. Detta kan antas bero på att särdragsvektorerna är skräddarsydda för att beskriva trumljuden, medan MFCC:erna är en mer generell beskrivning av en ljudsignal. MFCC:erna innehöll också många fler parametrar än särdragsvektorerna och i kNNalgoritmen är det svårare att uppnå ett bra träningsresultat med högdimensionella indata.
Slutsats
Resultaten visar att trumljuden innehåller tillräcklig information för att avgöra genre, både för lyssnare och för maskininlärningsmetoder. Det finns vissa osäkerheter kring resultatens trovärdighet på grund av studiens begränsade omfattning men de funna resultaten visar entydigt att genreklassificering baserat på trumljud är möjligt. Särdragsvektorer baserade på trumspecifika attribut är bättre lämpade för att beskriva trumljud än de mer generella MFCCattributen. Båda beskrivningarna innehåller dock tillräcklig information för att med framgång kunna träna en maskininlärningsalgoritm att klassificera genre.Referenser
Aucouturier J. & Pachet F (2003). “Representing Musical Genre: A State of the Art”. Journal of New Music Research, 32:1, 8393. Mitchell, T (1997). Machine Learning. McGraw Hill. p2. Müller, M (2007). Information Retrieval for Music and Motion. Springer. p. 65 Stevens, Volkman & Newman (1937). "A scale for the measurement of the psychological magnitude pitch". Journal of the Acoustical Society of America 8 (3): 185–190. Radvansky, G (2005). Human Memory. Boston: Allyn and Bacon. pp. 65–75. Ganchev T., Fakotakis N., & Kokkinakis G. (2005), "Comparative evaluation of various MFCC implementations on the speaker verification task,". 10th International Conference on Speech and Computer (SPECOM 2005), Vol. 1, pp. 191–194. Sahidullah, Md., Saha, Goutam (2012). "Design, analysis and experimental evaluation of block based transformation in MFCC computation for speaker recognition". Speech Communication 54 (4): 543–565. Elowsson, A., Friberg, A., Madison, G. & Paulin, J. (2013). “Modelling the Speed of Music Using Features from Harmonic/Percussive Separated Audio”. Proceedings of the 14th International Society for Music Information Retrieval Conference (ISMIR 2013); Curitiba, Brazil, 48 November, 2013 (pp. 481486). Norton, Karczub (2003). Fundamentals of Noise and Vibration Analysis for Engineers. Cambridge University Press. Friberg A., Schoonderwaldt E., Hedblad A (2011). “Perceptual ratings of musical parameters.” In von Loesch, H., & Weinzierl, S. (Eds.), Gemessene Interpretation Computergestützte Aufführungsanalyse im Kreuzverhör der Disziplinen (pp. 237253). Mainz: Schott 2011, (Klang und Begriff 4). Scaringella N., Zoia G & Mlynek D (2006). "Automatic genre classification of music content: a survey." IEEE Signal Processing Magazine Vol. 23(2), 133141. Tzanetakis G., Cook P (2002). "Musical genre classification of audio signals." IEEE transactions on Speech and Audio Processing, Vol. 10(5), 293302.Appendix A: Valda musikstycken med genreklassificering från
karaokeversion.com
Artist Namn Genre
Katy Perry Roar Pop
Britney Spears ...Baby One More Time Pop
ABBA Super Trouper Pop
Madonna Papa Don’t Preach Pop
Wham Wake Me Up Before You GoGo Pop
Iron Maiden The Trooper Rock
Judas Priest Breaking The Law Rock
Led Zeppelin Immigrant Song Rock
Motörhead Ace Of Spades Rock
Black Sabbath Paranoid Rock
Bob Marley No Woman, No Cry Reggae
Bob Marley Is This Love Reggae
Peter Tosh Legalize It Reggae
Billie Holiday Easy Living Jazz
Louis Armstrong A Kiss To Build A Dream On Jazz
Ella Fitzgerald Summertime Jazz
Andrew Sisters Sing Sing Sing Jazz
Andrea Bocelli Nessun Dorma Klassiskt
Nikolai RimskyKorsakov Flight Of The Bumblebee Klassiskt
Gioachino Rossini William Tell Overture Klassiskt
Appendix B: Enkätsvar
Medianvärden för trummstämmor
Musikspår Pop Rock Reggae Jazz Klassiskt Klassificering
abbadrums1 54 5 0 0 0 Pop abbadrums2 75 0 0 0 0 Pop andrewsistersdrums1 0 0 0 100 0 Jazz andrewsistersdrums2 0 0 0 100 0 Jazz billieholidaydrums1 0 0 0 100 0 Jazz billieholidaydrums2 0 0 0 100 0 Jazz blacksabbathdrums1 0 100 0 0 0 Rock blacksabbathdrums2 0 100 0 0 0 Rock bobmarleyisthislovedrums1 0 0 100 0 0 Reggae bobmarleyisthislovedrums2 0 0 100 0 0 Reggae bobmarleynowomannocry1 0 0 100 0 0 Reggae bobmarleynowomannocry2 0 0 100 0 0 Reggae britneyspearsdrums1 50 0 0 0 0 Pop britneyspearsdrums2 50 0 0 0 0 Pop ellafitzgeralddrums1 0 0 0 99 0 Jazz ellafitzgeralddrums2 0 0 0 100 0 Jazz flightofthebumblebeedrums1 0 0 0 0 100 Klassiskt flightofthebumblebeedrums2 0 0 0 0 100 Klassiskt ironmaidendrums1 0 100 0 0 0 Rock ironmaidendrums2 0 100 0 0 0 Rock judaspriestdrums1 0 100 0 0 0 Rock judaspriestdrums2 0 80 0 0 0 Rock katyperrydrums1 51 0 0 0 0 Pop katyperrydrums2 64 0 0 0 0 Pop ledzeppelindrums1 0 69 0 0 0 Rock ledzeppelindrums2 0 100 0 0 0 Rock louisarmstrongdrums1 0 0 0 100 0 Jazz louisarmstrongdrums2 0 0 0 90 0 Jazz madonnadrums1 71 0 0 0 0 Pop madonnadrums2 77 0 0 0 0 Pop motorheaddrums1 0 100 0 0 0 Rock
motorheaddrums2 0 100 0 0 0 Rock nessundormadrums1 0 0 0 0 100 Klassiskt nessundormadrums2 0 0 0 0 100 Klassiskt petertoshdrums1 0 0 100 0 0 Reggae petertoshdrums2 0 0 90 0 0 Reggae whamdrums1 40 33 0 0 0 Pop whamdrums2 86 0 0 0 0 Pop williamtelldrums1 0 0 0 0 90 Klassiskt williamtelldrums2 0 0 0 0 77 Klassiskt
Medianvärden för hela mixar
Musikspår Pop Rock Reggae Jazz Klassiskt Klassificering
abbamix 100 0 0 0 0 Pop andrewsistersmix 0 0 0 100 0 Jazz billieholidaymix 0 0 0 100 0 Jazz blacksabbathmix 0 100 0 0 0 Rock bobmarleyisthislovemix 0 0 100 0 0 Reggae bobmarleynowomannocrymix 0 0 100 0 0 Reggae britneyspearsmix 100 0 0 0 0 Pop ellafitzgeraldmix 0 0 0 100 0 Jazz flightofthebumblebeemix 0 0 0 0 100 Klassiskt ironmaidenmix 0 100 0 0 0 Rock judaspriestmix 0 100 0 0 0 Rock katyperrymix 100 0 0 0 0 Pop ledzeppelinmix 0 100 0 0 0 Rock louisarmstrongmix 0 0 0 100 0 Jazz madonnamix 100 0 0 0 0 Pop motorheadmix 0 100 0 0 0 Rock nessundormamix 0 0 0 0 100 Klassiskt petertoshmix 0 0 100 0 0 Reggae whammix 100 0 0 0 0 Pop williamtellmix 0 0 0 0 100 Klassiskt
Appendix C: Perceptuella särdrag
Attributnamn Beskrivning rms_diff, rms_diffLOG, rms_diffABSLOG Skillnad i ljudstyrka mellan harmonisk och perkussiv del av audion perc_sal, perc_sal2, perc_sal3, perc_sal4, percussion Hur "perkussiv" låten är orgCtrd1 Centroiden av spektrum orgSp3, orgSp3db, orgSp4, orgSp4db Spektrum i band orgSpBinOct1, orgSpBandOct1, orgSpBinOct2, orgSpBandOct2, orgSpBinOct3, orgSpBandOct3, orgSpBinOct4, orgSpBandOct4, orgSpBinOct5, orgSpBandOct5, orgSpBinOct6, orgSpBandOct6, orgSpBinOct7, orgSpBandOct7, orgSp3b, orgSp3dbb, orgSp4b, orgSp4dbb Ljudnivå i oktaver h_on_han1, h_on_han1s, h_on_han2, h_on_han2s, h_on_80, h_on_80SC, h_on_80SCm, h_on_80SCl, h_on_80FX, h_on_100, h_on_100SC, h_on_100SCm, h_on_100SCl, h_on_100FX, h_on_p10, h_on_p10SC, h_on_p10SCm, h_on_p10SCl, h_on_p10FX, h_on_p20, h_on_p20SC, h_on_p20SCm, h_on_p20SCl, h_on_p20FX "Harmoniska" onsets olika mått harm_flux, harm_fluxT, harmonic Spectral flux på harmoniska delen on_sec, on_sec_flux, sec_on Onsets per sekund perc_on_sec, perc_on_sec_flux, perc_sec_on, harm_on_sec, harm_on_sec_flux, harm_sec_on Perkussiva onsets per sekund rms_org, rms_org10, rms_orgLOG, rms_org10LOG, rms_perc, rms_perc10, rms_percLOG, rms_perc10LOG, rms_harm, rms_harm10, rms_harmLOG, rms_harm10LOG, rms_percCQT, rms_percCQT10, rms_percCQTLOG, rms_percCQT10LOG, rms_harmCQT, rms_harmCQT10, rms_harmCQTLOG, rms_harmCQT10LOG, rms_diff10, rms_org_vs_harm, rms_orgLOGtime, rms_percLOGtime, rms_harmLOGtime, rms_percCQTLOGtime, rms_harmCQTLOGtime Jämförelser mellan harmoniska och perkussiva delar i db ljud nivå ("10" står för att man fokuserat på starkaste tio sekunderna) rel_w, rel_w_ctrd, rel_w_compare, rel_w_compare12, rel_w_compare15, rel_w_compare2, rel_w_compare10, rel_wperc, rel_w_ctrdperc, rel_w_compareperc, rel_w_compare12perc, rel_w_compare15perc, rel_w_compare2perc, rel_w_compare10perc Viktning för onsets som tar hänsyn till avstånd mellan dem. Onsets inom "perceptuella nuet" jämförs r_comp1, r_comp2, r_comp3, r_comp4, sec_on_str2, rel_time, pos05, pos06, pos07, pos08, posW Rytmisk komplexitetcep_period Cepstrum av nästa fälts histogram ioi_p Längden av den mest signifikanta perioden i trummorna prob24, prob44, prob34, prob68, prob1, firstpeak100, firstpeak90, firstpeak80 Sannolikhet för olika taktartsindelningar raise3 Sannolikhet för tretakt t1, t2 De två tempon som jag funnit "Det som testades i mirex"