A Hybrid System

Figure 1 shows the diagram of the hybrid system. The harmonization process contains two parts: one is for determining the chord at each measure, and the other is for deciding the chord progression for the whole song. Machine learning techniques such as SVM and Decision Tree are used for chord tone determination at each bar. Music knowledge, the Neo-Riemannian transform model, is combined with Markov chains to generate the chord progression. Each part is explained as follows.

Figure 1. System Diagram

Chord Tone Determination

The chord tone determination module classifies notes in each bar into chord tones and non-chord tones. The module consists of machine learning techniques such as Support Vector Machine (SVM) or Decision Tree, which is responsible for learning the melodic harmonization style in each bar. Table 1 lists 17 attributes for describing each melody note in a bar.

Table 1. 17 attributes and the meanings for melody representation

For example, the note E in the melody example in Figure 2 is encoded as

[0, 0.5, No_upper, No_lower, No_third, Yes_fifth, Strength1, 0, 0, 0, Beat1, 0, 0, 0, Start, 4, Odd]

Figure 2. A melody example.

Chord Progression Generation

Neo-Riemannian transforms present a basic grammar of harmony and voice-learning in pop-rock music. There are four fundamental operations in neo-Riemannian transforms for describing chord progressions: I (Identity, same chord), L (Leading-tone exchange), P (Parallel), and R (Relative), as shown in Figure 3.

Figure 3. Neo-Riemannian transforms in the chord space.

For instance, a chord transition from C major to G major in the key of C major can be encoded in neo-Riemannian transform as LR (I-V).

If there were more than one possible path for constructing the chord progression for the whole song, each path is considered a Markov chain. The likelihood of each path can be calculated from the conditional probabilities in the Markov chain. The path with the highest probability is chosen for the final chord progression.

Copyright (c) 2007 Ching-Hua Chuan