Classify a pitch's harmonic role and lock level within a chord.
The role comes from the pitch's interval class above the chord root, read
against the chord's own template: root (0), third (3/4), fifth (6/7/8),
sixth or seventh (9/10/11). Every pitch the template does not claim is
'tension' — including one that is simply foreign to the chord, which this
single-pitch query cannot tell from a colour tone. The root locks the chord
identity, the third locks its quality, and everything else is free voicing.
Where a chord has no third, the tone standing in its place — the fourth of a
sus4, the second of a sus2, the eleventh of an eleventh chord — takes the
third's slot and is locked to quality, since moving it changes the chord.
At most one interval class of a chord is ever reported as its third, so a
consumer reading lock: 'quality' as "this tone identifies the chord" gets
one answer rather than two. Detecting an octave doubling requires the
surrounding voicing, which this query does not carry, so 'doubling' is part
of the type — the shared vocabulary of harmonic roles — but is never returned
here.
Classify a pitch's harmonic role and lock level within a chord.
The role comes from the pitch's interval class above the chord root, read against the chord's own template: root (0), third (3/4), fifth (6/7/8), sixth or seventh (9/10/11). Every pitch the template does not claim is
'tension'— including one that is simply foreign to the chord, which this single-pitch query cannot tell from a colour tone. The root locks the chord identity, the third locks its quality, and everything else is free voicing. Where a chord has no third, the tone standing in its place — the fourth of asus4, the second of asus2, the eleventh of an eleventh chord — takes the third's slot and is locked toquality, since moving it changes the chord. At most one interval class of a chord is ever reported as its third, so a consumer readinglock: 'quality'as "this tone identifies the chord" gets one answer rather than two. Detecting an octave doubling requires the surrounding voicing, which this query does not carry, so'doubling'is part of the type — the shared vocabulary of harmonic roles — but is never returned here.