A fixed, octave based musical scale cannot remain faithful to the consonant simple integer ratio intervals and simultaneously be modulated to all keys. It is possible to reconcile these competing criteria, however, if the notes of the scale are allowed to vary. This paper presents a method of adjusting the pitches of notes dynamically, an "adaptive tuning," that maintains fidelity to a desired set of intervals and can be modulated to any key. The adaptive tuning algorithm changes the pitches of notes in a musical performance so as to maximize consonance, which is calculated based on recent perceptual work. The algorithm can operate in real time, is responsive to the notes played, and can be readily tailored to the timbre (or spectrum) of the sound. This can be viewed as a generalization of the methods of Just Intonation, but it can operate without specifically musical knowledge such as key and tonal center, and is applicable to timbres with nonharmonic spectra as well as the more common harmonic timbres. A number of compositions using adaptive tunings are available on the CD-ROM.
Also on the CD are several MAX programs that retune MIDI data (in real time) according to the adaptive tuning method. The programs have been tested extensively under Mac OS X, but since MAX has recently been ported to Windows, they should soon be able to run on that platform as well.
In the software/ folder you will find:
adaptun06.zip - this contains the source MAX files of all the routines needed to use the Adaptun program. If you have Max, place these into the Max path and you can use the full capabilities described in Chapters 8 and 9.
Align0.4 - a Max collective version of one method of adaptive tuning.
AlignDrone0.5 - a Max collective version of a method of adaptive tuning that incorporates a 'drone' feature.
Adaptun0.6 and AdaptunPB20.6- a Max collective version of the main adaptive tuning program. The PB2 version allows the user to specify the amount of pitch bend at the receiving synth. The non-PB version is hard wired to a pitch bend value of 1, the finest resolution possible using standard MIDI commands.
You might also want to check into my website from time to time to see if updated versions of the programs are available.