-----------------------------------------------------------------
2008.04.24
~ Progression Strength ~
The harmonic strength of a progression between two chords can be
measured by the sum of the Tenney-weighted harmonic distances
between pairs of changing tones in the progression, arranged so
that this sum is minimal.
For a progression of the form
chordA->chordB
the "changing tones" are any pitches not occurring in both
chords. They are placed into pairs of the form
pitchA<->pitchB
where pitchA occurs in chordA but not chordB, and pitchB occurs
in chordB but not chordA. Any changing tones that cannot be
paired this way are discarded (e.g. the progression C7->CM has
zero strength, since Bb is discarded and there are no other
changing tones).
The Tenney-weighted harmonic distance between a pair of pitches
in just intonation is
log2(TenneyHeight(pitchA\pitchB)) Eq.1
where the \ operator is understood to be division such that the
greater of the operands is the numerator, and
TenneyHeight(p/q) = p*q
for a ratio p/q in lowest terms.
Tempered pitches are identified by their approximations to just
intonation. The strength of a progression is assumed to be
uniformly weakened according to the error of the temperament.
In the example CM->Cmin, the changing pitches are E<->Eb, which
are approximately 5/4<->6/5 in just intonation.
5/4 \ 6/5 = 25/24
log2(25*24) = 9.23
Compare this to CM->Amin, where log2(10*9) = 6.49.
If there is more than one pair of changing pitches, we take the
sum of their distances. If there is more than one way to pair
the changing pitches, we test all pairings and use the one giving
the least sum.
To determine whether CM->GM or CM->EM is the stronger
progression, we have
C<->D + E<->B = 8.75 for CM->GM
and
G<->B + C<->G# = 12.97 for CM->EM
This method should be completely general with respect to harmonic
limit (e.g. 7-limit, 11-limit, etc.) and would even claim to
measure the strength of progressions between chords of different
sizes (triads, tetrads, etc.) on the same scale.
~ Voice Leading ~
If we replace Eq.1 in the above with
|log2(pitchA)-log2(pitchB)| * 1200 Eq.2
we obtain instead the 'voice leading distance' of a progression.
The units are cents, and pitchA and pitchB no longer have to be
identified in just intonation. As before, if there is more than
one way to pair the changing pitches, we find the pairing
resulting in the minimal sum.
~ Regime for Generating Chord Progressions ~
1. Find all p-limit n-ads.
2. Find all pairs (2-combinations) of the chords from step 1.
3. Calculate the progression strength and voice leading distance
for each of the pairs from step 2.
4. Sort the chord pairs from step 2 by increasing voice leading
distance, and keep only the top m pairs.
5. Divide the pairs from step 4 into two groups of equal size
around their median progression strength.
6. Construct chord progressions by joining progression pairs to
form longer sequences, e.g. C->G + G->F = C->G->F.
7. Step 6 can be completed using only chord pairs from the high
progression strength group, or only from the low progression
strength group, or by alternating between the two groups, etc.
-Carl