Tuesday, May 26, 2015

Pitch class sets and other amusing distractions

I'm almost done with the ChordEase documentation, but I keep getting distracted, not only by the internet, but by something much harder to resist: other programming projects! Programming problems are like catnip to me. The catnip that tempts me the most lately is the foundation of atonal music, AKA Pitch Class Sets: "Pitch Class Sets are a method for describing harmonies in 20th century music. These notations and methods can describe and manipulate any type of chord that can be created within a 12-tone (equally tempered) scale."

Paul Nelson, the guy who made that site, is one of my heroes. Pitch class sets allow us to reduce any set of notes to its fundamental pattern, called the "Prime Form". There are surprisingly few of them. For example, for 7 notes, there are only 35 unique patterns (or 38, depending on your standard). All of the thousands of other combinations are merely transpositions and/or inversions of the prime forms. Here's the Table of Prime Forms (from Paul again).

All told there are only 208 prime forms, an astonishingly low number. The major (diatonic) scale is one of them of course. They have codes, called Forte codes (after the guy who invented all this, Allen Forte, recently deceased). The major scale's code is "7-35". Pitch class sets seem opaque at first, but they have deep implications, especially for atonal music. The work of Schoenberg, Stravinsky, etc. would have been unimaginable without them.

Almost all the music you'll ever hear will use perhaps two or three of the 208 pitch class sets (unless you listen to a lot of atonal music!) I would be very surprised if Paul McCartney knows more than a handful of them. This is interestingly similar to the fact that almost all music is restricted to a single meter at a time.

I'm an innovator in terms of rhythm (due to extensive use of polymeter), but in terms of pitch, not so much, and I would like to change that. My first step is basically repeating Paul Nelson's work. I've already made a program that can reduce any set of pitches to its prime form. Soon I'll be able to generate his table too. It might seem like a waste of time to reinvent this particular wheel, but the process allows me to familiarize myself with the underlying concepts. For the moment it's a purely academic exercise, but one possible application would be add the prime forms (of heptatonic scales only) to ChordEase. This would allow ChordEase to be used for atonal music!

I don't always work in a straight line. A lot of what I do is pure research. Sometimes the results are useful, sometimes not. My primary motivation is to satisfy my curiosity, and I'm a very curious cat.

No comments:

Post a Comment