Pitch Class Set Theory Portal

Your one-stop shop for PC Set Theory

Pitch Class Sets

A Pitch Class Sets (PCSet) can be transformed by transposition, inversion and abstract multiplication. They are analogous to chords and collections created from notes of a melodic line, where order is not relevant.

Syntax and notation

I've tried to make the syntax for interacting and creating object as simple and intuitive as possible. Here are some general guidelines.

  • Pitch Class Sets

    Pitch class notation should be entered using the integers 0-9 and the letters 'a', 'A', 't', or 'T' for 10, and 'b', 'B', 'e', or 'E' for 11. Upper and lower case may be mixed. As these tokens are uniquely distinguishable, there is no need for spaces or other separators, such as spaces or commas, and anything other than the allowed tokens are ignored.

  • Pitch Sets

    Pitch Set notation should be entered using the integers 0-128, or using a notation language specifying the note-name and register. The note-name notation follows a simple mini-language:

    • Note names must begin with a valid note name consisting of the characters: 'a', 'b', 'c', 'd', 'e', 'f', 'g'. These characters may be followed by an optional accidental specifier, consisting of: 's' (sharp), 'f' (flat, or 'n' (natural), and an optional register specified consisting of the integers from 0-9. Accidentals do NOT carry through, i.e. a 'gs5' followed by a 'g5', will be interpreted as a G-sharp followed by a G-natural. If a note specifier does not have a register specifier, it will be assigned the last specified notation specifier, and if none exists, it will be assigned the value 5, which will place it as close as possible to placement within the treble-clef staff.
    Integers and note-name/number notation can be mixed arbitrarily. Tokens must be separated by spaces or commas. The notation parser is not verbose in its

Enter a Pitch Class Set string and I'll show you some cool stuff.