The cadence the chord pair forms, or null when it forms none.
'phrygian' and 'modal' are the two named species: the first is a
specific half cadence and is reported in place of 'half', the second is
the bVII-to-I arrival that no common-practice type covers. Code counting
half cadences has to count 'phrygian' alongside 'half'.
How conclusive an authentic cadence is: 'perfect' when it is a PAC,
'imperfect' when it is an IAC.
Null for every other cadence type — the distinction is only defined for the
authentic cadence — and null for an authentic cadence whose soprano is
unknown, which is the case whenever no voicing is given.
OptionalsopranoThe role the final chord's highest sounding pitch plays in that chord.
Omitted when no voicing was given, and when the top voice is a tension
with no basic chord-tone role.
True when both chords stand on their own root — the inversion condition a perfect authentic cadence has to meet.
True when the dominant resolved onto an inverted tonic (V to I6 and its relatives) instead of the root-position arrival it prepared, so the cadential weight is withheld even though the type still holds.
Why the pair reads this way: the motion the type rests on, what graded an authentic cadence, and what a null type failed to be. Always present, in the phrasing analyzeVoice uses for a note.
The cadences that were considered and rejected, empty unless DetectCadenceOptions.alternatives asked for them.
These are the near misses — the readings a condition or two away from holding — rather than every type that did not fire, which for most pairs would be all of them.
A recognized cadence, with the voice-leading facts its reading rests on.