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