ID of the original jins this instance is based on
Name of this jins instance. For tahlil: original name (e.g., "Jins Kurd") For taswir: includes transposition info (e.g., "Jins Kurd al-Muhayyar")
Whether this is a transposition (taswir) or original form (tahlil). false = tahlil (original), true = taswir (transposition)
Array of actual pitch classes with frequencies and note names. These are the concrete, playable pitches within the tuning system.
Intervallic relationships between consecutive pitch classes. These intervals remain consistent between tahlil and taswir forms.
Represents a concrete, tuning-system-specific jins with actual pitch classes.
This interface represents a jins that has been "realized" within a specific tuning system, containing actual pitch classes with frequencies and intervallic relationships. Unlike JinsData (which contains only abstract note names), a Jins interface instance is playable and can be used for audio synthesis.
Tahlil vs Taswir:
The transposition algorithm uses pattern matching to find all valid starting positions within the tuning system where the complete interval pattern can be realized, ensuring authentic intervallic structure is maintained.