A Matlab toolbox for pattern recognition Imported pages from 37Steps

Home   Guide   Software   Glossary   FAQ   Blog   About

DisTools examples: Music

Some exercises are defined for a set of dissimilarity measures between musical fragments. It is assumed that readers are familiar with PRTools and will consult the following pages where needed:

In the below paper four studies are presented based on 36 dissimilarity measures between musical fragments in order to detect covers of original compositions and recordings.

Liem, C. C. S., and A. Hanjalic, “Cover Song Retrieval: A Comparative Study of System Component Choices“, 10th International Society for Music Information Retrieval Conference (ISMIR), Kobe, Japan, 10/2009.

The following datasets are available, each consisting of 36 dissimilarity matrices.

covers_beatles    19755
covers_beethoven  12813
covers_songs      20521
covers80          16482

Here is an example of a preliminary analysis

D = covers_songs;   % Loads a cell array of 36 dissimilarity matrices
E = zeros(size(D)); % Space for errors
F = zeros(size(D)); % Space for values of NEF
for j=1:36
E(j)=nne(D{j}); % LOO 1NN errors
F(j)=nef(D{j}*makesym*pe_em);  % NEF values

To get an idea of the characteristics of the data we create a scatterplot of the results:

A = prdataset([E(:) F(:)]);
xlabel Error
ylabel NEF
title 'NEF versus 1NN error for all covers_songs dismats'


  1. Study the performances of some classifiers in dissimilarity space.
  2. These datasets have a non-zero dissimilarity with themselves. Embedding is thereby impossible. Correct this. Does PE-embedding yield better or worse classification results than by the dissimilarity space?
  3. Find the performance of a combination of all dissimilarity matrices.
  4. The various matrices show very different performances. Can you optimize the combination such that some matrices are not participating?
  5. Are the best dissimilarity measures for the covers_songs datasets also good for the other three datasets?

elements: datasets datafiles cells and doubles mappings classifiers mapping types.
operations:datasets datafiles cells and doubles mappings classifiers stacked parallel sequential dyadic.
user commands:datasets representation classifiers evaluation clustering examples support routines.
introductory examples:IntroductionScatterplotsDatasets Datafiles Mappings Classifiers Evaluation Learning curves Feature curves Dimension reductionCombining classifiers Dissimilarities.
advanced examples.