Every pitch in rigorous common-practice tonal counterpoint -- a Bach Fugue, for example -- is subject to definable constraints in a matrix of at least two dimensions -- the melodic and the harmonic. Because of the dual harmonic/melodic constraints on each pitch in any closely-controlled modal, tonal, or atonal style, independent contrapuntal lines which align to form coherent harmonies often appear to be felicitous solutions to a complex set of simultaneous equations: discoveries as much as creations.
Counterpoint Assistant (CPA), a composer's assistant program written in Macintosh Common LISP (MCL), is a mathematical tool for discovering such felicitous solutions -- albeit by an indirect empirical method. CPA is designed to reveal transpositions and temporal offsets of user-created melodic lines which can be superimposed to meet user-specified constraints on harmony, texture, and counterpoint. While CPA facilitates a chromatic rather than a diatonic approach to melodic transposition and to harmonic control, every individual melodic and harmonic element in the counterpoints produced by CPA is specifically composed or closely constrained by the user. Rather than replacing the function of the composer, CPA is designed to assist the composer in developing the composer's own coherent matrix of melodic and harmonic elements.
The thinking behind CPA is presented in a forthcoming article by David Evan Jones in Computer Music Journal. Detailed instructions for the use of the program are contained in the CPA Manual which is included in the CPA download.
CPA (Counterpoint Assistant) runs on all Macintosh PowerPC's. It requires up to 12 MB of allocatable RAM. MIDI connections are useful but not essential to use the program. Quicktime Musical Instruments are also useful but not essential to hear the counterpoints produced by the program.
For pre-USB Macintosh (serial ports), only the CPA program and minimal MidiShare connections (download 1 below) are required for using the program with midi keyboard entry.
For USB Macintosh, only download 1 is required for using CPA without MIDI keyboard entry.
Using CPA on USB Macintosh with MIDI keyboard entry requires both download 1 and Opcode's OMS. The latest version of OMS is available directly from http://www.opcode.com. OMS 2.3.8 is available in download 2 below.
The complete MidiShare 1.82 package is not required for CPA but may be useful to some. It is available in download 3 below.
Download 1 (5.8 MB): To download CPA (Counterpoint Assistant) along with minimal MidiShare connections to Opcode's OMS driver, click here.
Download 2 (3.5 MB): To download OMS 2.3.8, click here.
Download 3 (1.2 MB): To download the COMPLETE MidiShare 1.82 package, click here.