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

    Class Interval

    An immutable spelled interval value: a diatonic number, a quality label, and a signed semitone span. A thin convenience wrapper over the pitch module's plain interval result.

    import { Interval, Note } from '@libraz/libcantus';
    Interval.between(Note.of('C4'), Note.of('G4')).name; // 'P5'
    Index
    • get number(): number

      Diatonic size: 1 = unison, 2 = second, ... 8 = octave, and beyond.

      Returns number

    • get quality(): string

      Quality label: 'P', 'M', 'm', or repeated 'A'/'d'.

      Returns string

    • get name(): string

      A readable label composed of quality and number, e.g. 'P5' or 'M3'.

      Returns string

    • Build an interval from explicit components.

      Parameters

      • numberValue: number

        Diatonic size: 1 = unison, 2 = second, ... 8 = octave.

      • quality: string

        Quality label: 'P', 'M', 'm', or repeated 'A'/'d'.

      • semitones: number

        Signed semitone span.

      Returns Interval

      The interval.

    • The plain interval data, for JSON serialization.

      Private class fields do not serialize, so an explicit toJSON keeps JSON.stringify(interval) from collapsing to {}.

      Returns SpelledInterval

      The diatonic number, quality, and semitone span.