HeadphonesSo, I have been practicing for some time ear training on my own, and while doing at the piano is quite nice, I find that while at the piano, I want to either practice or write music, and that I should be able to do the ear training on the go…

I get lots of time in the car with nothing but music to accompany me, so I wanted to do something that would help me train my ear with minimum interaction on my part (lots of apps out there, but all of them require interaction and that’s ridiculously dangerous on a car).

So the exercise I do, is pretty simple, one hears a chord, and sings the notes in the chord from lowest to highest. It is a wonderful exercise that I fully recommend.

So, this got me trying to find recordings that I could use of different random chords, and finding only some sets that one needed to pay for. Luckily for me I have just changed to using Reaper (coming from Logic, which I quite like, but I have had to move on to PCs so…). Anyway, I wanted to get into script programming in reaper, and I thought that this was a great excuse to get myself to do it.

Here I leave you with a short video explaining the use of the script created.

My thanks to Lokasenna for his wonderful GUI, that has made making cool scripts so much easier..

What does the script do ?

Reaper script that helps you create ear training chords to practice ear training anywhere.

This script lets you create random chords within a range (From Note to To Note specified in Midi note numbers), with a specified number of notes (from 1 to 10.. yeah I know 1 note does not make a chord but still).

The structure of the created item is:

  • Chord (with a length of Chord Time) as many times as specified in Repeats.
  • Melodic resolution (notes of the chord played from lowest to highest) with a length of Melodic Time.
  • Final repetition of the Chord lasting for Chord Time.
  • If so wanted, between each chord or note, a rest time may be specified equal to Silence Between.

All times are specified in tenths of a second.

It will let you choose the number of times the chord is repeated, and for how long will it sound.


It depends on Lokasenna’s GUI. It is part of the ReaTeam script’s and templates offering which I highly recommend. My most sincere thanks to him and all the team for sharing and helping so much with the learning process.

At any rate I have added the code in this repository to avoid having distinct versions causing problems and for the ease of use. I may want to embed the code to avoid making subfolders but that will probably be for the future.

What it does

The script will create items in the track selected, label them and then move the cursor some time after the item, so that you can click the GO button several times and leave some space in between.

The labelling of the items follows this logic:

  • XnYo_A_B_C…

Where X is the number of notes in the chord, Y is the number of Octaves in the range of allowed notes, and A, B, C… are the notes from lowest to highest.

It has been taken as default to label all the Sharps and Flats as Sharps, as a convention. Might change this in the future if I add exercises within a key.

You can find the script for download at Github. If you like this plugin please do not hesitate to show your appreciation through a small donation.