Class PcSet

java.lang.Object
eu.bandm.music.entities.PcSet

public class PcSet extends Object
Abstract sets of pitch classes and pc intervals. A "Pitch class" in the most general sense is a musical pitch, in a particular theoretic framework, modulo octave. A "Pc Set" in the sense of the works of Forte et.al. is a power set of the numbers 0 to 11, which represents some abstract selection of pitch classes. This can be instantiated for instance by assigning a pitch class of the twelve tone equally tempered tuning system to the number zero. Or it can be used as directly instantiated, by taking the definition "0 <-> c" als implicit.

All instances returned by "valueOf(..)" are cons-cached and so "==" and ".equals(..)" are equivalent.

A "Pc Set Class" means the "common form" of a collection of pc sets modulo rotation. A pcSetClass is somehow an equivalent to "chord form" in older harmonic theories, namely a equivalence class modulo rotation (and in particular theories also modulo inversion) To identify a pcSetClass, different methods have been developed, which are all somewhat arbitrary (Martino 1961, Carter 1967, Forte 1973, Rahn 1980, Nelson 2004 et alii).
The method applied here is more canonical from a mathematical point of view, naemly taking the smallest integer interpretation of all rotations of a given bit set.

  • Field Details

    • pitches

      final BitSet pitches
      Pitch classes contained.
    • asInt

      final int asInt
      Pitch classes contained.
    • asString

      final String asString
      Pitch classes contained. Enocded in the traditional A.Forte way: "T" for 10 and "E" for 11. (Hexadecimal it would by "A" and "B".)
    • classRepresenter

      @Opt @Opt PcSet classRepresenter
      Representer of the class of this instance. Null if it is itself this representer.
    • set2class

      static Map<PcSet,PcSet> set2class
    • int2instance

      static Map<Integer,PcSet> int2instance
    • maxAsInt

      public static final int maxAsInt
      See Also:
    • empty

      public static final PcSet empty
    • all

      public static final PcSet all
    • whiteKeys

      public static final PcSet whiteKeys
    • blackKeys

      public static final PcSet blackKeys
    • duodecimalDigits_lowercase

      public static final String duodecimalDigits_lowercase
      See Also:
    • NOCHANGE_NOMATCH

      public static final String NOCHANGE_NOMATCH
      See Also:
  • Method Details