Skip to contents

humdrumR includes a number of intertwined data structures, and associated functions, for representing and manipulating musical pitch information.

Tonality

There are four data types extensively used in humdrumR to encode/process tonal musical information:

  • integers --- used to encode "line-of-fifths" tonal information

  • tonalInterval --- embeds line-of-fifth tonal integers alongside octave and cent information to encode most tonal pitch representations (solfege, intervals, letternames, etc.)

  • diatonicSet --- combines line-of-fifth tonal integer representations to represent diatonic tonality, including alterations of basic diatonic scale(s).

  • tertianSet --- an extension of diatonicSet used to encode tertian diatonic harmonies.

Users will rarely need to engage with these data types. Rather, users will work with humdrum data where pitch information is encoded in strings, and wish to manipulate and analyze such data. The most widely used humdrumR tools are your pitch conversion/manipulation functions, including kern(), and functions like invert() and transpose(). These functions make use of sophisticated, and flexible pitch parsing and deparsing functions, which are the bridge between the "core" pitch representations listed above and real-world humdrum data.

Atonality

THIS SECTION IS INCOMPLETE

In addition, there are xxx data types used to encode non-tonal (or atonal) pitch information.