The tables below show the tonal and Camelot key (alphanumeric) counterparts to pitch classes for major and minor keys.
Major key
Pitch class | Tonal counterparts | Camelot Key |
---|---|---|
0 | C (also B♯) | 8B |
1 | C♯, D♭ | 3B |
2 | D | 10B |
3 | D♯, E♭ | 5B |
4 | E | 12B |
5 | F | 7B |
6 | F♯, G♭ | 2B |
7 | G | 9B |
8 | G♯, A♭ | 4B |
9 | A | 11B |
10 | A♯, B♭ | 6B |
11 | B | 1B |
Minor key
Pitch class | Tonal counterparts | Camelot Key |
---|---|---|
0 | Cm | 5A |
1 | D♭m | 12A |
2 | Dm | 7A |
3 | E♭m | 2A |
4 | Em | 9A |
5 | Fm | 4A |
6 | G♭m | 11A |
7 | Gm | 6A |
8 | A♭m | 1A |
9 | Am | 8A |
10 | B♭m | 3A |
11 | Bm | 10A |
Spotify API
In the Spotify API, ‘key’ maps to pitch class and ‘mode’ distinguishes between major (1) and minor (0) key, which can be represented as a Python dictionary thusly:
(0,1):'8B',
(1,1):'3B',
(2,1):'10B',
(3,1):'5B',
(4,1):'12B',
(5,1):'7B',
(6,1):'2B',
(7,1):'9B',
(8,1):'4B',
(9,1):'11B',
(10,1):'6B',
(11,1):'1B',
(0,0):'5A',
(1,0):'12A',
(2,0):'7A',
(3,0):'2A',
(4,0):'9A',
(5,0):'4A',
(6,0):'11A',
(7,0):'6A',
(8,0):'1A',
(9,0):'8A',
(10,0):'3A',
(11,0):'10A',
Python Dictionary
Here’s a Python dictionary that can be used in a function to convert Camelot key values (“8B”) to their tonal counterparts (“C, B♯”).
camelot_to_tone = {'8B':'C, B♯','3B':'C♯, D♭','10B':'D','5B':'D♯, E♭','12B':'E','7B':'F','2B':'F♯, G♭','9B':'G','4B':'G♯, A♭','11B':'A','6B':'A♯, B♭','1B':'B','5A':'Cm','12A':'D♭m','7A':'Dm','2A':'E♭m','9A':'Em','4A':'Fm','11A':'G♭m','6A':'Gm','1A':'A♭m','8A':'Am','3':'B♭m','10A':'Bm'}
Special thanks to:
- camelot-wheel/src/data.js
- Pitch Class (Wikipedia)
- What is the difference between the Circle of Fifths and the Camelot Wheel? (StackExchange)
- Photo by Ylanite Koppens from Pexels
CommentsOnToast