This paper addresses the general problem of extracting music-theoretic and psychological features from symbolically encoded melodies. We review existing melodic feature extraction toolboxes, enumerate their features, and organise them into a common taxonomy. We then describe a new software library that provides implementations of all of these features in a straightforward Python package. We then demonstrate the combined feature set on the Essen Folksong Collection, using the dataset to produce a series of style classification models. These models help us answer key questions about the interpretability and dimensionality of the feature set. Our results show excellent classification accuracy using the full feature set, and promising performance for an eight-dimensional factor-analytic solution that improves the interpretability of the classifier. We distribute our new toolbox as an open-source Python package, melody−features, which can easily be used in various applications within music analysis, music psychology, and music information retrieval.
Figures & tables
Figure 1: Logistic regression style classification: (a) confusion matrix on the held-out test set; (b) permuted feature importance (signed by logistic coefficient).
Figure 2: Scree plot of eigenvalues for 235 factors.
Factor
Interpretation
Prop. Var. (%)
Cum. Var. (%)
1
Long Rhythms
15.75
15.75
2
Irregular Rhythms
5.56
21.30
3
Pitch-Class Variety
4.53
25.84
4
Overall Complexity
4.45
30.29
5
Wide Intervals
4.37
34.65
6
Dense Rhythms
4.21
38.87
Table 1: EFA: proportion and cumulative variance explained by each factor.
Figure 3: Factor-analytic logistic regression: (a) confusion matrix on the held-out test set; (b) permuted factor importance (signed by logistic coefficient).
Source
No. features
CV acc.
CV SD
Train acc.
Test acc.
melody-features
235
0.9874
0.0029
0.9991
0.9920
jSymbolic
125
0.9825
0.0048
0.9931
0.9908
FANTASTIC
40
0.9696
0.0045
0.9725
0.9794
MUST
20
0.9562
0.0098
0.9585
0.9668
Novel
18
0.9313
0.0034
0.9330
0.9381
MIDI Toolbox
22
0.9307
0.0087
0.9350
0.9427
Table 2: Logistic regression by feature extraction source.
Computer Science & Engineering Department, University of California, San Diego · Department of Performing Arts Technology, University of Michigan, Ann Arbor