Musical Genre Tag Classification with Curated and Crowdsourced Datasets
Total Page:16
File Type:pdf, Size:1020Kb
Musical Genre Tag Classification With Curated and Crowdsourced Datasets Omar Diab, Anthony Mainero, Reid Watson Stanford University, Computer Science {odiab, amainero, rawatson}@stanford.edu Abstract Analyzing music audio files based on genres and other qualitative tags is an active field of research in machine learning. When paired with particular classification algorithms, most notably support vector machines (SVMs) and k-nearest-neighbor classifiers (KNNs), certain features, including Mel-Frequency Cepstral Coefficients (MFCCs), Chroma attributes and other spectral properties, have been shown to be effective features for classifying music by genre. In this paper we apply these methods and features across two datasets (GTZAN and the Million Song Dataset) with four different tag sources (GTZAN, The Echo Nest, MusicBrainz, and Last.fm). Two of these tag sources are professionally curated (GTZAN and MusicBrainz) while the other two are crowdsourced—that is, unmonitored users create the tags for each track. Two of the datasets had features on a track-by-track basis (GTZAN and Last.fm) while the other two are classified by artist. By exploring the cross-validation balanced accuracy across these different datasets, we find that classifications are made significantly more accurately on curated tags in comparison to crowdsourced tags, but that tagging by artist as opposed to by song creates a considerably smaller difference in effect. We found, however, that crowdsourced tags can be effective when done in large enough quantites, as seen in the Last.fm dataset. 1. Introduction In that effort, several papers have explored Musical genre classification is an active field the efficacy of learning algorithms to predict genres. of machine learning research. Some argue that In his paper George Tzanetakis effectively classified machine learning for genre classification is genres on live radio broadcasts using a Gaussian intractable for normal use because genres are not classifier [1]. Mandel et. al. used SVMs on artist- clearly defined. On the other hand, people using and album-level features to make similar online music services are very likely to search for classifications as well [2]. Another study explored music by genre, so understanding how to mixtures of Gaussians and k-nearest-neighbors for automatically classify music by genre would be the same task [3]. Each of these studies used similar useful. At a minimum, overarching genres like rock features—Mel-Frequency Cepstral Coefficients and or disco likely exhibit enough distinction for chroma properties of the audio waveform, for computers to effectively distinguish between them. instance—to make these classifications. Hence many scientists have attempted—and largely With prior work in mind we decided to succeeded—in producing quality classifiers for focus on KNNs, SVMs, and other classifiers and determining genres. explore their relative performance. In particular, we 1 are interested in determining how the nature of of the audio tracks from the Million Song Subset each dataset affects each classifier’s accuracy. (scraped from the 7Digital.com public API) and the GTZAN dataset. We used MARSYAS [5] to extract 2. Datasets a number of relevant features from the raw audio Curated Crowdsourced files. The features we extracted were: Tag by Artist MusicBrainz The Echo Nest 1. Mel-Frequency Cepstral Coefficients – short Tag by Song GTZAN Last.fm term spectral-based features which model amplitude across the spectrum. Table 1. Properties of the datasets used 2. Zero Crossings – the number of times the waveform crosses 0. We gathered songs from two sources: the 3. Spectral Centroids – where the spectral Million Song Subset and GTZAN. The Million “center of mass” of a sound is. Song Subset is a selection of the metadata 4. Chroma Properties – discretizes the pertaining to 10,000 songs. In particular, it contains spectrum into chromatic keys, and tags aggregated from The Echo Nest, MusicBrainz, represents the presence of each key. and Last.fm [4]. Thus, we have four tag databases 5. Spectral Rolloff – the frequency at which in total: MusicBrainz, The Echo Nest, Last.fm, and high frequencies decline to 0, typically GTZAN. computed when the waveform hits 85% Two of these databases, MusicBrainz and energy . GTZAN, are curated; that is, humans assign their tags selectively with accuracy in mind for academic purpose. The other two databases, EchoNest and Last.fm, are crowdsourced: users apply tags with no moderator oversight. Thus, curated tag datasets are expected to be more accurate overall than crowdsources ones. Additionally, two of these sources, The Echo Nest and MusicBrainz, assign tags by artist; Last.fm and GTZAN tags, on the other hand, apply to individual tracks. Figure 1. Proposed method of collecting data GTZAN is a database of music created by George Tzanetakis specifically for When taken together, these features denote machine learning analysis of genre classification a wide range of sonic characteristics of the music, problems. The selected music is classified into ten including instrumentation, tonal variation, timbre genres: blues, classical, country, disco, hip hop, texture, and production attributes. Together, they jazz, metal, pop, reggae, and rock. Because the constitute the “musical surface” of the song [1]. Million Song Subset did not contain enough To sanity test our tag data, we made note classical and disco songs, those genres were ignored of the relation between the frequency of songs of a in our analysis. certain genre appearing in online music datasets We created an intersection of 1,359 songs and the number records sold in that genre in 2011 that were present and tagged in each of our tag [6]. Through this data, we found that blues, metal datasets. For each, we acquired 30-second previews and reggae are overrepresented in online music 2 datasets, while country and pop are of a misclassification, so higher values of ̽ underrepresented. This information, while encourage fewer misclassifications; and tangential, is a potential avenue for future research. represents the relative importance of a single data point. grid.py trains several Music Sales and Genre Tag Frequency SVMs with multiple choices of ̽ 0.4 and and compares them. By 0.35 default, the comparator is cross- 0.3 validation accuracy; however, our 0.25 data sets are unbalanced—for 0.2 Genre Tags 0.15 instance, there are far more non- Music Sales 0.1 blues examples than blues 0.05 examples, allowing the blues 0 classifier to achieve a high cross- validation accuracy by just classifying everything negatively. Therefore, we selected balanced accuracy (BAC) as our metric, Figure 2. Music sales versus aggregated genre tag frequency in our which is defined as follows: datasets 3. Methodology Sensitivity + Specificity BAC = For each genre, we train our dataset on a 2 classifier and use cross-validation with 5 folds to where assess its overall accuracy. Logistic regression and Naïve Bayes require no specific model selection TP beforehand; with k-nearest-neighbors we used Sensistivity = TP + FN = ͟ √͢ , where ͢ is the number of training examples. TN Specificity = For SVMs, we use a modified version of TN + FP LibSVM’s grid.py module to produce an optimal TP = true positives, choice of parameters for the SVM. In a SVM with a FN = false negatives, etc. radial basis kernel, the objective function is to minimize: By using this metric to measure the efficacy of the SVM, we mitigate the aforementioned issues. 1 = + Additionally, the classifier was run with ̈́ 2 ͫ ͫ ̽ ȕ $ $Ͱͥ weights on positive and negative datapoints. The weights denote how much a training example of and the kernel is: each class affects the objective function: for instance, if there is a weight of on positive test ͦ ͮ examples, then misclassifications of positive test ͅƳͬ$, ͬ%Ʒ = exp ʠ− ɳͬ$ − ͬ%ɳ ʡ examples are ͮ times as costly. To further offset unbalanced data sets, positive test examples were By varying our choices of ̽ and , we can change the way the SVM decides on a weighted by the number of negative test examples, and vice versa. dividing hyperplane. ̽ represents the cost 3 False negative rate for country music by False positive rate for country music by classification algorithm by dataset classification algorithm by dataset 0.8 0.5 0.4 0.6 GTZAN GTZAN 0.3 0.4 Echo Nest 0.2 Echo Nest 0.2 MusicBrainz 0.1 MusicBrainz 0 0 Last.fm Last.fm Naive Logistic KNN SVM Naive Logistic KNN SVM Bayes Bayes 4. Results a. Logistic Regression and Naïve Bayes b. k-nearest neighbors and SVMs Logistic Regression and Naïve Bayes were Both KNNs and SVMs produced strong relatively ineffective. Naïve Bayes exhibited large results. They exhibited both low false positive and false positive rates and low false negative rates for false negative rates, and generally high cross- across genres in all the datasets, while logistic validation accuracy. Across all datasets and genres, regression produced high false negative and low KNNs and SVMs produced 83% and 77% cross- false positive rates. Hence, both of them produced validation accuracies, respectively. relatively low cross-validation accuracies and are not particularly useful classifiers for this task. k-nearest-neighbors cross-validation classification accuracy by dataset by genre 100 Blues 80 Country 60 HipHop 40 Jazz Metal 20 Pop 0 GTZAN Echo Nest MusicBrainz Last.fm Reggae SVM cross-validation classification accuracy by dataset by genre 100 Blues 80 Country 60 HipHop 40 Jazz Metal 20 Pop 0 Reggae GTZAN Echo Nest Music Brainz Last.fm 4 5. Discussion effects are less significant for genre classification We dismiss logistic regression and Naïve than the nature of the tagging source. Bayes as being comparatively ineffective genre Overall, we find that a large number of classifiers with a spectral feature set. Qualitatively, examples and curated tags (GTZAN) give us the spectral features are likely not independent.