Inventing Chords

Hugo Riemann came up with some pretty complicated ideas, which one might simplify to some form of functional harmony (the I-IV-V-I progression) or a means to get around the circle of fifths, descending (I-IV-VII-III-VI-II-V-I). I here is the Tonic (T), V the Dominant (D), and IV the pre-dominant (PD) though some label this with S instead. One complication is that other chords can stand in, so III if you squint at it might be a Tonic, or possibly a Dominant, as it shares tones with those chords.

    $ vov --natural I      
    c e g
    $ vov --natural III
    e g b
    $ vov --natural V  
    g b d

One path to explore is what other chords can stand in for others and also work. Schoenberg has a claim somewhere that any chord can move to any other chord, which may not be enough guidance in the sea of harmony (or really a graph). So one might fix the Tonic and Dominant, and try to find other chords that work for the pre-dominant function, or the thing that, optionally, is found between the Tonic and Dominant. That is, we want something besides II or IV that acts like it belongs there.

    $ vov --natural --transpose=a --mode=minor I II6 IV V
    a c e
    d f b
    d f a
    e g b

III is out as that will likely sound like an extension of the Tonic or Dominant, and VII is likely excluded as a variant of the Dominant. By elimination, this leaves VI (there being only seven scale degrees here), which in a minor scale (or the a minor scale) has the nice property of having a downwards leading tone to the Dominant scale degree, or F to E in A minor.

    $ vov --natural --transpose=a --mode=minor VI V       
    f a c
    e g b

However VI is a major chord, unlike the natural IV (minor) or II (diminished, so often seen in the first inversion, especially in way old music). Therefore we might try F-A♭-C which is borrowed from who knows where. C-minor, maybe?

    $ vov --flats --transpose=a --mode=minor i vi v
    a c e
    f aes c
    e g b

The melodically inclined might notice the potential for an A-A♭-G descending chromatic line, though do note that some composers frown, for the most part, on doubling the 3rd of a chord, so we could only use one A-flat and one G in the second and third chords, leaving only A and E for the other voices in the first chord, for example. This doubling restriction tends to be relaxed when the 3rd degree of the chord is something important such as the Tonic or Dominant of the key currently in play.

    I   C E G C - 1st or 5th fine to double
    I   C E G G - 1st or here 5th fine to double
    III E G B G - doubling of 3rd degree probably okay, as is Dominant
    IV  F A C A - doubling of 3rd probably not okay

At this point I usually fiddle around on some staff paper, though a DAW or a piano or whatever should also work, or will become necessary if you have no idea what written notes sound like (I don't).

One method is to voice the first chord somehow, then to move to the next chord moving the notes as little as possible. Larger leaps, if necessary, will work better in lower voices, or some musical styles do leap around a lot.

    #!/usr/bin/env perl
    use 5.38.0;

    # By voice, or horizontal. Verticals are more typical these days. Also
    # note that there are two different and conflicting notions of what
    # pitch "C4" corresponds to.
    my @soprano = qw(A5 Af5 G5 A5);
    my @alto    = qw(E5 F5  E5 E5);
    my @tenor   = qw(C5 C5  D5 C5);
    my @bass    = qw(A4 F4  B4 A4);

    use MIDI::Simple;
    new_score;
    noop 'f';
    while (@soprano) {
        n qn => pop @soprano, pop @alto, pop @tenor, pop @bass;
    }
    write_score 'first.midi';

This first effort is not very good? There is a tritone leap in the bass, and the chromatic descent is in the most notable voice (the Soprano). It may be necessary to hide chromatics in an inner voice (that is, the Tenor or Alto). The Dominant chord stands out too much, at least to my ear. Try out a few different variations. These can be made by changing the chord voicings (more open, more closed) or by moving voices around, like if you end up with a good melody in the Tenor and want to have that as the Soprano. A second attempt moves to IV before the altered VI chord, and extends the sequence a bit.

    #!/usr/bin/env perl
    use 5.38.0;
    use MIDI::Simple;
    new_score;
    noop 'f';
    while (readline *DATA) {
        n qn => split;
    }
    write_score 'second.midi';
    __DATA__
    A4 A5 C6 E6
    D5 A5 D6 F6
    C5 Af5 C6 F6
    E4 G5 B5 E6
    G4 G5 B5 D6
    B4 G5 B5 E6
    A4 A5 C6 E6

I guess this works?

P.S. No chord was invented, rather some chord progressions (also not invented) were actualized.