Material to accompany the paper A Robust Parser-Interpreter for Jazz Chord Sequences.

Parser Code

The Jazz Parser is an implementation of the parsing techniques and statistical models described in the paper and was used to conduct the experiments reported in the paper. Its code and trained models are available to download.

Annotated Corpus

The annotated corpus used to train and test the models in the experiments described in the paper is available for download. The data is available in several formats: more details.

The annotations in the human-readable form of the data correspond to the lexicon table in the paper (figure 14) and bracketings give sufficient information to decide where to use the coordination combinatory rule.

A simple extension to the lexicon permits interpretation of several consecutive chords as having the same harmonic function. This is described in full in Mark Granroth-Wilding's PhD thesis, but not in the paper. Such categories are built from those already in the lexicon and are distinguished by the addition of "-Rep" to the name.

Musical Examples

This section contains recordings of many of the musical examples used in the paper. Most modern browsers should be able to play the examples directly from the page. They are also available for download as wave or mp3 files.

Figure 1: Shave and a Haircut fragment.

Download: wav, ogg, mp3

Figure 2: extended (three-step) cadence.

Download: wav, ogg, mp3

Figure 3: Call Me Irresponsible. The structure of the coordinations in the chord sequence is shown in figure 3. This clip includes the initial tonic chord, not shown in the figure. (Note that the example in the paper is transposed to C for consistency with other examples.)

Download: wav, ogg, mp3

Section 4.2.1: major and minor triads and the dominant seventh chord. These are played on an equally-tempered piano.

Figure 13: Can't Help Lovin' Dat Man. The cadence quoted in section 5.2 is played here with the song's tune.

Download: wav, ogg, mp3

Figure 16: Alice in Wonderland. The figure shows the derivation of a chord sequence from this song. The passage plays begins just before that quoted in the figure, with E7 Am7 Dm7 G7 CM7.... In the interests of space, a repetition of the Dm7 A7 (before Dm7 Ab7) was omitted from the figure.

Download: wav, ogg, mp3

Abstract

The abstract for the current draft of the paper:

Hierarchical structure similar to that associated with prosody and syntax in language can be identified in the rhythmic and harmonic progressions that underlie Western tonal music. Analysing such musical structure resembles natural language parsing: it requires the derivation of an underlying interpretation from an unstructured sequence of highly ambiguous elements—in the case of music, the notes. The task here is not merely to decide whether the sequence is grammatical, but rather to decide which among a large number of analyses it has. An analysis of this sort is a part of the cognitive processing performed by listeners familiar with a musical idiom, whether musically trained or not.

Our focus is on the analysis of the structure of expectations and resolutions created by harmonic progressions. Building on previous work, we define a theory of tonal harmonic progression, which plays a role analogous to semantics in language. Our parser uses a formal grammar of jazz chord sequences, of a kind widely used for natural language processing (NLP), to map music, in the form of chord sequences used by performers, onto a representation of the structured relationships between chords. It uses statistical modelling techniques used for wide-coverage parsing in NLP to make practical parsing feasible in the face of considerable ambiguity in the grammar. Using machine learning over a small corpus of jazz chord sequences annotated with harmonic analyses, we show that grammar-based musical interpretation using simple statistical parsing models is more accurate than a baseline HMM. The experiment demonstrates that statistical techniques adapted from NLP can be profitably applied to the analysis of harmonic structure.