Universal Music Theory Library - v0.12.0
    Preparing search index...

    Class EDO

    Equal Division of the Octave - divides the octave into divisions equal steps. Examples: 12-TET (standard), 24-TET (quarter-tone), 31-TET, 53-TET.

    Hierarchy (View Summary)

    Index

    Constructors

    • Parameters

      • divisions: number

        Number of equal steps per octave. Must be a positive integer.

      • baseFrequency: number = 440

      Returns EDO

    Properties

    baseFrequency: number = 440

    Reference frequency for step 0 (A4). Default: 440 Hz.

    divisions: number

    Number of equal steps per octave. Must be a positive integer.

    name: string

    Display name: '12-TET', 'Ptolemaic Just Intonation', 'Werckmeister III'.

    Accessors

    • get octaveSteps(): number

      Number of steps that constitute one period (usually one octave, 2:1). For non-octave tunings (e.g. Bohlen-Pierce) this is steps per tritave.

      Returns number

    Methods

    • Returns the frequency in Hz for a given step offset from A4.

      Parameters

      • steps: number

      Returns number

    • Returns a note name for the given step: the 12-TET name of the note the step stands for (getStandardStep), in sharps ("C#4", "A4"), or "Step N" when it stands for none.

      Parameters

      • step: number

      Returns string

    • Converts a 12-TET step pattern (successive steps, e.g. major [2, 2, 1, 2, 2, 2, 1]) to this tuning. Each note's position above the first is mapped, not each step, so the pattern keeps its span: in 22-EDO the major scale spans 22 steps (rounding each step would give 24), and in a 7-note JI scale a semitone does not collapse to 0 steps. A step comes out 0 only when two notes land on the same step of this tuning.

      Parameters

      • pattern: readonly number[]

      Returns number[]

    • The 12-TET note a step stands for: the 12-TET step (A4 = 0) nearest in cents, when getStepFromStandard maps that note back to this step. Names, chord qualities and Roman numerals in any tuning are read through it.

      • In a tuning with 12 steps per octave (12-TET, Werckmeister III, 5-limit JI) every step stands for itself.
      • In 19- or 31-EDO the steps that stand for a note are the meantone images of the 12 notes; in 31-EDO C is step -23 and C# step -21, and steps -22 and -20 stand for none (spelled notes, where the 31-EDO D flat is step -20, are not modelled yet).
      • A quarter tone in 24-EDO stands for none.

      Parameters

      • step: number

      Returns number | null

      The 12-TET step, or null when the step stands for no 12-TET note, and always in a tuning that does not repeat at the octave.

    • Maps a 12-TET step to the nearest step in this EDO via linear scaling.

      Parameters

      • standardStep: number

      Returns number

    • The step of target that stands for the same 12-TET note as step does here (getStandardStep on both sides): C4 is step -9 in 12-TET and step -23 in 31-EDO.

      Parameters

      Returns number | null

      The step in target, or null when step stands for no note or target has no step for it.