Hi everyone,
while experimenting with the scale function I ran into some results that feel a bit confusing.
For example, the following patterns seem to produce equivalent outputs:
d1 $ note (scale "major" "c4") # sound "superpiano"
-- ≡
d1 $ note "e3" # sound "superpiano"
d1 $ note (scale "major" "c3") # sound "superpiano"
-- ≡
d1 $ note "g1" # sound "superpiano"
d1 $ note (scale "major" "c2") # sound "superpiano"
d1 $ note (scale "major" "c1") # sound "superpiano"
-- both ≡
d1 $ note "c0" # sound "superpiano"
Indeed, the notes returned by scale do belong to the major scale, but the mapping between the root note I provide to scale and the final result looks quite unintuitive.
Could someone explain how this mapping actually works under the hood?
Thanks in advance!