@libraz/libcantus - v1.1.0
    Preparing search index...

    Type Alias PartWritingViolationKind

    PartWritingViolationKind:
        | "parallelFifth"
        | "parallelOctave"
        | "hiddenPerfect"
        | "crossRelation"
        | "voiceCrossing"
        | "overlap"
        | "spacing"
        | "range"
        | "unresolvedLeadingTone"
        | "unresolvedSeventh"
        | "augmentedMelodicInterval"
        | "wrongRhythmicRatio"
        | "unpreparedDissonance"
        | "unresolvedSuspension"
        | "illegalLeap"
        | "battuta"
        | "missingCadence"
        | "melodicShape"

    The rule a PartWritingViolation breaks.

    • parallelFifth, parallelOctave: consecutive perfect intervals of the same kind between one pair of voices. A parallel unison is reported as a parallelOctave, since it is the same perfect class.
    • hiddenPerfect: the outer voices reach a perfect fifth or octave by similar motion with a leap in the upper voice. The leap is what exposes it in a four-part texture; in a two-voice species exercise nothing covers the arrival, so similar motion into a perfect interval is reported however the upper voice got there.
    • crossRelation: one letter carries two different accidentals in two different voices across a chord change, exposed — neither note led into by step, at least one of them in an outer voice, and neither chord one of the chromatic harmonies that are written with the contradiction.
    • voiceCrossing, overlap, spacing, range: the texture rules.
    • unresolvedLeadingTone, unresolvedSeventh: a tendency tone that does not go where it must.
    • augmentedMelodicInterval: a single voice moves by an augmented interval.

    The rest are raised by checkSpecies alone, since they describe faults only a species exercise can commit:

    • wrongRhythmicRatio: the counterpoint's rhythm does not read against the cantus firmus as its species requires — the wrong number of notes per cantus-firmus note, and, in the fifth species, note values the style does not write or a durations array that does not describe the counterpoint it was given.
    • unpreparedDissonance: a dissonance falls where the species allows none, or is reached or left by leap where it must be passed through by step.
    • unresolvedSuspension: a fourth-species suspension that does not fall by step onto the following consonance.
    • illegalLeap: a melodic leap the style forbids — either seventh, the tritone, or anything wider than an octave.
    • battuta: an octave or unison reached by contrary motion with the upper voice leaping down.
    • missingCadence: the exercise does not open or close on the formula its species requires.
    • melodicShape: the counterpoint is a poor line — it has no single climax, leaps too often or too far one way, leaves a wide leap unanswered, outlines a tritone, or repeats a note where the species keeps moving. The rationale says which.