Replies: 8 comments 1 reply
-
Hello! Yes, there are an inconsistency between how chrome is used. Basically the "chroma" for scales are always "interval based", and that means that ALWAYS the first interval will be 1P and therefor the leftmost number of the chroma will be 1. I know this is confusing. That's a consequence of using string for chroma instead of more specific data structure. I'll try to find a solution or mitigation. |
Beta Was this translation helpful? Give feedback.
-
Ah! now I understand! PS: I think it's a really cool idea to use a bitmask as datastructure for scale notes. |
Beta Was this translation helpful? Give feedback.
-
Hey, I just came across this too and am wrapping my head around it. Am I understanding correctly?
In my projects I've been referring to the bitset left-aligned to the root as the "shape". Maybe it'd make sense to have four properties:
This way scale and chord info objects could carry info about both. |
Beta Was this translation helpful? Give feedback.
-
Hi @micahscopes, the chroma for scales (and I guess chords as well) are based on intervals, not on the chroma/pitch-class. So for example the C-Pentatonic: |
Beta Was this translation helpful? Give feedback.
-
@ohmycode I think we are getting at the same thing? I don't mean that under the hood there is a literal rotation of the chroma somewhere in the code (maybe there is, maybe not)... just that starting with the pitchclass-chroma of a given scale and rotating so that the tonic is at the left-most bit would give the same result as building off of the intervals directly. |
Beta Was this translation helpful? Give feedback.
-
@micahscopes yeah, you're right, that should result in the same pattern. And that is my initial point: |
Beta Was this translation helpful? Give feedback.
-
@danigb maybe adding a scaleType chroma (based on the intervals) in addition to a scale chroma (based on the actual pitch classes) would be a solution. |
Beta Was this translation helpful? Give feedback.
-
scaleChroma (or pitch class chroma) vs scaleTypeChroma (or intervals chroma) maybe are good starting point... 🤔 @micahscopes If I understand correctly, |
Beta Was this translation helpful? Give feedback.
-
Hi @danigb, I stumbled across the following issue:
returns:
I think neither the chroma nor the normalized chroma is correct.
whereas
returns
011010110101
which works as expected.I tried to find the bug, but couldn't find it.
Any Idea?
Beta Was this translation helpful? Give feedback.
All reactions