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

    Function getMaqamTranspositions

    • Maqām Transposition Analysis

      Comprehensive Maqām Analysis:

      1. Bidirectional Processing: Analyzes ascending and descending sequences separately, accounting for maqāmāt that employ different intervallic patterns in each direction

      2. Embedded Jins Recognition: Automatically identifies and transposes all constituent ajnās within each maqām transposition, creating complete analytical structures

      3. Octave Extension: Accurately extends sequences across octave boundaries to ensure complete jins recognition and proper intervallic analysis

      4. Tahlil vs Taswir: Distinguishes between analytical (tahlil) and transposed (taswir) positions, following traditional Arabic music theory terminology

      Algorithmic Precision:

      • Pattern Matching: Extracts intervallic fingerprints from original maqām structure
      • Systematic Search: Tests all possible starting positions within tuning system
      • Tolerance Handling: Uses appropriate matching criteria (exact ratios vs fuzzy cents)
      • Bounds Checking: Ensures transpositions remain within practical octave limits

      Naming Conventions: Follows traditional Arabic nomenclature: "maqām [name] al-[starting note]" Example: "maqām bayyātī al-nawā" for bayyātī transposed to start on nawā

      Parameters

      • allPitchClasses: default[]

        Complete tuning system pitch classes to search within

      • allAjnas: default[]

        Available ajnās for embedded jins recognition

      • maqamData: null | default

        Source maqām to find transpositions for

      • withTahlil: boolean

        Include analytical (original) position in results

      • centsTolerance: number = 5

        Tolerance for fuzzy matching (default: ±5 cents JND)

      • onlyOctaveOne: boolean = false

        Restrict search to first octave only

      Returns Maqam[]

      Array of all possible maqām transpositions with embedded jins analysis