Notation
Reference
A simple, human-readable format for composing Indian classical music. No special syntax to memorize — settings at the top, track rows below.
Structure
A composition is a plain-text file: optional settings, then one or more named track sections containing avartan rows.
Spaces between notes are cosmetic and ignored by the parser.
Beats within an avartan are separated by |.
Settings
All settings are optional and must appear before the first [section] header. Unspecified settings fall back to the UI controls.
| Key | Example | Default | Description |
|---|---|---|---|
tempo | tempo: 120 | 120 | Beats per minute |
repeat | repeat: 2 | 1 | Number of times to repeat the piece |
scale | scale: R1 | S1 | Tonic (Sa) — transposes all melody notes |
tabla-scale | tabla-scale: P1 | S1 | Detune tabla right hand |
baya-scale | baya-scale: S1 | S1 | Detune tabla left hand |
Track Names
Each [trackname] header starts a new track mapped to an instrument.
| Header | Instrument | Notes |
|---|---|---|
[melody] | Piano (user-selectable) | Alias for [notations] |
[notations] | Same as melody | — |
[sitar] | Sitar | — |
[flute] | Flute | — |
[violin] | Violin | — |
[harmonium] | Harmonium | — |
[fretless_bass] | Fretless Bass | — |
[tabla] | Tabla | Bol notation |
[theka] | Theka (separate channel) | Bol notation |
[tablatarang] | Tablatarang | — |
[lehera] | Lehera drone | — |
[lyrics] | Display only — no audio | Words shown in lyric bar |
Note Syntax
Notes are written as a swara letter followed by an octave number. Uppercase = shuddha (natural/sharp), lowercase = komal (flat).
Swara Reference
Append 0 for the lower octave, 1 for middle, 2 for upper. S1 is middle-octave Sa.
Sustain & Rest
A dash - following a note sustains it into the next beat. A dash without a preceding note in the same cell is a rest.
Laykari — Subdivisions
Wrap notes in {...} to subdivide a single beat into multiple notes played in rapid succession.
Chords
Use {:...:} to play notes simultaneously as a chord.
Per-note Volume
Add <note:vol> to set a note's volume from 0 to 100.
Tabla Bols
Use bol names directly in [tabla] or [theka] tracks. Each bol fires two MIDI notes (right hand + left hand). Common bols:
| Bol | Sound character |
|---|---|
D1 | Dha — open resonant stroke |
G1 | Ga — bass left-hand stroke |
T1 | Ta — sharp treble stroke |
N1 | Na — muted treble stroke |
K1 | Ka — closed left stroke |
Da1 | Dha — variant open stroke |
Multiple Tracks
Tracks with different names play simultaneously. Shorter tracks cycle to fill the length of longer ones.
Here melody has 8 beats (2 rows × 4 beats), theka has 4 beats (1 row × 4 beats). The theka row cycles to fill all 8 beats.
Multiple Pieces
Separate independent pieces with --- on its own line. Each piece has its own settings and tracks, played in sequence.
Comments
Lines starting with # are ignored by the parser. Use them for titles, raag names, or annotations.
Full Example
A complete Yaman alaap with melody, theka, and lyrics.