Consonance, Fluidity, and Temporal Stress

How does one compose microtonal music? We first need notions of consonance and fluidity and temporal stress. Consonance is a vertical/spectral notion of musical goodness - it is a criterion for judging when simultaneously sounded voices will sound pleasing in combination. Fluidity is a horizonal/temporal notion of musical goodness - it tells us which melodic motions are well enough structured to be jointly comprehensible as a connected musical phrase. Temporal stress is the simplest of the three, but can not be neglected. Partly, a notion temporal stress in music will guide our choices of rhythms when composing fluid melodies. More importantly, a notion of temporal stress helps us relate the other two criteria: we design simultaneously sounded fluid voices so that they are in consonance in certain places and dissonance in others, to provide tension and release so that listeners can enjoy following and anticipating a piece.

As a composer, you can choose your own notions of consonance, fluidity, and temporal stress, and then build your own unique works upon those foundations. I'm going to share some notions of consonance, fluidity, and stress here as examples, but these are not are not laws of good composition - they're my own personal conventions - and I hope you all will be blessed to find new foundations on which to build.

:: Consonance

When two intervals or two notes are played or considered as being played simultaneously, the interval between them is a "harmonic" intervals, in constrast to a "melodic" interval that occurs between successively sounded notes. Harmonic intervals can be consonant or dissonant. Some music theorists have proposed further categories - the microtonal composer Blackwood would separately treat consonance, dissonance, and discord - but we'll start with the standard theory. "Harmony" can be used as a synonym for consonance, but I'll try to use it in this text to mean all harmonic relations, i.e. the combination of consonance and dissonance. 

Let's start by considering the rank-2 pentatonic major scale, like the black keys on a piano starting at F# (or Gb). The intervals within an octave are given by 

[P1, M2, M3, P5, M6].

This scale is famously consonant: you can play any two notes of the scale against each other and it won't sound too bad. Indeed, you can play all of the notes at once and get a chord which would not be out of the ordinary in many musical traditions. If we root our scale on C, the chord is Cmaj(add9)(add13). This chord through inversion could also be called Am7(add11) or D9sus4.

The major pentatonic scale as written above tells you what intervals can be sounded against P1, the unison, but we can get some different intervals if we sound two notes that aren't P1. If we sound notes against the octave, P8, then we of course get octave complements as harmonic intervals:

P8 - M6 = m3

P8 - P5 = P4

P8 - M3 = m6

P8 - M2 = m7

So those intervals must also be consonant in some sense. Some of these intervals can also be found between other pentatonic scale intervals:

P5 - M3 = m3

P5 - M2 = P4

M6 - M3 = P4

M9 - M3 = m7

But no new intervals are found that way. If we say that a major pentatonic is consonant, then in a sense we're also accepting all of these intervals 

[P1, M2, m3, M3, P4, P5, m6, M6, m7]

as consonant. This is not to say that you can play all of them at once over P1 and have a nice chord or a nice song. But the intervals must have some consonant use. And if you place it as a constraint on yourself that every harmonic intervals in your music must come from the set of intervals above, or their octave equivalent thereof, then your music will have pentatonic consonance, and this is a fine thing to do.

This procedure of deciding on a consonant space of intervals or pitches is not the same as saying that your song will be restricted to one scale. If you like, your first chord could come from C# minor and your next chord could come from Eb minor. You could wander aimlessly around your interval/pitch space and never establish a key. Consonance doesn't specify the notes of your piece, it just tells you which chords you're going to accept as sounding good. The legendary microtonal composer Ben Johnston once said of a piece that he had no idea how many different notes were in it. Pursuing consonance does not limit you to a scale.

We've seen one notion of consonance now, derived from the rank-2 pentatonic major scale. What other notions are there? How should we decide among them?

I'm sorry to say that the best way to choose a notion of consonance is to use your ear. This is a shame, because I can't teach it: I can't tell you what you like and I can't make you sit down and figure it out.

I have a friend who loves the sound of a certain 11-limit interval, and because she has preferences about the sounds of 11-limit just intonation, she can compose music she likes in 11-limit just intonation. This is how composing should be done: it should accord with your own sensibilities. You the composer might not yet have these sensibilities, but they can be trained. Here are a few tricks:

1) One great trick for developing sensitivity and sensibility and preference to small changes in harmony is to learn to recognize aural "beating", which is a regular apparent change in volume when some notes are sounded against each other. These are periodic interference patterns, and their frequencies can guide you in tuning and recognition of intervals. For example, the Turkish music theorist Ozan Yarman has constructed tempered middle eastern scales that are tuned precisely by adjusting pairs of tones until the desired beat frequencies are heard/achieved. 

If there is any way to find a notion of consonant music without using your own ears, I'd say that it's by using psychoacoustic models of beat perception - to use the general human ear rather than your own ear - and then perhaps try to minimize perceived beating while maintaining some other criterion, so that you don't simply reduce all your music to unison droning.

2) There are other ways to develop familiarity and preference about microtonality. The composer @mannfishh taught me that you can vary the intensity of the spectral component of recorded notes through audio filtering, allowing you to focus your attention on individual harmonics - and once you can hear the 7th harmonic, the 11th harmonic, the 13th, then you can decide for yourself if you like what is going on in those regimes when you compose.

3) If you have a tuner, you can try to recreate specific frequency ratios - take a microtonal instrument like a trombone or cello or human voice or oud, and practice hitting specific landmarks. Or use software and try sliding a virtual slider that controls a synthesizer's pitch.

In addition to reproducing specific intervals, if there's a microtonal song you like, try to learn to play it by ear, or try to transcribe it. Or if you have a microtonal keyboard, see if you can make a 19-EDO version of a 12-EDO song or otherwise mess around with what you already know.

There are lots of ways to build familiarity, but you have to become friendly with the sounds before you can use them well. If you were blessed to be born with perfect pitch, then congratulations on your familiarity - I hope you got microtonal preferences for free too.

:: Poor Man's 5-Limit Consonance

I've got a confession: I'm not a good microtonal composer, I haven't done much ear training, and I have very poor pitch discrimination. I still like to compose microtonal music and I'm going to give you a trick for doing it. It won't give you perfect music of the celestial spheres, and I hope everyone reading this can do better than me. But here's the bar to pass, the minimum viable product, the very least you can do to make 5-limit just intonation music.

The first thing to realize is that we need both 3-limit and 5-limit intervals - it's fairly unavoidable. For example, if you try to compose chords using rank-3 tertian intervals like 

[P1, M3, P5, M7, M9, P11, M13]

you'll see that this implies some 3-limit harmonies like 

M9 - M3 = Grm7

M9 - P5 = Gr5

M9 - M7 = Grm3

P11 - P5 = Grm7

P11 - M7 = Grd5

M13 - M7 = Grm7

There's nothing wrong with this, but it's good to be aware. I once investigated the micro-tuning of diminished 7th chord and was surprised to find that the Pythagorean diminished 7hth chord, made by stacking Grm3 repeatedly, sounded better to my ear than anything that involved 5-limit intervals. All together this chord is spelled

[P1, Grm3, GrGrd5, GrGrGrd7]

in rank-3 intervals, which is simply

[P1, m3, d5, d7]

in rank-2 intervals.

The Pythagorean major scale might be a little wonky compared to the major scale of 5-limit just intonation, but we can't get away from Pythagorean intervals entirely if we want beautiful consonance.

Anyway, I tried lots of things with varying success. The general formula is too look at all the pairwise intervals within a chord. You might require that they all their qualities be major, minor, or perfect, i.e. come from the set [M, m, P]. But if you know you also need Pythagorean intervals, maybe you allow intervals with qualities from the set [M, AcM, m, Grm, P]. This works fairly well. You're not going to get any diminished chords, and certainly not that beautiful Pythagorean diminished 7th chord with the crazy GrGrGrd7 intervals, but you'll get a fairly large and useful chord space to work with.

What I've done most recently is take the rank-2 spellings of chords, like 

m7#11(no 5)

is given by

[P1, m3, m7, A11]

and I just interpret the rank-2 names as rank-3 names. Then I listened to a bunch of chords tuned this way and decided which ones I liked and which ones I didn't. Here's a huge list of chords that I think sound fairly good when tuned this way:

".aug": [P1, M3, A5],

".aug(add13)": [P1, M3, A5, M13],

".aug#11": [P1, M3, A5, A11],

".aug(add11)": [P1, M3, A5, P11],

".aug(add9)": [P1, M3, A5, M9],

".aug(add9)#11": [P1, M3, A5, M9, A11],

".maj": [P1, M3, P5],

".maj(add13)": [P1, M3, P5, M13],

".majb13": [P1, M3, P5, m13],

".maj#11": [P1, M3, P5, A11],

".maj(add11)": [P1, M3, P5, P11],

".maj(add9)": [P1, M3, P5, M9],

".maj(add9)#11": [P1, M3, P5, M9, A11],

".majb9": [P1, M3, P5, m9],

".majb9(add13)": [P1, M3, P5, m9, M13],

".majb9b13": [P1, M3, P5, m9, m13],

".majb9(add11)": [P1, M3, P5, m9, P11],

".maj7": [P1, M3, P5, M7],

".maj7(add13)": [P1, M3, P5, M7, M13],

".maj7b13": [P1, M3, P5, M7, m13],

".maj7#11": [P1, M3, P5, M7, A11],

".maj7(add11)": [P1, M3, P5, M7, P11],

".maj9": [P1, M3, P5, M7, M9],

".maj9(add13)": [P1, M3, P5, M7, M9, M13],

".maj9b13": [P1, M3, P5, M7, M9, m13],

".maj9#11": [P1, M3, P5, M7, M9, A11],

".maj11": [P1, M3, P5, M7, M9, P11],

".maj13": [P1, M3, P5, M7, M9, P11, M13],

".7": [P1, M3, P5, m7],

".7(add13)": [P1, M3, P5, m7, M13],

".7b13": [P1, M3, P5, m7, m13],

".7(add11)": [P1, M3, P5, m7, P11],

".7b9": [P1, M3, P5, m7, m9],

".7b9b13": [P1, M3, P5, m7, m9, m13],

".11b9": [P1, M3, P5, m7, m9, P11],

".7b5b13": [P1, M3, d5, m7, m13],

".7b5(add11)": [P1, M3, d5, m7, P11],

".7b5b9": [P1, M3, d5, m7, m9],

".11b5b9": [P1, M3, d5, m7, m9, P11],

".m": [P1, m3, P5],

".m(add13)": [P1, m3, P5, M13],

".mb13": [P1, m3, P5, m13],

".m#11": [P1, m3, P5, A11],

".m(add11)": [P1, m3, P5, P11],

".m(add9)": [P1, m3, P5, M9],

".m(add9)#11": [P1, m3, P5, M9, A11],

".mb9": [P1, m3, P5, m9],

".mb9(add13)": [P1, m3, P5, m9, M13],

".mb9b13": [P1, m3, P5, m9, m13],

".mb9(add11)": [P1, m3, P5, m9, P11],

".m7": [P1, m3, P5, m7],

".m7(add13)": [P1, m3, P5, m7, M13],

".m7b13": [P1, m3, P5, m7, m13],

".m7(add11)": [P1, m3, P5, m7, P11],

".m7b9": [P1, m3, P5, m7, m9],

".m7b9(add13)": [P1, m3, P5, m7, m9, M13],

".m7b9b13": [P1, m3, P5, m7, m9, m13],

".m11b9": [P1, m3, P5, m7, m9, P11],

".dim": [P1, m3, d5],

".dim(add13)": [P1, m3, d5, M13],

".dimb13": [P1, m3, d5, m13],

".dim#11": [P1, m3, d5, A11],

".dim(add11)": [P1, m3, d5, P11],

".dim(add9)": [P1, m3, d5, M9],

".dimb9": [P1, m3, d5, m9],

".dimb9(add13)": [P1, m3, d5, m9, M13],

".dimb9(add11)": [P1, m3, d5, m9, P11],

".m7b5": [P1, m3, d5, m7],

".m7b5b13": [P1, m3, d5, m7, m13],

".m7b5(add11)": [P1, m3, d5, m7, P11],

".m7b5b9": [P1, m3, d5, m7, m9],

".m7b5b9b13": [P1, m3, d5, m7, m9, m13],

".m11b5b9": [P1, m3, d5, m7, m9, P11],

".aug#11(no 3)": [P1, A5, A11],

".maj#11(no 5)": [P1, M3, A11],

".maj7#11(no 5)": [P1, M3, M7, A11],

".maj9#11(no 5)": [P1, M3, M7, M9, A11],

".maj13(no 5)": [P1, M3, M7, M9, P11, M13],

".maj11(no 5)": [P1, M3, M7, M9, P11],

".maj9b13(no 5)": [P1, M3, M7, M9, m13],

".maj9(no 5)": [P1, M3, M7, M9],

".maj7b13(no 5)": [P1, M3, M7, m13],

".maj7(no 5)": [P1, M3, M7],

".majb13(no 5)": [P1, M3, m13],

".7#11(no 5)": [P1, M3, m7, A11],

".7b13(no 5)": [P1, M3, m7, m13],

".11b9(no 5)": [P1, M3, m7, m9, P11],

".7b9b13(no 5)": [P1, M3, m7, m9, m13],

".7b9(no 5)": [P1, M3, m7, m9],

".7(no 5)": [P1, M3, m7],

".majb9b13(no 5)": [P1, M3, m9, m13],

".majb9(no 5)": [P1, M3, m9],

".maj(no 5)": [P1, M3],

".5#11(no 3)": [P1, P5, A11],

".maj7#11(no 3)": [P1, P5, M7, A11],

".maj9#11(no 3)": [P1, P5, M7, M9, A11],

".maj13(no 3)": [P1, P5, M7, M9, P11, M13],

".maj11(no 3)": [P1, P5, M7, M9, P11],

".maj9b13(no 3)": [P1, P5, M7, M9, m13],

".maj9(no 3)": [P1, P5, M7, M9],

".maj7b13(no 3)": [P1, P5, M7, m13],

".maj7(no 3)": [P1, P5, M7],

".5b13(no 3)": [P1, P5, m13],

".7#11(no 3)": [P1, P5, m7, A11],

".7b13(no 3)": [P1, P5, m7, m13],

".13b9(no 3)": [P1, P5, m7, m9, P11, M13],

".11b9(no 3)": [P1, P5, m7, m9, P11],

".7b9b13(no 3)": [P1, P5, m7, m9, m13],

".7b9(no 3)": [P1, P5, m7, m9],

".7(no 3)": [P1, P5, m7],

".5b9(no 3)": [P1, P5, m9],

".5": [P1, P5],

".dim#11(no 3)": [P1, d5, A11],

".dimb13(no 3)": [P1, d5, m13],

".7b5b13(no 3)": [P1, d5, m7, m13],

".11b5b9(no 3)": [P1, d5, m7, m9, P11],

".7b5b9b13(no 3)": [P1, d5, m7, m9, m13],

".7b5b9(no 3)": [P1, d5, m7, m9],

".7b5(no 3)": [P1, d5, m7],

".dimb9(no 3)": [P1, d5, m9],

".m#11(no 5)": [P1, m3, A11],

".mb13(no 5)": [P1, m3, m13],

".m7#11(no 5)": [P1, m3, m7, A11],

".m7b13(no 5)": [P1, m3, m7, m13],

".m11b9(no 5)": [P1, m3, m7, m9, P11],

".m7b9b13(no 5)": [P1, m3, m7, m9, m13],

".m7b9(no 5)": [P1, m3, m7, m9],

".m7(no 5)": [P1, m3, m7],

".mb9b13(no 5)": [P1, m3, m9, m13],

".mb9(no 5)": [P1, m3, m9],

".augb13": [P1, M3, A5, m13],

".augb9": [P1, M3, A5, m9],

".7": [P1, M3, P5, m7],

".7b5": [P1, M3, d5, m7],

".9(no 5)": [P1, M3, m7, M9],

".9(no 3)": [P1, P5, m7, M9],

".m9(no 5)": [P1, m3, m7, M9],


If you like the augmented sixth chords of classical music, I've got those written out for you in tertian spellings too:

".maj#13": [P1, M3, P5, A13], # German augmented sixth chord

".maj#11#13(no 5)": [P1, M3, A11, A13], # French augmented sixth chord

".maj#13(no 5)": [P1, M3, A13],  # Italian augmented sixth chord

Anyway, when I compose, if I want a consonance on a beat, I just require that the voices form one of the chords above - or at least a voicing of a chord from above, the harmony doesn't have to be in closed root position.

I'm not particularly proud of this. A random passerby might have some difficulty distinguishing my music from 12-TET. Doing this didn't require familiarity with the intricacies of harmony at a degree of precision below, oh, 15 to 20 cents. I haven't minimized dissonant beating in my chords, I can't recognize the seventh harmonic of a tuba, and I can't sing you the difference between M2 and AcM2.

I'm also not particularly ashamed of this. I found a consonant chord space which I like that uses just intervals, and with it I can compose consonant music in 5-limit just intonation. Is there room for improvement? Of course. But I still think I've advanced the art of composing 5-limit just intonation beyond "do what you think sounds good"; I have shown you some of what I think sounds good. I hope you can show me what you think sounds good too; I'm not even positive what the best tuning of the dominant 7th chord is. There is so much work to be done. If you have a good ear, or the patience to improve your ear, I hope you'll let me know what works for you and what doesn't. And I'll keep working too and keep writing about what I find. Deal?

:: Fluidity

The basic idea of fluidity is that melodies should be singable. This is part of what makes our music human: a melody isn't just a thing to be heard, it's a thing we shold enjoy performing, whether to yourself, or with you friends or family or strangers. Melodies should be part of our oral traditions. Also, melodies that take cues from the constraints of the human vocal apparatus tend to be prettier: they shouldn't jump around too widely, for sure. Perhaps they shouldn't go too low or too high. Perhaps they shouldn't move by very unusual intervals. That's the qualitative core of fluidity. Here's how I usually formalize and quantify it when composing in 5-limit just intonation. 

First, you have a set of fluid intervals that by which you can move melodically. I tend to use a combination of the chromatic Pythagorean scale and chormatic Just scale, ignoring tritones:  

[P1, Grm2, m2, M2, AcM2, Grm3, m3, M3, AcM3, P4, P5, Grm6, m6, M6, AcM6, P8]

You can move up or down by any of these, so the full set of fluent intervals rightly includes the inverses of these listed interval, which would have non-positive ordinals. Lots of music theorists would tell you that this list is too large, especially at the high end, and indeed when I generate melodies, I use a smaller set of more conservative steps, almost never exceeding P5. However, when I verify the fluidity of my generated melodies, then I use this full set, and I think that's fine. You can mostly be reserved while admitting that something flamboyant is allowed on special occasions.

Second, to ensure fluidity, one must always follow a melodic leap larger than P4 by a step-wise melodic interval in the opposite direction. My motivation for including this comes from Baroque counterpoint, which might seem a little odd if you don't know me, but it's a fine rule to limit melodies from jumping all over the place. When I compose in 5-limit just intonation, a "step" means a fluent second interval, i.e. one of these: 

[Grm2, m2, M2, AcM2]. 

If you leap up by P4 or more, you have to step back down. If you leap down by P4, you have to step back up. This is sometimes called called recovering the motion.

Third, each voice should have a well defined and fairly limited vocal range. I like to limit voice ranges to a M10 or so. When composing for four voices, I often use ranges like these:

bass_range = (P1 or P1 - M3, M10)

tenor_range = (P5, M14)

alto_range = (M9, P19)

soprano_range = (M13, M20 or M23)

That's all there is to fluidity for me: 1) Move by normal intervals, usually small ones, 2) Recover from your leaps by a step in the opposite direction, and 3) Don't exceed a M10 or so in range, unless maybe you're the bass, and then you get to bounce around a little more than most.

They're not hard rules to follow, and like with the rules of consonance, they don't limit you to performing within a fixed diatonic key or even a chromatic set of pitches. We can adhere to these rules and still get to some crazy microtonal intervals if that's where fluidity and consonance lead us.

:: Temporal Stress

Most music is organized into groups of beats called measures. Most music also just uses the same numbers of beats throughout the song for all the measures. Pretty boring, but that's what humans like, I guess. And of course it's even more boring than that; most western music at least is in the 4/4 time signature. In 4/4, we usually consider beats 1 and 3 to be strong, and we're more likely to put consonances there, while we consider beats 2 and 4 to be weaker, and we're more likely to put dissonances there, if anywhere. 

In Baroque counterpoint, if you want a dissonance on a strong beat, it has to be prepared and resolved methodically - you start with a consonance prior to the strong beat, then one of the notes is carried/tied forward through a chord change (i.e. the note is suspended) where it now becomes dissonant with another chord tone, then finally the tied note moves down by a step to be consonant again. I think that's a lot of protocol, and perhaps it's too restrictive, but anyone who wants to compose well should practice the protocol a lot and become familiar with the idiom. We must learn the rules before we break them. For now, I'm going to talk as though all strong beat dissonances must be prepared by suspension and resolved by downward step.

Anyway, strong beats generally tell us where to put consonances when we write polyphonic music, and if we want to put dissonances there instead, then we need to prepare and resolve them specially on surrounding beats.

What if you don't compose in 4/4? Where are the strong beats? Here's my rule of thumb for time signatures with an integer numerator and a 4 for the denominator. Let's use 1 to represent a strong beat and 0 to represent a weak beat. Then we have three base cases: A one-beat measure is just a strong beat: 

[1]

A two-beat measure has a strong beat and then a weak beat:

[1, 0]

And a three-beat measure goes strong, weak, weak:

[1, 0, 0].

Everything else derives from these three base cases by subdivision. If you have an even numerator like 12, then you break your measure into even portions, like 6 beats and 6 beats. We could call that 

{n/2, n/2}.

If you have an odd numerator, like 13, then you break your measure into nearly equal parts, with the larger part coming first, like 7 and 6. We could call that 

{(n + 1) / 2, (n - 1) / 2)}.

Easy. Now just keep recursively dividing things till you get down to your base cases. Here are a few examples:

1/4: [1]

2/4: [1, 0]

3/4: [1, 0, 0]

4/4: [1, 0, 1, 0]

5/4: [1, 0, 0, 1, 0]

6/4: [1, 0, 0, 1, 0, 0]

7/4: [1, 0, 1, 0, 1, 0, 0]

8/4: [1, 0, 1, 0, 1, 0, 1, 0]

9/4: [1, 0, 0, 1, 0, 1, 0, 1, 0]

10/4: [1, 0, 0, 1, 0, 1, 0, 0, 1, 0]

11/4: [1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0]

12/4: [1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0]

13/4: [1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0]

14/4: [1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0]

15/4: [1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0]

16/4: [1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]

17/4: [1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]

18/4: [1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0]

19/4: [1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0]

You might ask, "What about time signatures with other denominators, like 2/2 or 7/8"? I have never known what those are useful for. It just seems to me like a needless change of notation. I've heard people say that they are indeed different and 3/4 does feel different and should be played different from 6/8. If so, then presumably 6/8 has a different stress pattern, but I don't know what it is. Perhaps one of you can specify a function to tell me what it is.

And that's it. These three principles are the core of composing. Write singable melodies, know what kind of harmonies sound good to you, and know where you want the harmonies to be especially consonant, or at least dissonant with preparation and resolution.

There are other guidelines and principles to musical composition of course. This is just the first of several chapters on composition. But if you want to pioneer a new music, one that resonates particularly with your soul, I recommend that you consider some expression of these three principles as your foundation before shaping the rest. Maybe you have a notion of consonance that is purely in frequency space and not intervallic. Maybe you consider any small interval to be melodically fluent. Maybe your rhythms aren't even rational. Maybe you decide that you benefit from having more harmonic categories than consonance and dissonance. I don't know what the next step of generalization is in the art, but I'm here to show you the steps that I've taken.