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

    Class MOS

    MOS (Moment of Symmetry) scales - generated scales with exactly two step sizes. Used in xenharmonic / microtonal theory to find well-formed scales in arbitrary EDOs.

    Index

    Constructors

    Methods

    • Generates a MOS scale by stacking a generator interval within a period.

      Parameters

      • generator: number

        Generator size in steps within the period.

      • period: number

        Period size in steps (usually octave = 12 in 12-TET, or EDO divisions).

      • size: number

        Number of notes desired.

      Returns number[]

      Array of step offsets from 0 (the tonic), sorted ascending.

    • Returns the MOS family - all MOS scales for a given generator and period up to maxSize. Each entry is a MOS scale (sorted step array).

      Parameters

      • generator: number
      • period: number
      • maxSize: number

      Returns number[][]

    • Tests whether a set of steps is a MOS (moment of symmetry) scale by Myhill's property: every generic interval (spanning k scale steps, k = 1 … n−1, around the period) comes in exactly two sizes. Two step sizes alone are not enough: LLssLLL (0 2 4 5 6 8 10 in 12) has them and is not a MOS.

      Parameters

      • scale: number[]

        Step offsets within one period (0 included).

      • period: number = 12

        Period in steps (default 12: one 12-TET octave).

      Returns boolean

      true if the scale is a MOS (well-formed scale).