pcsets: Pitch Class Sets for Python
- Current Version: pcsets-2.0.1 (August 6, 2007)
- Project Website: http://code.google.com/p/pcsets/
Pitch Class Sets are a mathematical model for analyzing and composing music. Each note ‘C’ through ‘B’ has an equivalent pitch class number 0 through 11. Sets of these numbers may be operated on by mathematical functions such as transpose and invert.
I became interested in pitch class sets as an offshoot of my earlier work in jazz (see “Who am I?“). At the end of this file is a list of Web references that might provide an introduction to the theory.
I also posted the original version of pcsets (the version 1 series) directly to this blog — you can follow the music theory or python tag on this site to go back to where it all began.
I decided to write a Python module after finding most of the programs available online were GUI-only / interactive only (or worse . . . applets). For various reasons, I needed to be able to set up long computational chains on a group of pitch class sets. Typing them into a web browser one at a time and poking buttons was not an option!
I released the module to the public under the GPL for three reasons:
- It might serve as an educational tool for music theory and Pitch Class sets.
- The addition of functions to connect set theory to the more traditional chord/scale theory might lead to innovative, new types of music software.
- There wasn’t a module available that provided the same functionality.
Web References
Text References
- The classic of the field, The Structure of Atonal Music, by Allen Forte (1973).
- A relatively new (but extremely thorough and readable) work, Introduction to Post-Tonal Theory, by Joseph Straus (3rd ed., 2005).