B5) Polymetry and Temporal Structures

BP3’s Superpower

What if a musical grammar could make different temporal flows coexist — like a tabla player who plays in 4 with the right hand and in 3 with the left?

Where does this article fit in?

This article delves into the temporal dimension of BP3 (Bol Processor 3, the algorithmic composition software — see I2). M5 introduced the musical concept of polymetry; B2 defined the vocabulary; B3 formalized the derivation rules. Here, we see how BP3 represents musical time — compression, superposition, cycles — with a simple yet powerful syntax. The details of the translation into SuperCollider code are covered in B7.


Why is this important?

Most musical languages treat time rigidly: a note has a duration, a rest has a duration, and everything adds up sequentially. It’s like a queue: everyone takes their turn, one by one. MIDI, MusicXML, staff notation — all work this way.

But real music doesn’t work like a queue. A tabla player can compress 7 bols into the space of 4 beats. A gamelan ensemble superimposes layers that advance at different speeds. An Indian tāla is not a sequence of measures but a cycle that rotates.

BP3 formalizes these three operations:

  • Compress or stretch a group of notes into a given time
  • Superimpose independent voices, each advancing at its own pace
  • Annotate cyclic rhythmic signatures from non-Western traditions

These are the operations that Bernard Bel developed to represent Indian musical time, and which he formalized in “Rationalizing Musical Time” [Bel2001].

The idea in one sentence

BP3 polymetry allows for compressing, stretching, and superimposing note streams with a {expr1, expr2, ...} syntax where the first field defines the duration, formalizing the cyclic time that Western notation cannot express.


Let’s explain step by step

1. The first field defines the temporal framework

In any polymetric expression {field1, field2, ...}, the first field is a musical expression, executed at the current tempo. Its duration defines the temporal framework within which the subsequent fields must fit.

When the first field is a number, it’s a shortcut for that many rests. Thus:

BP3 Syntax:

{3, dha dhin dhin dha}

 

…is equivalent to {- - -, dha dhin dhin dha}: the 3 means “three rests at the current tempo,” or 3 beats. The 4 bols dha dhin dhin dha must fit within these 3 beats — this is temporal compression. Since the first field is inaudible (rests), only the bols are heard.

The first field can also be a sound expression: {dha ti, tira kita tira kita} means that dha ti (2 bols = 2 beats) sets the duration, and tira kita tira kita (4 bols) compresses into these 2 beats. Both voices are heard simultaneously.

[!Note: The Accordion Analogy]

Imagine an accordion. The melody (the bols dha dhin dhin dha) is fixed on the keys. But you can stretch or compress the bellows — that’s the duration set by the first field. With {3, dha dhin dhin dha}, you compress 4 bols into 3 beats: each bol lasts 3/4 of a beat instead of a full beat. With {6, dha dhin dhin dha}, you stretch: each bol lasts 6/4 = 1.5 beats.

The Formula

If you have N elements to play in M beats:

 

duration of each element = M / N

 

This is the only formula in this article, and it’s enough to explain everything.

BP3 Expression N M Duration per element Effect
{3, dha dhin dhin dha} 4 3 3/4 = 0.75 Compressed
{4, dha dhin dhin dha} 4 4 4/4 = 1.0 Normal
{6, dha dhin dhin dha} 4 6 6/4 = 1.5 Stretched
{1, dha dhin dhin dha} 4 1 1/4 = 0.25 Very fast

When M < N, notes are compressed (each lasts less than one beat). When M > N, they are stretched (each lasts more). When M = N, it’s neutral.

2. Multi-voice Polymetry: Parallel Streams

When the first field is an audible expression, it sets the duration while being played. The subsequent fields fit within this same duration.

BP3 Syntax:

{dha dhin dhin dha, Sa Re Ga Ma Pa}

 

Two voices play simultaneously:

  • Tabla (1st field): 4 bols (dha dhin dhin dha) at the current tempo → defines the duration (4 beats)
  • Sitar (2nd field): 5 notes (Sa Re Ga Ma Pa) compressed into these 4 beats → each note lasts 4/5 of a beat

Both instruments start and end together, but the tabla plays 4 strokes while the sitar plays 5 notes.

This is a cross-instrumental polymetry typical of Indian classical music, where each instrument advances at its own pace within the same tāla cycle.

[!Note: Tabla and Sitar — Two Parallel Streams]

In a Hindustani music concert, the tabla and sitar (or any melodic instrument) play simultaneously but with different densities. The tabla hammers its bols in 4 strokes while the sitarist unfolds 5 raga notes. This is exactly what {dha dhin dhin dha, Sa Re Ga Ma Pa} encodes — and it’s this type of superposition that Bel formalized in BP3 [Bel1998].

[!Note: Temporal Visualization]

Time   : |-------|-------|-------|-------|
Tabla   : [dha   ][dhin  ][dhin  ][dha   ]
Sitar   : [Sa  ][Re  ][Ga  ][Ma  ][Pa  ]

Both voices occupy the same total time, but the sitar subdivides this time into 5 equal parts while the tabla subdivides it into 4. The density is 4 against 5.

Mixed case: numeric first field + multiple voices

We can also use a numeric first field (rests) with multiple audible voices:

{4, dha dhin dhin dha, Sa Re Ga Ma Pa}

 

The 4 (i.e., - - - -, four rests) sets the duration to 4 beats. The two audible voices calculate their durations independently:

  • Tabla: 4 bols in 4 beats → duration = 4/4 = 1.0 per bol
  • Sitar: 5 notes in 4 beats → duration = 4/5 = 0.8 per note

3. Additive Rhythmic Signatures

Rhythmic signatures in BP3 use an additive notation derived from Indian musical traditions, richer than the simple Western numerator/denominator.

BP3 Syntax:

4+4+4+4/4

 

This notation means: a 16-beat cycle (4 groups of 4, or 4 vibhāg), where each beat is a quarter note. This is an additive signature — it explicitly states the internal structure of the cycle, unlike “16/4” which says nothing about the groupings. This is exactly the structure of tintāl, the most common tāla in Hindustani music.

[!Note: Additive Signatures and Indian Tālas]

BP3’s additive signatures come directly from Indian music, where tālas (rhythmic cycles) are defined by their internal groupings, not by a simple numerator/denominator:

Tāla BP3 Signature Beats Structure
Tintāl 4+4+4+4/4 16 4 equal vibhāg — the most common
Jhaptāl 2+3+2+3/4 10 Asymmetrical rhythm — unequal groupings
Rūpak 3+2+2/4 7 Short cycle — starts on a weak beat
Ektāl 2+2+2+2+2+2/4 12 6 pairs — long and regular cycle

>
Additive notation makes explicit what Western music often leaves implicit: is 6/8 3+3 (like a siciliana) or 2+2+2 (like a fast minuet)? In Indian music, this ambiguity does not exist — each tāla has a defined internal structure [Bel2001].

This additive approach is also common in Eastern European music (Bartók) and Turkish music (aksak — asymmetrical rhythms like 2+2+2+3).

Why signatures are not just annotations

Additive signatures carry structural information that a simple fraction does not capture:

  • 2+3+2+3/4 (jhaptāl) ≠ 10/4: the internal groupings determine where the accents (tālī and khālī) fall
  • 3+2+2/4 (rūpak) ≠ 7/4: the first vibhāg is 3 beats, not 2 — the cycle is asymmetrical from the start
  • 3+3+2/8 (Turkish aksak) ≠ 8/8: the additive structure is the very reason for the “limping” (aksak) character of the rhythm

From a Chomsky hierarchy perspective, these signatures might require expressive power beyond Type 3 (regular) to be correctly represented — an open question discussed in Paper 1.

4. Ties: extending sound beyond boundaries

Ties are a concept from traditional musical notation, imported into BP3 via I5. A tie connects two notes of the same pitch to make a single, longer note.

BP3 Syntax:

do4 ré4 mi4& &mi4 fa4 sol4

 

mi4& (start of tie) is connected to &mi4 (end of tie). The E continues to sound without re-attack — it lasts two beats instead of one.

Ties primarily appear when importing MusicXML into BP3: when a note crosses a bar line, the importer cuts it in two and inserts a tie. This is a compatibility mechanism with classical notation, not an invention of BP3.


[!Note: Bel and the Rationalization of Musical Time]

BP3’s polymetry was not born from theoretical speculation. In “Rationalizing Musical Time” [Bel2001], Bernard Bel proposes syntactic and symbolic-numeric approaches to represent musical time, directly inspired by Indian classical music. Tālas are not linear measures (as in Western music): they are cycles that rotate, returning to the starting point (sam) with each rotation. This cyclic conception of time — and the compression/stretching ratios it implies — is at the heart of BP3’s polymetry.

This article has had a considerable impact: Alex McLean, creator of TidalCycles (the most widely used live coding language today), cites [Bel2001] in more than 8 publications between 2007 and 2022. Tidal’s cyclic mini-notation descends directly from Bel’s formalization of time [Bel1990b].


Musical Examples

Example 1: Kathak — progressive slowing down

Kathak is a classical dance from North India, accompanied by tabla percussion. A common process is progressive slowing down: playing groups of notes that are increasingly slower within the same time space.

BP3:

{2, dha dhin dhin dha dha dhin dhin dha}{2, dha tin tin ta ta dha}{2, dha dhin dhin dha dha}{2, dha tin tin ta}

 

Each group fits into 2 beats, but contains a decreasing number of bols:

Group Bols Duration per bol Effect
1 8 bols 2/8 = 0.25 Fast
2 6 bols 2/6 = 0.33 Moderate
3 5 bols 2/5 = 0.40 Slowed down
4 4 bols 2/4 = 0.50 Slow

The effect is a structural decelerando: it’s not a slowing of the tempo (the metronome doesn’t change), it’s the density of notes that decreases within a fixed temporal framework. Compression goes from 4:1 (8 bols in 2 beats) to 2:1 (4 bols in 2 beats).

Example 2: Hemiola — 3 against 2

Hemiola (3 against 2 polymetry) is the most common polymetric superposition, present in almost all musical traditions:

BP3:

{Sa Re Ga, dha dhin}

 

 

Time   : |---------|---------|---------|
Sitar   : [Sa    ][Re    ][Ga    ]
Tabla   : [dha        ][dhin       ]

 

The sitar plays 3 notes and the tabla 2 strokes in the same amount of time. Each voice subdivides time in its own way: the sitar in thirds, the tabla in halves. This is a fundamental figure of jugalbandi (duet) in Hindustani music.

Example 3: Tāla jhaptāl — structural asymmetry

Jhaptāl is a 10-beat tāla with an asymmetrical 2+3+2+3 structure, very different from tintāl (4+4+4+4). Here’s how BP3 combines additive signature and polymetry for a complete cycle:

BP3:

2+3+2+3/4 {2, dhin dha}{3, dhin dhin dha}{2, tin ta}{3, dhin dhin dha}

 

The 4 vibhāg have unequal durations (2, 3, 2, 3 beats), and each vibhāg compresses its bols into its own duration. This is exactly what the “10/4” notation could not express: the internal structure of the cycle, with its characteristic asymmetries.


Polymetry and Expressive Power

Polymetry raises an interesting theoretical question: does it add expressive power in the sense of formal languages?

If we only consider the sequences of symbols produced (the notes), a polymetric expression {3, A B C} could be “unfolded” into three notes with adjusted durations — this is a notational convenience, not a gain in generative power.

But if we consider temporal structure as part of the language (not just the symbols but also their temporal relationships), then multi-voice polymetry {A B, C D E} generates two-dimensional structures (two parallel streams) that a purely sequential language cannot express. We move from a string (1D) to a temporal graph (2D).

This question is discussed in more detail in Paper 1 (§6.7, open question #2). The answer depends on what is meant by “language”: if it is a set of strings, polymetry is notational; if it is a set of temporal structures, it is substantial.


Key Takeaways

  • The first field of {field1, field2, ...} is an expression played at the current tempo that sets the duration. A number (e.g., 3) is a shortcut for that many rests (- - -). Subsequent fields compress or stretch to fit within this duration (M/N per element).
  • Multi-voice polymetry ({voice1, voice2}) superimposes independent parallel streams. Each voice subdivides the total time in its own way.
  • Additive signatures (4+4+4+4/4, 2+3+2+3/4) explicitly state the internal structure of rhythmic cycles — a necessity for Indian tālas and aksak rhythms.
  • Ties (note& and &note) come from MusicXML import and extend a note beyond duration boundaries.
  • Polymetry is the central mechanism for formalizing cyclic time in BP3, directly stemming from Bel’s work on Indian music [Bel2001].

Further Reading

  • BP3 Documentation: Bol Processor – Polymetric Expressions
  • Bel, B. (2001). “Rationalizing Musical Time: Syntactic and Symbolic-Numeric Approaches” — the key article on the formalization of musical time, a direct influence on TidalCycles.
  • Bel, B. (1998). “Migrating musical concepts: an overview of the Bol Processor”. Computer Music Journal 22(2).
  • Bel, B. (1990). “Time and musical structures” — first formalization of time in BP, dealing with polymetry and Indian rhythmic cycles.
  • Clayton, M. (2000). Time in Indian Music. Oxford University Press.
  • Prerequisite article: M5
  • Translation to SuperCollider: B7 — how the BP2SC transpiler translates polymetric expressions into playable code.

Glossary

  • Aksak: Turkish term meaning “limping.” Refers to asymmetrical rhythms common in Turkey and the Balkans (e.g., 2+2+2+3).
  • Bol: Mnemonic syllable of the tabla (e.g., dha, dhin, tin, ta). The “Bol” in “Bol Processor.”
  • Temporal compression: Playing more notes than time would normally allow, by shortening each note (M < N). Inverse of stretching.
  • Temporal stretching: Extending notes so they occupy more time than their normal duration (M > N).
  • Hemiola: Polymetry of 3 against 2 (or 2 against 3). The most common case of metric superposition.
  • Jugalbandi: Indian musical duet where two soloists dialogue and superimpose, each with their own subdivision of time.
  • Tie: In musical notation, a connection between two notes of the same pitch to form a single, longer note. Notated note& (start) and &note (end) in BP3.
  • Sam: The first beat of the t��la cycle — the point of resolution. The tihāī aims to “fall on sam.”
  • Sargam: Indian solmization system (Sa Re Ga Ma Pa Dha Ni), equivalent to Western solfège (do re mi fa sol la si).
  • Additive signature: Rhythmic signature that explicitly states internal groupings (e.g., 3+3+2/8 instead of 8/8). Essential for Indian tālas and aksak rhythms.
  • Tāla: Indian rhythmic cycle, defined by its internal groupings (vibhāg). Examples: tintāl (16 beats, 4+4+4+4), jhaptāl (10 beats, 2+3+2+3), rūpak (7 beats, 3+2+2).
  • Tihāī: Indian cadence where a motif is repeated three times to fall on sam (the first beat of the cycle).
  • Vibhāg: Section of a tāla. Tintāl has 4 vibhāg of 4 beats each.
  • Voice: In a polymetric context, an independent stream of notes playing in parallel with other streams.

Prerequisites: M5, B2, B3
Reading time: 10 min
Tags: #polymetry #time #tāla #BP3 #cyclic-time