Keys | |||||
---|---|---|---|---|---|
A
M
m
|
C♯
M
m
|
F
M
m
|
|||
F♯
M
m
|
A♯
M
m
|
D
M
m
|
|||
D♯
M
m
|
G
M
m
|
B
M
m
|
|||
C
M
m
|
E
M
m
|
G♯
M
m
|
Chords | ||||
---|---|---|---|---|
F
|
M
|
m
|
d
|
A
|
C
|
M
|
m
|
d
|
A
|
G
|
M
|
m
|
d
|
A
|
D
|
M
|
m
|
d
|
A
|
A
|
M
|
m
|
d
|
A
|
E
|
M
|
m
|
d
|
A
|
B
|
M
|
m
|
d
|
A
|
F♯
|
M
|
m
|
d
|
A
|
C♯
|
M
|
m
|
d
|
A
|
G♯
|
M
|
m
|
d
|
A
|
D♯
|
M
|
m
|
d
|
A
|
A♯
|
M
|
m
|
d
|
A
|
A | D♭ |
F | A | D♭ |
F | A | D♭ |
F |
G♭ |
B♭ |
D | G♭ |
B♭ |
D | G♭ |
B♭ |
D |
E♭ |
G | B | E♭ |
G | B | E♭ |
G | B |
C | E | A♭ |
C | E | A♭ |
C | E | A♭ |
A | D♭ |
F | A | D♭ |
F | A | D♭ |
F |
G♭ |
B♭ |
D | G♭ |
B♭ |
D | G♭ |
B♭ |
D |
E♭ |
G | B | E♭ |
G | B | E♭ |
G | B |
C | E | A♭ |
C | E | A♭ |
C | E | A♭ |
A | D♭ |
F | A | D♭ |
F | A | D♭ |
F |
G♭ |
B♭ |
D | G♭ |
B♭ |
D | G♭ |
B♭ |
D |
E♭ |
G | B | E♭ |
G | B | E♭ |
G | B |
C | E | A♭ |
C | E | A♭ |
C | E | A♭ |
I found some interesting old papers online about an application called HarmonySpace, for example this one. The original application had been written for a Mac and was no longer available, so I thought I'd have a go at implementing my own in JavaScript (a good excuse to brush up on JavaScript.) The idea is simple, if non-intuitive:
Try it out. You can pick a key from the menu on the left, then choose chords from the menu on the right. If you are lucky your browser may even play them to you.
The original HarmonySpace was much more capable than my poor effort here. I only hope I may in some small way renew interest in the original research.