Clustering
An
Experimental Cluster Algorithm to Find Similar Songs
BpmDj contains a somewhat experimental feature to cluster music based
on the various available properties (rhythm, tempo, spectrum,
composition and echo characteristics). The
clustering
process is quite exhaustive and it might take an indefint time. For up
to 1000 songs or so it works quite nicely. Above that you might see
your waiting time increase polynomial.
What it does is to find the two songs that are the most similar and
then group these together in their own group, whilst removing them.
This produces a new point that is then used as input into further
cluster-steps. These steps are repeated
until no more points are left. The resulting tree and its branches are
then color properly. Looking at the rseults: songs haviong the
same color are closer to each other than songs having a differeny
color.
The algortihm in itself is not so particulr useful and was mainly a
nice
tests / experiment in representing multiple dimensions onto a color.
Regardless, it does help with classifying music based on the
sound engineering behind it. If we for instance have two cd's of astral
projection and we want to mark those songs that belong to one CD, then
clustering all astral projecion songs will automatically mark each CD.
Below we illustrate the process quickly.
We first start with a selection of songs we want to cluster. (Currently
deselected)

After selecting these songs, we click right and select 'Start
Clustering'. We then are greeted with a 'cluster metrics' box, which
allows you too choose which properties you find more important.

Once this is done the result is produced as shown below.

The number of colors used to color the branches of the tree is currently set to eight (a depth of 3). You can modify the number of colors used to color the leaves in the BpmDj Preferences dialog box.
e-mail: werner@yellowcouch.org