Interval Explorer

Waveform
Chord 1
Chord 2
Chord 3
Chord 4

This is a tool for experimenting with musical intervals. Click the "play" button and it will play a sequence of chords repeatedly. Click the "stop" button and it will stop.

Each box named "Chord n" controls a chord. Each row in the box controls a note in the chord. To add a note to a chord, move its slider to the right to raise its volume above zero. To set the note's frequency, type the ratio of the note's frequency to the root frequency in the blank then hit enter. For example, if the base frequency is 220Hz, you can add a 660Hz note, which is a perfect fifth above A440, by typing "3/1" in one of the boxes. Ratios can be specified as ratios ("6:5" - a minor third, "2:1" - an octave), fractions ("3/2" - a fifth, "5/4" - a major third), whole numbers ("2" - one octave above, "4" - two octaves above) or any JavaScript arithmetic expression ("5/4 * 3/2" - a major third above a fifth, "2**(1/12)" - a semitone, the 12th root of 2). Pressing the up arrow and down arrow keys while in a note's box will cause it to cycle through a selection of whole number ratios.

The box on the right named "waveform" controls timbre. Each slider controls the volume of a harmonic of the fundamental tone, starting with the fundamental tone itself. Tones are constructed by setting the levels of these harmonics. It is similar to controlling the tone of a drawbar organ. Setting the lower harmonics to different levels will result in tones like a pipe organ, a harmonica, or even an oboe. Setting all of the harmonics to the same level approximates a sawtooth wave. Setting all of the odd-numbered harmonics to the same level with the even-numbered harmonics at 0 approximates a square wave.