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

    Function canTransposeMaqamToNote

    • Determines whether a maqām can be successfully transposed to a specific target note.

      This function validates transposition feasibility by analyzing the source maqām's interval pattern and checking if the target tuning system contains the necessary pitch classes to reconstruct the complete maqām sequence starting from the specified target note. It uses recursive sequence building to ensure all required intervals can be matched within the specified cents tolerance.

      The algorithm extracts the source maqām's tahlīl (analysis), derives its interval pattern, and attempts to rebuild the sequence starting from the target note. This validation is essential for preventing incomplete or invalid transpositions in the user interface.

      Parameters

      • tuningSystem: default

        The tuning system containing the available pitch classes

      • startingNote: string

        The original starting note of the maqām in its current position

      • maqamData: default

        The maqām object containing the tahlīl and structural information

      • targetFirstNote: string

        The desired starting note for the transposed maqām

      • centsTolerance: number = 5

        Maximum allowed deviation in cents for interval matching (default: 5)

      Returns boolean

      true if the maqām can be completely transposed to the target note, false otherwise