Chord Organ: The easiest way to get simple chords from a modular synth
Chord Organ is a free new firmware for the Music Thing Modular Radio Music module. It gives the module a completely different function. Instead of playing samples from the SD card, it synthesises chords.
The chords in this clip come from Chord Organ, filtered through a Humpback filter.
You can hear lots of Chord Organ on my album Bakusre, and here’s another demo, using Chord Organ to drive the vocoder in Mutable Instruments Warps:
And here’s Phil Bilsby (VCOADSR) with two Chord Organs:
The inspiration for Chord Organ came a few months ago, while walking home from work. It was sitting outside a house with some unwanted toys and a sign saying ‘Please take’.
It’s a Bontempi Chord Organ, a super-cheap Italian-made plastic organ, probably from the 1970s. A noisy mains-powered fan blows air through reeds, with eight chord buttons on the left. It sounds great, in an out-of-tune way.
It’s perfectly possible to create chords on a modular synth, but it’s a pain in the arse — lots of tuning and messing about. I wanted something as simple as a Bontempi organ.
How the module works
Chord organ is very simple.
Chord = choose the chord shape; minor, major, seventh etc. Shapes can be defined by editing a text file on the SD Card (see below). Chords can have up to 8 notes.
Root = choose the root note, in semitones from C-2 to C+2
Waveform = push to select one of four waveforms: Sine, Square, Sawtooth and weird-gnarly-pulse-an-octave-below.
Chord + Root CV inputs. The Root CV input is NOT volt/octave, but the output notes are perfectly in standard tuning (A = 440hz).
Trig = Trigger output, which pulses every time the chord changes
Out = Audio output
Installing the firmware
The firmware is installed in exactly the same way as Radio Music firmware.
- The firmware is available in the Chord Organ Repository.
- You do not need Teensyduino. You do not need to compile the code.
- You only need Teensy Loader for Mac, PC, Linux and this hex file.
- Follow the instructions on the Teensy Loader page
- If you cut the power trace on your Teensy, you’ll need both +/-12v case power and USB connected to install the firmware. If not, you can just use the USB connection. Don’t know? Try with USB only first, then try with case power if that doesn’t work.
- All the help available is on the Teensy Troubleshooting page
Editing the SD Card
Chord Organ needs an SD card (any size) to function — you can use the SD card from a Radio Music. It creates a tiny text file called CHORDORG.TXT in the root of the SD card, which can be edited to change the chords.
When you open the file it looks like this.
Each chord is described in numbers. 0 is the root. 12 is the octave above. -12 is the octave below. The text outside the square brackets is ignored, so the ‘Major 7th’ text is just there as a reminder.
The Wikipedia List of Chords page has 70+ chord shapes. The column marked “p.c. #s” shows the numbers you need here, in Integer Notation, (with “10” and “11” replaced by “t” and “e”). For example, the Dominant Ninth is listed as 0 4 7 t 2, which you should enter as 0 4 7 10 2. You probably want to raise the last 2 up an octave, so it becomes 0 4 7 10 14.
Here are some more suggestions from James Bernard:
1. [0,4,7,12,0] Major
2. [4,7,12,16,-5] Major inv 1
3. [7,12,16,-5,0] Major inv 2
4. [-12,-8,-5,0,4] Major inv 3
5. [-8,-5,0,4,7] Major inv 4
6. [-5,0,4,7,12] Major inv 5
7. [0,4,7,11,0] Major 7th
8. [4,7,11,0,16] Major 7th inv 2
9. [7,11,0,16,19] Major 7th inv 3
10 [-12,-8,-5,-1,0] Major 7th inv 4
11 [-8,-5,-1,0,4] Major 7th inv 5
12 [-8,4,7,11,23] Major 7th no root
13 [0,0,0,0,0] Root
14 [-24,-12,0,12,24] organ
15 [-8,-5,4,7,16] Major no root
16 [-12,0,0,12,24] 2 up 1 down octaves
If you have different numbers of notes in each chord, you may get clicks as you switch between them; you can experiment to see if you mind.
Hacking the firmware
A few ideas:
- Microtuning. The frequencies of each note are set in line 257, which converts a midi note to a frequency using the numToFreq function. If you want to experiment with alternative tunings, this might be the place to start.
- Long-hold for a different mode. In Radio Music, a long press on the reset button changes bank. In Chord Organ, it does nothing.
- Analog Shift Register: I experimented with an ASR mode which filled the polyphony with different root notes chosen with an incoming pulse. I found it a bit muddy and annoying, but you might have more luck.
- Trigger in / out. The trigger input works as a digital input or a digital output, with overvoltage protection.
- Arpeggiator: We’re in a world of chords, it might be nice to step through arpeggios, maybe triggered by an incoming gate.
- Calibration: The root input isn’t volt/octave, because the Radio Music hardware isn’t designed to be that precise. However, it might be possible to write some kind of auto-calibration system to allow for volt/octave input.
- Waveforms. Chord Organ uses the Waveform object in the Teensy Audio library, which offers these waveforms: Sine, Sawtooth, Reverse Sawtooth, Square, Triangle, Pulse, Sample&Hold and Arbitrary. The Arbitrary waveform loads a 256 stage wavetable — might it be possible to make it load a waveform from the SD card?
Tom Whitwell designs circuits as Music Thing Modular. You might also enjoy: How I recorded an album in an evening with a lunchbox modular and a python script and Why open source hardware works for Music Thing Modular.