This dissertation addresses the question of how musical pitches generate a tonal center. Being able |
to characterize the relationships that generate a tonal center is crucial to the computer analysis and the
generating of western tonal music. It also can inform issues of compositional styles, structural boundaries,
and performance decisions.
The proposed Spiral Array model offers a pasimonious description of the inter-relations among tonal
elements, and suggests new ways to re-conseptualize and reorganize musical information. The Spiral Array
generated representations for pitches, intervals, chords and keys within a single spatial framework, allowing
comparisons among elements from different hierarchical levels. Structurally, this spatial representation is
a helical realization of the harmonic network (tonnetz). The basic idea behind the Spiral Array is the
representation of higher level tonal elements as composites of their lower level parts.
The Spiral Array assigns greatest prominence to perfect fifth and major/minor third interval relations,
placing elements related by these intervals in proximity to each other. As a result, distances between tonal
parameter values that affect proximity relations are prescribed based on a few perceived relations among
pitches, intervals, chords and keys. This process of interfacing between the model and actual perception
creates the opportunity to research some basic, but till now unanswered questions about the relationships
that generate tonality.
A generative model, the Spiral Array also provides a framework on which to design viable and efficient
algorithms for problems in music cognition. I demonstrate its versatility by applying the model to three
different problems: I develop an algorithm to determine the key of musical passages that, on average, performs
better than existing ones when applied to the 24 fuge subjects in Book 1 of Bach's WTC; I propose the
first computationally viable method for determining modulations (the change of key); and, I design a basic
algorithm for finding the roots of chords, comparing its results to those of algorithms by other researchers.
All three algorithms were implemented in Matlab.