Arabic Maqām Network - TypeScript Library Documentation - v0.1.0
    Preparing search index...

    Function transposeSayr

    • Transposes a sayr by shifting its note names.

      Calculates the shift amount by comparing the first note of the source maqām data with the first note of the target maqām, then applies this shift to all note references in the sayr. Handles different stop types appropriately and flags when transposed notes fall outside the available tuning system range.

      Parameters

      • sayr: Sayr

        The sayr structure to transpose

      • allPitchClasses: default[]

        Available pitch classes in the tuning system

      • maqamData: default

        Source maqām data for calculating shift amount

      • maqam: Maqam

        Target maqām for calculating shift amount

      Returns { transposedSayr: Sayr; hasOutOfBoundsNotes: boolean }

      Object containing the transposed sayr and out-of-bounds flag