How to Program Realistic MIDI Chord Progressions

Today on 3-Minute Theory: How to make your programmed MIDI chord progressions sound like a real live human played them on a real live instrument.

The first thing we need to do is understand what makes something sound programmed, and what makes something sound realistic and live. The main difference is fluidity. Computers and robots do things mechanically; humans do things fluidly. We have a much more fluid result from an instrument when there’s a human playing it. So, I’m going to show you how to hack fluidity, and make your programmed MIDI chord progressions sound like a human played them.

Here’s our chord progression that we previously wrote using the white-note hack in D Dorian: Dm → Am → Em → Gmaj. By the way, if you didn’t watch the videos before this one in the series, please check ‘em out so you can learn the hacks we used to make this chord progression look and sound like this:

Figure 1: A well-composed chord progression in every way, but it could certainly sound more realistic than it does

When producers program MIDI chords they often draw them in with their mouse straight into their DAW’s piano roll, resulting in block chords, where all the notes of the chord are played together at the same time. This is exactly what makes their chord progressions sound programmed and robotic. We’re going to inject some fluidity now, with this arpeggio hack. Arpeggios are broken chords, so instead of playing all the notes of the chord at the same time, you play them one at a time. For example, you can hit the chord’s bottom note first, then the middle note, and then finish the arpeggio with the top note. You still get the same chord, just one note at a time, so it sounds melodic.

Arpeggios give us a melodic approach to harmony, which is awesome, but the one downside is that when you play a chord one note at a time, you lose the impact of a block chord where all the notes hit together. So what you want to do, is find a balance between block chords and arpeggios.

For this chord progression, I’m definitely hearing a strong start, so we’ll begin with a block chord but then we can break it up into an arpeggio afterwards. I’m going to split the Dm, so the first part of the chord can be the block, and the second part can be the arpeggio. For the arpeggio, we can start on the low note, then move to the middle note, and finish on the high note. As you’ll notice, that’s already given us a little motif: a block chord followed by an arpeggio, is something we can do again on the other chords.

Figure 2: Dm block chord followed by Dm arpeggio, creating a motif that we can reuse over the other chords

So, we can go ahead and split each chord up, as we know that they’ll all be starting with a block chord followed by an arpeggio.

Figure 3: Highlighted chords will remain as block chords, the notes afterwards will become arpeggios

Let’s get stuck into the Am chord now. After the block chord, we’ll start the arpeggio on the low note again, but this time we’re going straight up to the high note, because I want to start lifting the ear up towards that peak, the high C. To help the ear up there, I’m going to add a passing note, B (not in the chord), between the A and the C. To emphasize this movement, I’m going to pull back the chord under the passing note to create space for it. Then lastly, I’m going to glue the two E notes back together, to smooth the change from the block chord to the arpeggio.

Figure 4: Am block chord followed by Am arpeggio, with a passing note (i.e. B) leading up to the high C

Moving onto the Em now. This time we’ll start the arpeggio on the middle note, then we’ll go to the high note, then finish the arpeggio down on the low note.

Figure 5: Em block chord followed by Em arpeggio

Then for the Gmaj arpeggio, we’re going to use the same pattern and passing-note motif that we used for Am. So, we’re going to play the low note first, then we’re going straight up to the high note. Then, we can glue the next part together as the notes are all the same, which will smooth it out. Next, we pull the chord back again and add an exposed passing note, A (not in the chord), in that space, which leads up to the high B. Finally, we glue the two D notes together for extra flow, and we’re done! Have a listen at 3:42 in the video/podcast.

Figure 6: Gmaj block chord followed by Gmaj arpeggio, with a passing note (i.e. A) leading up to the high B

If you want to go deeper into writing more advanced chord progressions using the modes, please check out my Hack Music Theory for Songwriting & Producing PDF. Until next time, happy songwriting!

Ray Harmony
Music Teacher
Victoria BC, Canada