Algorithms for Chordal Analysis

Computer Music Journal, 26:2, pp. 27–49, Summer 2002 O 2002 Massachusetts Institute of Technology. The harmonic analysis of tonal music by computer is an important area of interest in the computer music research community. While the problem is interesting in its own right, the ability to parse and use chords and harmonies in a tonal composition also adds an important dimension to a computer agent’s ability to manipulate musical material. Automated arranging, accompaniment, and phrasing are all aided by an understanding of the chordal structure of a piece. Although musicians analyze tonal music of all types, it is dif cult to create algorithms that have this generality. In this article, we describe a set of algorithms for harmonic analysis that make minimal use of stylistic and contextual cues, such as metric strength, harmonic context, and known stylistic constraints. The system described in this article is purposefully simple in its approach. This allows us to specify its workings to the point where the work may be duplicated and extended by others. The system is designed both to explore basic computational properties of algorithms to solve the task and to provide a baseline against which other systems can be measured. In this way, it is possible to measure the change in performance introduced by use of such things as tonal context, voiceleading rules, and metrical information. We divide harmonic analysis into two tasks. Segmentation is the task of splitting the music into appropriate chunks (segments) for analysis. As a default, we assume segmentation takes place in the time dimension. Labeling is the task of giving each segment the proper quality and root pitch. Figure 1 shows a measure of music partitioned into labeled segments. The algorithms we describe in this article perform both segmentation and labeling. Previous research in the area of automated harmonic analysis of music (Winograd 1968; Smoliar 1980; Laden and Keefe 1989; Ebcioglu 1992; Maxwell 1992; Widmer 1992; Smaill et al. 1993; Taube 1999), with the notable exception of recent work by Temperley and Sleator (1999), has either avoided the issue of segmentation by taking already segmented input, or has been unclear about how segmentation is done. Temperley and Sleator describe a clear and ef cient approach. While Temperley and Sleator do address the segmentation problem, they only return the root name (rather than the chord quality) and do not give any statistical analysis of the performance of their system when compared to an outside measure. To our knowledge, no researchers have published statistical performance results on a system designed to analyze tonal music. The lack of such measures in the literature makes comparisons among systems dif cult. We present an empirical evaluation of the algorithms in this article, using a corpus of 45 excerpts of tonal music compiled by David Temperley, from the Kostka and Payne music theory textbook (Kostka and Payne 1984), hereafter referred to as the KP corpus. (The appendix lists each piece used in this corpus.) The analyses provided by our system are compared to an answer key based on the analyses in the teacher’s edition of the textbook using a grading metric described later in this article. Both statistical results and analyses of individual excerpts are provided, and classes of error are tabulated and reported.