Pitch Class, Tonal Counterparts, and Camelot Key Equivalents

The tables below show the tonal and Camelot key (alphanumeric) counterparts to pitch classes for major and minor keys.

Major key

Pitch classTonal counterpartsCamelot Key
0C (also B♯)8B
1C♯, D♭3B
2D10B
3D♯, E♭5B
4E12B
5F7B
6F♯, G♭2B
7G9B
8G♯, A♭4B
9A11B
10A♯, B♭6B
11B1B
Major key: pitch class, tonal counterparts, and Camelot key equivalents

Minor key

Pitch classTonal counterpartsCamelot Key
0Cm5A
1D♭m12A
2Dm7A
3E♭m2A
4Em9A
5Fm4A
6G♭m11A
7Gm6A
8A♭m1A
9Am8A
10B♭m3A
11Bm10A
Minor key: pitch class, tonal counterparts, and Camelot key equivalents

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:

CommentsOnToast

This site uses Akismet to reduce spam. Learn how your comment data is processed.