Comments on The Camelot Wheel
Parent
The Camelot Wheel
Given a musical key, output its number and letter on the Camelot Wheel (shown below).
Input
A musical key as a string, as shown on the wheel. The words "Sharp" and "Flat" may be replaced with symbols (such as "#" and "b") if you wish.
Output
The number and letter, either as a string, tuple, or array.
Examples:
Input->Output
"E Major" -> "12B"
"F-Sharp Minor" -> "11A"
"Bb Minor" -> "3A"
This is code-golf.
Post
APL (Dyalog Unicode), 110 67 bytes
{(⍕((f⊖⍪'AEBFCGDAEBFD'),r⌽12↑¯6↑5⍴'-')⍳2↑⍵),⎕a⌷⍨1+0≠f←¯3+r←3×'i'∊⍵}
-43 bytes from dzaima.
Requires input exactly as shown in the diagram.
A bit fiddly with the compression, but works correctly.
In both circles, the notes come in the form AEBFCGDAEBFD, so it is rotated as per the level it identifies with.
The hyphens in each note's description also come in the same format(----- ), so that is rotated as per requirement as well.
Based on the above data, we can find the number of the note.
If it's a Major note, then we append a B. Otherwise A.

1 comment thread