Part 2 — Advanced
Part 2 introduces the features that make longer compositions practical. Examples use Dadra, Rupak (7 beats, vibhags 3+2+2), and Teentaal (16 beats, vibhags 4+4+4+4).
9. Dot subdivision (unequal beats)
Concatenation makes all bols in a beat equal (§7). When you need unequal divisions — one bol longer than others — use dots. Dots split a beat into equal segments, and each segment's bols share that segment's time.
9.1 Equal vs unequal — the key difference (Dadra)
Input (concatenation — equal thirds):
dha dhin na dhatira kitedha -
Grid (Dadra):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | dha ti ra | ki te dha | - | |
| धा | धिं | ना | धा ति र | कि ट धा | - |
Beat 4 has 3 bols — each takes exactly 1/3 of the beat:
| dha | ti | ra |
| धा | ति | र |
Input (dots — unequal):
dha dhin na dha.tira kite.dha -
Grid (Dadra):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | dha · ti ra | ki te dha · | · | |
| धा | धिं | ना | धा · ति र | कि ट धा · | · |
The dot splits beat 4 into 2 equal segments. dha fills the first segment (1/2 beat), ti ra share the second segment (1/4 beat each):
| dha | - | ti | ra |
| धा | - | ति | र |
dha holds for 2 slots (1/2 beat), ti and ra take 1 slot each (1/4 beat each). The dot is what makes dha longer.
Note that another option to get similar effect is to use - to provide silence to increase the duration of a bol.
dha dhin na dha-tira kitedha- -
9.2 Two equal halves (Dadra)
Input:
dha dhin na dha.ge tin na
Grid (Dadra):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | dha · ge | tin | na | |
| धा | धिं | ना | धा · गे | तिं | ना |
Two segments, one bol each — dha 1/2, ge 1/2. Same as concatenation dhage in this case (both equal).
9.3 Triplet (Dadra)
Input:
dha dhin na t.ki.te tin na
Grid (Dadra):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | t · ki · te | tin | na | |
| धा | धिं | ना | त · कि · ट | तिं | ना |
Three dots = three equal segments — a triplet.
9.4 Rupak triplet
Rupak's 7-beat structure (3+2+2) with a triplet in beat 4:
Input:
tin tin na dha.ti.na na dhin na
Grid (Rupak):
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | ||
|---|---|---|---|---|---|---|---|---|
| tin | tin | na | dha · ti · na | na | dhin | na | ||
| तिं | तिं | ना | धा · ति · ना | ना | धिं | ना |
9.5 Limitation: dots can't nest further
dha.tira splits into 2 segments, and tira is parsed as ti ra (2 bols sharing the second segment). But what if you wanted 3 segments where the middle segment itself has an internal split? Dots alone can't express that — you need parentheses (§10).
10. Parentheses (nested grouping)
Parentheses pick up where dots leave off. Each paren group gets an equal share of the beat, and bols inside a group share that group's portion. Use parens when you need nested subdivisions that dots can't express.
10.1 Paren vs concatenation (Dadra)
Input (with parens):
dha dhin na ((dha)(tira)(kite)(tka)) (tira)(kite)(tka)ta - -
Grid (Dadra):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | dha · ti ra ki te t ka | ti ra ki te t ka ta · | · | |
| धा | धिं | ना | धा · ति र कि ट त क | ति र कि ट त क ता · | · |
Beat 4 has 4 groups, and each is played in 1/4 beat. So, dha is played in 1/4, tira is played in 1/4 beat. Thus ti and ra is played in 1/8 beat, or 8 times faster than dha in first beat. The tira.kite.tka.ta is another way to get same effect. tirakitetkata- would also be same, but it is less readable without any grouping.
Now compare with plain concatenation — same bols, no parens:
Input (without parens):
dha dhin na dha-tirakitetka tirakitetkata- -
Grid (Dadra):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | dha · ti ra ki te t ka | ti re ki te t ka ta · | · | |
| धा | धिं | ना | धा · ति र कि ट त क | ति र कि ट त क ता · | · |
Without parens or - like dhatirakitetka all bols in the beat will become equal, and will get 1/7 beat.
The difference: parens let you make some bols longer than others. Without parens, everything is equal.
10.2 Nested subdivision with dots and parens (Dadra)
For the most complex case — dots for the top-level split, parens for an inner split:
Input:
dha dhin na dha.tira.kite.tka (ti.ra).kite.tka.ta - -
Grid (Dadra):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | dha · ti ra ki te t ka | ti re ki te t ka ta · | · | |
| धा | धिं | ना | धा · ति र कि ट त क | ति र कि ट त क ता · | · |
The dot splits beat 4 into two halves. The second half (ti.ra) is itself dot-split: ti and ra each get 1/8 of the beat. Same rhythm as §10.1, but written with dots + parens instead of stacked paren groups.
10.3 Which tool when?
| You want… | Use |
|---|---|
| Equal bols in a beat | concatenation: dhadhin, tirakite |
| Unequal split (one bol longer) | dots: dha.tira |
| Triplet / quintuplet | dots: dha.ti.na |
| Nested unequal splits | dots + parens: dha.(ti.ra) |
| Multiple groups with different sizes | stacked parens: (dha)(tira) |
11. Composite shortcuts
Common phrases have named shortcuts that expand to canonical bol sequences. Saves typing and ensures correct Devanagari.
11.1 Composite table
| Shortcut | Expands to | Devanagari |
|---|---|---|
TiRaKiTa / tirakite |
Ti Ra Ki Te | ति र कि ट |
tirkit |
Ti Ra Ki Te | ति र कि ट |
tirkittk |
Ti Ra Ki Te Te Ka | ति र कि ट ट क |
KitaTaka |
Ki Ta Ta Ka | कि ता ता क |
DhiRaDhiRa |
Dhi Ra Dhi Ra | धि र धि र |
GhiDeNaGa |
Ghi De Na Ga | घि ड़ ना ग |
GaDiGeNe |
Ga Di Ge Ne | ग दि गे ने |
TakKdaan |
Ta Kda Ne | ता क्ड ने |
KdaDhaan |
Kda Dha Ne | क्ड धा ने |
TaKiTa |
Ti Ki Te | ति कि ट |
KdaDha |
Kda Dha | क्ड धा |
TraKa |
Tra Kda | त्र क्ड |
Composites only match within a single beat (space-delimited token). They don't cross spaces, parens, or bracket boundaries.
11.2 Dadra example
Input:
dha dhin na tirkit tin na
Grid (Dadra):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | ti ra ki te | tin | na | |
| धा | धिं | ना | ति र कि ट | तिं | ना |
tirakite — one token, four bols in one beat.
11.3 Teentaal kaida phrase (full cycle)
Input:
dha ti dha ge na dha tira kite
dha ti dha ge tin na ke na
Grid (Teentaal, beats 1–8):
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
|---|---|---|---|---|---|---|---|---|
| dha | ti | dha | ge | na | dha | ti ra | ki te | |
| धा | ति | धा | गे | ना | धा | ति र | कि ट |
Grid (Teentaal, beats 9–16):
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | |
|---|---|---|---|---|---|---|---|---|
| dha | ti | dha | ge | tin | na | ke | na | |
| धा | ति | धा | गे | तिं | ना | के | ना |
A classic Teentaal kaida theme — tirakite in beat 7-8 packs two bols into each beat. See §17 for the full composition with paltas and tihai.
12. Repeats
[pattern] x N repeats a block N times (N = 2–9).
12.1 Simple repeat (Dadra)
Input:
[dha dhin na]x2
Expands to dha dhin na dha dhin na — one full Dadra cycle from a half-cycle phrase.
Grid (Dadra):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | dha | dhin | na | |
| धा | धिं | ना | धा | धिं | ना |
12.2 Nested repeat (Dadra, 2 cycles)
Input:
[dha dhin [na]x4]x2
Expands to 12 beats = 2 Dadra cycles.
Grid (Dadra, cycle 1):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | na | na | na | |
| धा | धिं | ना | ना | ना | ना |
Grid (Dadra, cycle 2):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | na | na | na | |
| धा | धिं | ना | ना | ना | ना |
13. Speed markers (laya)
@1x (baraabar), @2x (dugun), @3x (tigun), @4x (chaugun). Applies from the marker forward until the next marker.
Speed markers let you reuse the same bol text at different speeds — write a theka once, then copy-paste it under a @2x or @4x marker to hear it at dugun or chaugun without editing. This is how most compositions build up from slow to fast: same phrases, just a speed marker change.
13.1 Dadra theka at baraabar then dugun
Input:
## Baraabar
dha dhin na dha tin na
@2x
## Dugun
[dha dhin na dha tin na]x2
Grid — baraabar (Dadra):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | dha | tin | na | |
| धा | धिं | ना | धा | तिं | ना |
Grid — dugun (Dadra, same 6 beats):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha dhin | na dha | tin na | dha dhin | na dha | tin na | |
| धा धिं | ना धा | तिं ना | धा धिं | ना धा | तिं ना |
At @2x, two bols share each taal beat. The 12-bol expansion ([…]x2) fills one 6-beat Dadra cycle.
13.2 Global speed field vs @Nx
The composition's global speed field multiplies on top of @Nx markers. A composition at speed: 2 with an @2x section plays that section at 4×. Prefer @Nx for in-score laya changes; reserve speed for a composition-wide override. Note that speed change may squish the composition such that it may not fit full taal cycle. For example, a 18 beat composition fits 3 cycles of dadra, but at 2x speed, it would need only 9 beats or 1.5 cycles, and leave a half cycle silence.
14. Tihai with cap ^
A tihai is three repetitions of a phrase, typically the last bol lands on sam to continue new cycle.
Sometimes, a different bol may be needed for the new cycle. For example, in rupak, the tihai that end in dha, but playing theka may require playing tin instead, at sam for the new cycle.
It is also inconvenient if tihai is ending the composition. The last dha of the tihai will create a new taal cycle, that would be filled with silence.
So, we want to use []x3 for writing tihai, but just want to remove the last portion, typically the portion that lands on the sam, typically last dha.
The ^ caret (cap) marks that cut point: everything after the last ^ is dropped from the final repetition, thus it is used to cap a tihai.
14.1 Sam-landing tihai (Jhaptaal)
A tihai "lands on sam" when the last meaningful bol of the third repetition falls on beat 1 (sam) of the next cycle.
Input:
[dha kat dha -]x3
The phrase dha kat dha - is 4 beats. Repeated 3 times = 12 beats. Jhaptaal has 10 beats per cycle, so the tihai spans 1 cycle + 2 beats into the next.
Grid (Jhaptaal cycle 1, beats 1–10):
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| dha | ka t | dha | - | dha | ka t | dha | - | dha | ka t | |||
| धा | क त | धा | - | धा | क त | धा | - | धा | क त |
Grid (Jhaptaal cycle 2, beats 1–2):
| 1 (sam) | 2 |
|---|---|
| dha | - |
| धा | - |
The third dha wraps into the next cycle and lands exactly on sam (beat 1). The - after it fills beat 2. This is what makes it a tihai — three repetitions resolving to sam.
14.2 With the cap (Jhaptaal)
Now use ^ to cap the rest from the last repetition so the tihai is finished within the taal, and sam onwards is continued using next part of the composition.
Input:
## Tihai
[dha kat ^dha -]x3
## Theka
dhin na dhin dhin na tin na dhin dhin na
The tihai phrase dha kat dha - is 4 beats, but ^- cuts the rest from the final rep:
- Rep 1:
dha kat dha -(4 beats) - Rep 2:
dha kat dha -(4 beats) - Rep 3:
dha kat(2 beats — the^dha -portion is ignored)
Total tihai (not including sam) = 4 + 4 + 2 = 10 beats = one Jhaptaal cycle.
The theka fills the next Jhaptaal cycle (10 beats).
Grid — tihai (Jhaptaal cycle 1, beats 1–10):
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| dha | kat | dha | - | dha | kat | dha | - | dha | kat | |||
| धा | क त | धा | - | धा | क त | धा | - | धा | क त |
Grid — theka (Jhaptaal) with Tihai landing on sam:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| dhin | na | dhin | dhin | na | tin | na | dhin | dhin | na | |||
| धिं | ना | धिं | धिं | ना | तिं | ना | धिं | धिं | ना |
The ^dha - cut removes the trailing rest from rep 3, so the final dha is not played, rather theka dhin starts at sam.
Without the cut ([dha kat dha -]x3 as in §14.1), we would have to write third cycle differently for example [dha kat dha -]x2 dha kat.
The ^ cap makes the tihai resolve cleanly, with clean indication that x3 makes a tihai.
14.3 Chakradhar (tihai-within-tihai, Teentaal)
A chakradhar is a tihai of tihais — the inner phrase repeats 3 times, and that whole block repeats 3 times = 9 repetitions total. It's typically the grand finale of a kaida.
Writing a chakradhar becomes much easier due to capping ^ notation.
Input:
[dhati dhage [dhinna gena ^dha]x3 ]x3
Calculating the math:
The inner phrase dhinna gena dha has 3 beats (each phrase is one beat with concatenated bols inside).
| Calculation | Beats | |
|---|---|---|
| Prefix | dhati dhage |
2 |
Inner tihai [dhinna gena ^dha]x3 |
3 beats × 3 reps | 9 |
| One full block | 2 + 9 | 11 |
| Chakradhar | 11 × 3 outer reps | 33 |
Teentaal has 16 beats per cycle. 33 = 2 × 16 + 1 — so the 33rd beat dha would land on beat 1 (sam) of the third cycle. The last dha lands exactly on sam.
Grid — one outer block (11 beats):
Prefix (2 beats):
| 1 | 2 |
|---|---|
| dha ti | dha ge |
| धा ति | धा गे |
Inner rep 1 (3 beats):
| 3 | 4 | 5 |
|---|---|---|
| dhin na | ge na | dha |
| धिं ना | गे ना | धा |
Inner rep 2 (3 beats):
| 6 | 7 | 8 |
|---|---|---|
| dhin na | ge na | dha |
| धिं ना | गे ना | धा |
Inner rep 3 (3 beats):
| 9 | 10 | 11 |
|---|---|---|
| dhin na | ge na | dha |
| धिं ना | गे ना | धा |
This 11-beat block repeats 3 times = 33 beats. Here's the full expansion laid out across Teentaal cycles:
Grid — full chakradhar (Teentaal cycle 1, beats 1–8):
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
|---|---|---|---|---|---|---|---|---|
| dha ti | dha ge | dhin na | ge na | dha | dhin na | ge na | dha | |
| धा ति | धा गे | धिं ना | गे ना | धा | धिं ना | गे ना | धा |
Grid (Teentaal cycle 1, beats 9–16):
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | |
|---|---|---|---|---|---|---|---|---|
| dhin na | ge na | dha | dha ti | dha ge | dhin na | ge na | dha | |
| धिं ना | गे ना | धा | धा ति | धा गे | धिं ना | गे ना | धा |
Grid (Teentaal cycle 2, beats 1–8):
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
|---|---|---|---|---|---|---|---|---|
| dhin na | ge na | dha | dhin na | ge na | dha | dha ti | dha ge | |
| धिं ना | गे ना | धा | धिं ना | गे ना | धा | धा ति | धा गे |
Grid (Teentaal cycle 2, beats 9–16):
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | |
|---|---|---|---|---|---|---|---|---|
| dhin na | ge na | dha | dhin na | ge na | dha | dhin na | ge na | |
| धिं ना | गे ना | धा | धिं ना | गे ना | धा | धिं ना | गे ना |
Grid (Teentaal cycle 3, beat 1 — sam) - would be cut out due to ^:
| 1 (sam) |
|---|
| dha |
| धा |
The very last dha (beat 33) lands on sam of the third cycle.
Using ^ for a clean transition:
The ^ before dha cuts it from the fully expanded output, making the chakradhar 32 beats (exactly 2 Teentaal cycles). Sam of cycle 3 is left free for the next section to begin cleanly.
The ^ only cuts the last occurrence — even though there are 9 inner reps, only the 9th one loses its dha. Chakradhars are the showcase ending for long kaidas (see §17).
Imagine trying to write a chakradhar without using ^, we would need to write the last cycle differently, resulting in mistake.
[dhati dhage [dhinna gena dha]x3 ]x2 dhati dhage dhinna gena
Nauhakka tihais can similarly be written succinctly using ^.
15. Variables
$name = value defines a reusable phrase. Use for anything that's repeated often in the composition. The assignment line itself is not played — it only stores the phrase. The bols only enter the composition where you reference $name.
Variables are especially useful for kaidas, where the main theme (or its second half) is repeated in every cycle — define it once as $MT, then reference $MT at the end of each variation. Change the theme in one place and every palta updates automatically.
Rather than using copy-paste, variables make the compositions less error-prone. They also help readability of a long composition, by giving a cue about reusing the learnt phrase. But using the variables too much can also hinder understandability of a composition.
15.1 Single-line variable (Keherwa)
Input:
# Variable defined
$P1 = dha dha ti te
$P2 = dha dha tin na
# Variable used.
$P1 $P1
$P1 $P2
Grid (cycle 1):
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
|---|---|---|---|---|---|---|---|---|
| dha | dha | ti | te | dha | dha | ti | te | |
| धा | धा | ति | ट | धा | धा | ति | ट |
Grid (cycle 2):
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
|---|---|---|---|---|---|---|---|---|
| dha | dha | ti | te | dha | dha | tin | na | |
| धा | धा | ति | ट | धा | धा | तिं | ना |
15.2 Multi-line (braces)
Input:
$theka = {
dha dhin na
dha tin na
}
$theka
$theka
Expands to two rows.
15.3 Variables referencing variables
Input:
$a = dha dhin na
$b = $a dha tin na
$b
$b expands to dha dhin na dha tin na — one Dadra cycle.
Grid (Dadra):
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| dha | dhin | na | dha | tin | na | |
| धा | धिं | ना | धा | तिं | ना |
Handy for building themes from reusable halves (bhari/khali).
15.4 Naming conventions
There are some commonly used conventions to write kayda
$MT,$MT1,$MT2— main theme and variations (bhari/khali)$theka— the taal's basic pattern$theme_half1,$theme_half1_khali— theme halves
16. Taal grid and vibhags
Each taal has a fixed beat count, vibhag (section) boundaries, and clap positions (sam, tali, khali). The grid uses empty columns to show vibhag boundaries.
16.1 Taal parameters
| Taal | Beats | Vibhags | Claps |
|---|---|---|---|
| Dadra | 6 | 3 + 3 | sam: 1 |
| Rupak | 7 | 3 + 2 + 2 | tali: 4, 6; sam (beat 1) is khali |
| Keherwa / Bhajani | 8 | 4 + 4 | sam: 1 |
| Dhumali | 8 | 2 + 2 + 2 + 2 | sam: 1; tali: 3, 7; khali: 5 |
| Jhaptaal | 10 | 2 + 3 + 2 + 3 | sam: 1; tali: 3, 8 |
| Ektaal / Chautaal | 12 | 2 × 6 | sam: 1; tali: 5, 9 |
| Deepchandi | 14 | 3 + 4 + 3 + 4 | sam: 1; tali: 4, 11; khali: 8 |
| Dhamar | 14 | 5 + 2 + 3 + 4 | sam: 1; tali: 6, 11 |
| Teentaal / Tilwada | 16 | 4 × 4 | sam: 1; tali: 5, 13; khali: 9 |
16.2 Rupak theka (7 beats)
Rupak is 3+2+2 with its sam (beat 1) as a khali — unusual.
Input:
tin tin na dhin na dhin na
Grid (Rupak):
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | ||
|---|---|---|---|---|---|---|---|---|
| tin | tin | na | dhin | na | dhin | na | ||
| तिं | तिं | ना | धिं | ना | धिं | ना |
16.3 Teentaal theka (16 beats)
Teentaal is four vibhags of 4. Written as two rows for readability.
Input:
dha dhin dhin dha | dha dhin dhin dha
dha tin tin ta | ta dhin dhin dha
Grid (Teentaal, vibhags 1–2):
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
|---|---|---|---|---|---|---|---|---|
| dha | dhin | dhin | dha | dha | dhin | dhin | dha | |
| धा | धिं | धिं | धा | धा | धिं | धिं | धा |
Grid (Teentaal, vibhags 3–4):
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | |
|---|---|---|---|---|---|---|---|---|
| dha | tin | tin | ta | ta | dhin | dhin | dha | |
| धा | तिं | तिं | ता | ता | धिं | धिं | धा |
Your bols just need to fill whole cycles. The grid wraps automatically.
AnuLaya