Westergaardian Species Counterpoint Online

Invented in the early 18th century by Johann Joseph Fux, species counterpoint was one of the two pillars of music composition training in the Northern European tradition (the other being the discipline of thoroughbass). The Species Counterpoint Online project is based on the version of classically tonal species counterpoint developed by Peter Westergaard at Princeton University in the 1970s.

Species counterpoint is a method for learning to construct and combine simple melodic lines in simple musical textures, absent the complications of harmony and motivic repetition. The method is designed as a series of experiments in which melodies are constructed and combined according to a set of rules. The rules function like a melodic and contrapuntal grammar, and the experiments are like simple sentences in the language of tonal music. The rules ensure that the melodies and their contrapuntal combination possess specific properties. The rules for constructing melodies, for example, define the conditions under which a linear succession of tones can be interpreted as projecting a single triad, by ruling in all possible ways of projecting one triad and ruling out all successions that unambiguously project a change of triad or defy interpretation in terms of a triad. These rules approximate a definition of what it means for a melody to be “in such-and-such a key.” Together they constitute a rudimentary musical syntax.
Species counterpoint played a central role in the training of composers such as Mozart, Beethoven, and Brahms. It is also a means for gaining explicit insight into some of the most basic cognitive abilities and structures that constitute competence in classically tonal music. Species counterpoint is in this sense the grammar school of classically tonal music. As Westergaard put it, the goal is to acquire “the ability to understand the complex and varied voice-leading patterns of actual eighteenth- and nineteenth-century music in terms of the simpler patterns available under the artificial constraints of species counterpoint.”
Westergaardian Species Counterpoint Online has two components: one pedagogical, the other theoretical.
The pedagogical component of the project is a web-based application in which students can compose species counterpoint and test whether their compositions conform to Westergaard’s rules for linear structure and contrapuntal combination.
The theoretical component is a software engine, called WesterParse in honor of Peter Westergaard’s seminal contribution to the theory of contrapuntal cognition. Think of some simple tunes, such as “Twinkle, Twinkle, Little Star” or “Hot Cross Buns.” As listeners, we have a sense of what makes such utterances complete. And we have a sense of how the notes function in the melodies: some notes are stable points, others are transitional, leading from here to there; some seem to have a sense of finality, and others do not. These are functions that we attribute to the notes as we hear the tunes. The goal of WesterParse is to represent how a hypothetical listener attributes syntactic structure to simple tonal lines, in a way that can be implemented by a computer. WesterParse is written in Python and uses the music21 toolkit.