@libraz/libcantus - v0.9.3
    Preparing search index...

    Function createsParallelPerfect

    • Whether two voices move into consecutive perfect intervals of the same kind (fifth-to-fifth, octave-to-octave, unison-to-unison).

      Both true parallels (similar motion) and anti-parallels — the same perfect class reached by contrary motion, e.g. octave to octave with the voices moving in opposite directions — are flagged, as both are forbidden in strict two-voice counterpoint. The rule requires that both voices actually move: oblique motion (either voice stationary) and the no-change case (identical pitches) are excluded.

      A fifth expanding to a twelfth counts (same perfect class); a fifth moving to an octave does not (different perfect kinds — the direct/hidden case owned by createsHiddenParallelPerfect).

      Parameters

      • aPrev: number
      • aCur: number
      • bPrev: number
      • bCur: number

      Returns boolean