Representation: **semits

Humdrum Representation for Semitone Pitch


**semits – semitone absolute pitch representation


The **semits representation is used to represent absolute pitch in semitone units with respect to middle C. Middle C is designated zero semitones. All other pitches are represented with respect to this reference, hence A4 is 9 semits and A3 is -3 semits. Fractional values can also be represented, hence 1.5 is midway between C#4 and D4.

Pitch tokens may be modified by the presence of additional signifiers. The open brace `{‘ denotes the beginning of a phrase. The closed brace `}’ denotes the end of a phrase. The open parenthesis `(‘ denotes the beginning of a slur. The closed parenthesis `)’ denotes the end of a slur. The semicolon `;’ denotes a pause.

Rest tokens are denoted by the lower-case letter `r’.

Barlines are represented using the “common system” for barlines – see **barlines**.


It is recommended that files containing predominantly **semits data should be given names with the distinguishing `.sem’ extension.


The following table summarizes the **semits mappings of signifiers and signifieds.

0-9 decimal values
minus sign
plus sign (optional)
. fractional delimiter; null token
r rest
= barline; == double barline
( slur start
) slur end
{ phrase mark (start)
} phrase mark (end)
; pause sign

Summary of ***semits** Signifiers*


The following sample document shows a ****kern** spine with corresponding **semits pitch values.

**semits **kern
*M4/4 *M4/4
*c: *c:
= =
r 8r
12 16cc
11 16bn
12 8cc
14 8dd
5 16f
7 16g
8 4a-
7 16g
5 16f
= =
4 7 1e 1g
== ==
*- *-


The following Humdrum commands accept **semits encoded data as inputs:

**cents** translates **semits to **cents **freq** translates **semits to **freq **kern** translates **semits to **kern **melac** calculate melodic accent values for successive pitches **pc** translate **semits pitch to **pc **pitch** translate **semits pitch to **pitch **semits** change numerical precision of **semits values **solfg** translate **semits pitch to **solfg **tonh** translate **semits pitch to **Tonh **vox** determine active and inactive voices in a Humdrum file

The following Humdrum commands produce **semits data as outputs:

  **semits** translates **cents, **freq, **fret, **kern, **MIDI, **pitch, **semits, **solfg, **specC, **Tonh, to **semits


The following tandem interpretations can be used in conjunction with **semits:

MIDI channel *Ch1
meter signatures *M6/8
key signatures *k[f#c#]
key *c#:

Tandem interpretations for ***semits***


`` barlines, **cents, cents, **freq, freq, **fret, **kern, kern, **MIDI, midi, **pitch, pitch, semits, **solfg, solfg, **specC, specc, **Tonh, tonh``