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.