Home Mathlab Python Clustering Algorithms Music guide Links

What is clustering? According to Hartigan (see ) clustering is the groups of similar objects.

I applied unsupervised clustering algorithms to find data groups, without predetermined information. The codes in Python can be found in my Python website.

There are 4 main ways to do unsupervised clustering, but currently, I only had the K-Means Algorithm code for Python. A detailed discussion of all algorithms is here. This recommended website also have links to other valuable resources online.

In my own search for tutorials of clustering algorithms, I used Google and found these additional helpful documents:

How is all of this relevant to music? In the process of searching for good machine learning techniques, Judy wants to see if we can use clustering algorithms to find out interesting, unexpected patterns. So the inputs will be a number of scales (8 notes, input in MIDI values, for example, 60 for Middle C) and outputs are clusters of these scales. This information may be helpful in constructing new compositions.

How do we know the Midi values of each note? We can use a software to do this job, like KeyKit, to write inteprete notes in a piece of music into Midi values.

The next step is to improve the algorithm so that it reads not only note value, but also note length, for example, an 1/8 note, 1/4 or a 1/2. Combination of both note values and note lengths will be interesting to study.

If you have any suggestion, please email me at tle@email.smith.edu.