Menu

Polymeter Techniques

Chris Korda

Polymeter is the use of two or more meters simultaneously within a single piece of music. Meters are typically expressed as fractions, for example 4/4 and 3/4, the two most common meters in Western music. The bottom number (denominator) is the unit, expressed as a subdivision of a whole note, e.g. 4 for a quarter note, 8 for an eighth note, and so on. The top number (numerator) is the number of these units per measure. The most common form of polymeter is three against four, which looks like this:

123412341234
123123123123

Combining three and four is so common that for our purposes it barely counts as polymeter. In the more advanced type of polymeter we’re exploring here, the meters share the same unit and have differing numerators which are greater than four and relatively prime (i.e. have no common factors other than one). For example if we combine five and seven, the seven pattern “slips” relative to the five pattern, and lines back up again after exactly 35 units (5 × 7). This is shown below:

12345123451234512345123451234512345
12345671234567123456712345671234567

It’s possible to combine meters that have different units, but it’s helpful to defer such cases until later. For now, we’ll focus on the simplest case, in which all the meters share the same unit: a sixteenth note. This lets us ignore the denominator, and consider only the numerator. Instead of meters, we can talk about track lengths. Think of a track as being an array of steps, looping over and over, as in a drum machine or step sequencer. The steps are all the same size, like squares on a piece of graph paper. The only variable we’re concerned with is how many steps each track has, i.e. its track length.

If a bunch of tracks all have different lengths, and the lengths are also prime, we can calculate how long it will take for the combined pattern to repeat by simply multiplying all the lengths together. So for example if we combine 5 and 7 with 3, the repeat time increases to 105 (3 × 5 × 7). Combining more and bigger primes will result in much longer repeat times, e.g. combining just the first ten primes gives repeat times in the billions. Technically, as we add more prime lengths, our composition gets bigger in “phase space.” That’s a fancy concept borrowed from the terminology of fractals, but it’s easier to just say that the repeat time gets longer. The combining of three or more prime track lengths will be referred to herein as “complex polymeter.”

The important consideration when combining different lengths is actually not whether they’re prime, but whether they have the same Greatest Prime Factor (GPF). For example combining the lengths 10 and 15 isn’t interesting, because 10 and 15 are both divisible by five, i.e. they share the same GPF. In comparison, combining 10 and 14 is interesting, because they have different GPFs. Another way to think about this is that each prime number has an extended family, consisting of all its integer multiples. Using this analogy, 10 is a member of the 5 family, whereas 14 is a member of the 7 family, so combining 10 and 14 will be just as interesting as combining 5 and 7. For brevity, we will use the term polymeter to mean the combination of lengths that belong to different prime “families.”

When different track lengths are combined, the tracks gradually slip apart (diverge) and then slip back together (converge), in a precise, deterministic way. Another way of saying the same thing is that the tracks drift out of, and back into phase. This “slipping” or “drifting” (properly called phase shift) generates interference patterns, similar to Moiré patterns, as seen e.g. when two window screens are placed one in front of the other and rotated relative to each other. Interference is a rich source of nonrandom variation, which can be used to embellish a theme. The effect is similar to iterating through the various permutations of a pattern, as composers and instrumentalists often do.

Juxtaposition

The most basic form of polymeter consists of tracks of different lengths outputting notes, perhaps on different instruments. This is easily visualized in the context of a drum machine. For example we could have a bass drum pattern with a length of 4, a cymbal pattern with a length of 5, and a snare pattern with a length of 7. The combined pattern would repeat every 140 steps (4 × 5 × 7).

So far we’ve only considered the lengths of the tracks, but the result depends just as much on their contents, i.e. what pattern each of the tracks contains. For a polymeter sequencer to be useful, it must make it easy to edit not only the lengths, but also the contents, while the tracks are looping.

Tracks can contain other types of data besides notes, such as continuous controllers, pitch bend, patch changes, and so on. For example, you could have a synthesizer part in 5, juxtaposed with a controller track in 7 that changes one of the synthesizer’s parameters. This approach “scales,” in the sense that as additional parameters are automated by other polymeter tracks, the synth’s behavior becomes more complex and potentially more interesting.

Modulation

Besides juxtaposition, the other important method of combining polymeter tracks is modulation, in which a track of one length modulates (varies) some property of another track having a different length. The track that does the modulating is called the modulator or “source,” whereas the track that’s being modulated is called the target or “sink.” There are many types of polymeter modulation, as explained below. But before we get to that, it’s helpful to explain what they all have in common.

In the following sections, we’ll assume the target track contains notes. The target track could just as easily contain controller events, but it simplifies the explanation to just focus on notes for now. It’s also assumed that consecutive steps of a note track can be “tied” together, in order to make notes with durations longer than one step.

For all modulation types, the relationship between source and target tracks can be any of the following:

One to one: A single source modulating a single target.
One to many: A single source modulating multiple targets.
Many to one: Multiple sources modulating a single target.
Many to many: Multiple sources modulating multiple targets.

In the above relationships, the modulations don’t necessarily have to be all of the same type. For example a note track could have its mute state modulated by one source track, and its note modulated by a different source track.

Recursive relationships are also possible, for example, a modulator can modulate a modulator. There are some limits on this which will be explained later. The only thing that’s definitely not allowed is a track modulating itself, either directly, or indirectly via a loop. This would lead to infinite recursion, which is a Bad Thing.

Audio versus events

There are two distinct spaces within which music is typically created and edited: audio space, and event space. The difference between them is analogous to the difference between a pixel-based image editor (e.g. Photoshop) and a vector-based drawing program (e.g. Illustrator). One big difference is that pixelated images inherently limit magnification, meaning you can only zoom in so far before the resolution becomes too coarse, whereas vector images let you zoom in as far as you like without loss of precision. There are many other differences, but the point is that a given operation can be trivial in one space, but problematic or impossible in the other.

Audio space generally works with samples (the musical equivalent of pixels), whereas event space works with notes and control changes (the musical equivalent of vectors). Many musically useful operations are much easier in event space. For example, muting a track in audio space cuts off any notes that are currently playing from that track, whereas in event space, muting a track only affects notes that haven’t played yet, i.e. any notes that are already in progress continue to play until their durations finish. We can say that muting is “lossy” in audio space, but “lossless” in event space. All of the operations described herein are in event space only unless stated otherwise.

Divide and conquer

Any reasonably complex system includes many variables, AKA “degrees of freedom.” An independent variable is one you can change without affecting any other variables in the system. For example, in a mixer, the bass and treble are usually independent, meaning you can vary the amount of bass without affecting the treble, and vice versa.

It’s helpful to divide the process of composing music into a series of independent variables, because doing so lets us handle the variables one at a time, using different methods for each. For example the process of writing a melody can be divided into at least two independent variables: the rhythm, and the pitches. We could compose a rhythm first, and apply pitches to the rhythm later. Or if we prefer, we could compose the pitches first, and apply them to a rhythm later. Either way, we have more flexibility than would be the case if everything had to be done at once.

Because the modulation types described here are all independent variables, they’re all suitable for this “divide and conquer” technique of isolating the various aspects of composing and approaching them separately.

Mute modulation

In mute modulation, one track mutes another. The effect is similar to manually muting and unmuting a track in some predictable pattern, except that it’s automated. As the target track loops, each step is processed sequentially. If that step contains the start of a note, the corresponding step in the modulator track is examined, and if it’s zero, the note is played, otherwise the note isn’t played. In other words, the modulator track’s step is interpreted as a mute switch for the target track. In the example below, a note track with a length of 5 is muted by a modulator track with a length of 7. Since the pattern repeats after 35 steps (5 × 7), only 35 steps are shown.

01001   note track
0001111 mute track

01001010010100101001010010100101001 note track
00011110001111000111100011110001111 mute track
-----------------------------------
00001010000100000001000010100001001 output

A modulator can mute multiple targets, all potentially having different lengths. The reverse is also true: a target can be muted by multiple sources, all potentially having different lengths. In the latter case, the mute sources are combined according to a simple rule: if any one of the mute sources signals mute, the target is muted. Fans of electronics or computer science will recognize this operation from Boolean logic, in which it’s called OR.

The patterns that result from juxtaposed polymeter tracks can become unpleasantly relentless. This is particularly true if the tracks being juxtaposed are dense, i.e. contain little empty space. Mute modulation directly addresses this problem. Periodically muting a group of juxtaposed tracks chills them out, adding more space to the composition. The process is analogous to a stencil. The underlying pattern can be busy, but if we see it only through the holes in the stencil, there’s still enough space overall.

The balance between repetition and surprise is one of the fundamental axes of music composition, and mute modulation is a powerful tool for adjusting this balance. If many polymeter tracks are juxtaposed, the result can be excessively chaotic (too much surprise), but by periodically muting the tracks with a simpler rhythm, the result becomes more predictable.

Mute modulation can be used to create repeating “windows” of time. The target tracks play only within their time window, leaving a periodic free space or “hole” in the composition. The hole can be left empty, or occupied by something else, e.g. a different group of target tracks, mute modulated by the opposite pattern. This leads to “call and answer” effects. This method isn’t limited to just alternating between two groups, for example one could alternate between three or more groups, or partially overlap the groups instead of strictly alternating between them.

Note modulation

In note modulation, a track’s note is altered by one or more polymeter tracks. A note modulator track is interpreted as an array of signed offsets (in semitones), which are added to the target track’s default note. For example, suppose the target track has a default note of C. If the corresponding step in the note modulator track contains zero, C is output as usual. But if the modulator step contains 3, the target track outputs Eb instead, because C + 3 semitones = Eb.

If a target track has multiple note modulators, they’re summed. This means that a pair of note modulations can potentially cancel each other out, for example if one modulator produces 3 and the other produces −3, the net offset is zero, and the target note remains unchanged.

Here’s an example of note modulation, using two modulator tracks. To keep the example short, the target track is assumed to have a length of only one step, but the result would be more interesting if the target track were longer and contained a rhythmic pattern. The target track in this case has a default note of D.

00222   modulator #1
0003333 modulator #2

00222002220022200222002220022200222 modulator #1
00033330003333000333300033330003333 modulator #2
-----------------------------------
00255332223355200555302253352203555 summed offset
DDEGGFFEEEFFGGEDDGGGFDEEGFFGEEDFGGG output note

In the above example, changing either of the modulator tracks would change the melody, regardless of the target track’s rhythm. The values chosen for this example produce a subset of the major scale, which is relatively consonant. Many other values could have been chosen instead, some of which would generate more dissonant melodies. It’s often useful to know what notes a given set of note modulators will produce, and whether those notes form a subset of any common scales. For details, see the Table of Addends and Their Associated Pitch Sets.

When many note offsets are summed, the resulting pitch can potentially cover a large range. This can be addressed by limiting the output to an octave. For more on this, see Range modulation below.

Velocity modulation

In velocity modulation, a track’s note velocities are altered by one or more modulator tracks. A velocity modulator track is interpreted as an array of signed offsets, which are added to the note velocities. If a target track has multiple velocity modulators, they’re summed. The offset is prevented from being less than zero, and if the offset becomes too large the velocity clips, but otherwise the target’s original dynamics are preserved.

It’s interesting to combine velocity modulations that operate on different time scales, for example a longer modulator that applies a gradual crescendo could be combined with a shorter modulator that applies “ripple” to the velocities.

Duration modulation

In duration modulation, a track’s note durations are altered by one or more modulator tracks. A duration modulator track is interpreted as an array of signed offsets (in MIDI ticks), which are added to the note durations. If a target track has multiple duration modulators, they’re summed. The duration is prevented from being less than one.

Decreasing the duration causes the notes become more staccato and percussive, whereas increasing it causes the notes to become more legato and potentially overlapped. Duration modulation is more effective if the output instrument has a rapid attack and decay.

Range modulation

In range modulation, a track’s notes are transposed by one or more octaves as needed to keep them within a specified range. The size of the range is typically one octave, though other sizes are possible. The start note of the range is variable, and can be altered by one or more modulator tracks. A range modulator track is interpreted as an array of signed offsets, which are added to the range start note. If a target track has multiple range modulators, they’re summed.

Because the transposition is by octaves only, the notes remain in the same scale and key; only their octaves are affected. If several tracks forming a chord are range modulated together, the chord cycles through its possible inversions.

Position modulation

In position modulation, a track’s contents are rotated left or right by one or more steps. Rotation is similar to shifting, except that it’s lossless, because any shifted elements that “fall off” one side wrap around to the other side. For example rotating the pattern 12345 right by two steps gives the pattern 45123, because the 4 and 5 fall off the right side and wrap around to the left.

A position modulator track is interpreted as an array of signed offsets (in steps), which determine the amount of rotation. A positive value rotates to the right (later in time), a negative value rotates to the left (earlier in time), and a rotation of zero steps has no effect. If a target track has multiple position modulators, they’re summed.

Position modulation is a powerful technique for generating variations. It has a downside however, which is that it can easily cause multiple overlapping instances of the exact same pitch on the same instrument. On some instruments this can produce undesired artifacts, such as notes being cut off prematurely. For this reason, a polymeter composition software should include an option to detect and prevent note overlaps.

Tempo modulation

In tempo modulation, the tempo of the entire composition is altered by one or more modulator tracks. More precisely, the modulator track sets the direction and strength of a percentage change to the tempo. The tempo modulator’s steps are interpreted as signed integers, ranging from −N to +N. These are numerators of a fraction, the denominator of which is N. The tempo percentage is then raised to this fractional power. For example, let’s assume the tempo percentage is 100% and N is 64:

Mod Tempo %
+64 200 (twice as fast)
+32 183
0 100 (no effect)
−32 141
−64 50 (half as fast)

The above mapping is similar to the pitch bend wheel on a synthesizer, in that it provides linear control over a logarithmic property. Tempo is inherently logarithmic, but linear parameters are much easier to work with.

Offset modulation

Length modulation


Related

Wiki: Home

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.