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

    Type Alias PartWritingViolation

    One broken rule, located in the progression and in the texture.

    type PartWritingViolation = {
        kind: PartWritingViolationKind;
        voices: number[];
        fromIndex: number;
        toIndex: number;
        rationale: string;
    }
    Index

    The rule that was broken.

    voices: number[]

    The voices involved, by index into a voicing (0 = lowest). A rule about a pair names both, ascending; a rule about a single line names one. A crossRelation is the exception: it names the voice holding the earlier note first, whichever is higher. In a species exercise there are only two voices and they are named by role instead: 0 is the cantus firmus and 1 the counterpoint, whichever lies above.

    fromIndex: number

    Index of the chord the motion starts on; in a species exercise, the index into the counterpoint.

    toIndex: number

    Index of the chord it ends on; equal to fromIndex for a vertical rule.

    rationale: string

    A short sentence naming the musical reason.