← Home
Sargam
Notation Reference
Open Composer ↗
v1 · INI-style

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.

Sargam

        

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.

KeyExampleDefaultDescription
tempotempo: 120120Beats per minute
repeatrepeat: 21Number of times to repeat the piece
scalescale: R1S1Tonic (Sa) — transposes all melody notes
tabla-scaletabla-scale: P1S1Detune tabla right hand
baya-scalebaya-scale: S1S1Detune tabla left hand
Settings

        

Track Names

Each [trackname] header starts a new track mapped to an instrument.

HeaderInstrumentNotes
[melody]Piano (user-selectable)Alias for [notations]
[notations]Same as melody
[sitar]Sitar
[flute]Flute
[violin]Violin
[harmonium]Harmonium
[fretless_bass]Fretless Bass
[tabla]TablaBol notation
[theka]Theka (separate channel)Bol notation
[tablatarang]Tablatarang
[lehera]Lehera drone
[lyrics]Display only — no audioWords 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

SSa · fixed
rRe♭ · komal
RRe · shuddha
gGa♭ · komal
GGa · shuddha
mMa · shuddha
MMa♯ · tivra
PPa · fixed
dDha♭ · komal
DDha · shuddha
nNi♭ · komal
NNi · shuddha

Append 0 for the lower octave, 1 for middle, 2 for upper. S1 is middle-octave Sa.

Melody row

        

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.

Sustain example

        

Laykari — Subdivisions

Wrap notes in {...} to subdivide a single beat into multiple notes played in rapid succession.

Laykari

        

Chords

Use {:...:} to play notes simultaneously as a chord.

Chords

        

Per-note Volume

Add <note:vol> to set a note's volume from 0 to 100.

Volume

        

Tabla Bols

Use bol names directly in [tabla] or [theka] tracks. Each bol fires two MIDI notes (right hand + left hand). Common bols:

BolSound character
D1Dha — open resonant stroke
G1Ga — bass left-hand stroke
T1Ta — sharp treble stroke
N1Na — muted treble stroke
K1Ka — closed left stroke
Da1Dha — variant open stroke
Tabla

        

Multiple Tracks

Tracks with different names play simultaneously. Shorter tracks cycle to fill the length of longer ones.

Multi-track

        

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.

Multiple pieces

        

Comments

Lines starting with # are ignored by the parser. Use them for titles, raag names, or annotations.

Comments

        

Full Example

A complete Yaman alaap with melody, theka, and lyrics.

Full example