Data Collection

Given the very subjective nature of predicting music quality, and the need for classifiable results, this project constrained itself to exploring the preferences of a single musician, the author. A simple web application was designed that generated a random rhythm, played it as an embedded MIDI file in a web page through a computer's speakers, then let a user rate the quality of the rhythm from 1 to 6, recording the results into a simple text file:

Although the project would later dichotomize the ratings into "good" and "bad," the six-step scale was used so that the threshold of "good" be varied. For example, it might be difficult to classify the very best rhythms alone (e.g. rating=6), since only 5% were rated as such. However, it could be much easier to accept rhythms with ratings 4 through 6 (about 40%), or alternatively, to design a classifier which only rejects the very worst of the rhythms.

Ratings

  • Rating 1 : random-sounding blobs of drum hits without any recognizeable order.
  • Rating 2 : patterns that sounded only a little better than rating 1.
  • Rating 3 : patterns that could almost "be a rhythm," meaning, they developed a sense of anticipation, but "leave you with one foot in the air." (Picard, 2004)
  • Rating 4 : rhythms that were "just barely a rhythm." That means they sounded rhythmic, but were uninteresting, with no firm definition of the beat.
  • Rating 5 : rhythms that sounded very good.
  • Rating 6 : "artist's choice," the very best of the rhythms, indicating one that would not only find its way into a presentable piece of music, but to do so without further editing.

    Constraints

    For simplicity's sake, this project put a number of constraints on the patterns:
  • All patterns were the same tempo.
  • All patterns were the same length.
  • All drum sounds were played at the same volume- no accent.
  • Only three drum sounds were used. Bass ("kick") drum, snare drum and hand clap.
  • All patterns were quantized into 16 even time steps.

    Data Format

    Given the above constraints, all possible rhythms can represented on a 16x3 grid:


    On this grid, the horizontal axis represents time. The vertical axis represents the drum sound. An 'X' indicates that at that particular time, the drum should be sounded. A '.' indicates it is to remain silent. The 3 rows, or "tracks", therefore represent the pattern of triggering for each of the drum sounds in time. The left side of the grid represents T(time) = 1. As time progresses, the play moves to the right. When it reaches the righthand edge of the grid, it restarts at the left.

    Combinations

    Given the constraints of this project, the number of sounds at each time step 2^3=8. Therefore, the number of possible rhythms is 8^16, or 2^48. We should divide this by 16 because repeated rhythms are rotationally identical (more about this later). Therefore, there are about 2^44 possible rhythms. There are actually a bit fewer because of additional symmetry when, for example, the first 8 steps of a rhythm equal the second 8. Anyway, on a planet with more than 2^32.5 people on it, it would seem that we could solve this problem simply by asking everyone to rate 3000 rhythms each :)

    -->Features

    Index