Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scale highlighting with colors #7611

Open
1 task done
RustoMCSpit opened this issue Nov 30, 2024 · 13 comments
Open
1 task done

scale highlighting with colors #7611

RustoMCSpit opened this issue Nov 30, 2024 · 13 comments

Comments

@RustoMCSpit
Copy link

Enhancement Summary

fl studio lets you highlight scales

Implementation Details / Mockup

image

Please search the issue tracker for existing feature requests before submitting your own.

  • I have searched all existing issues and confirmed that this is not a duplicate.
@RustoMCSpit
Copy link
Author

this is related #7609

do re mi etc. should be able to have different colors.

@qnebra
Copy link

qnebra commented Dec 1, 2024

Scale highlighting is already in lmms

@RustoMCSpit
Copy link
Author

RustoMCSpit commented Dec 1, 2024

Scale highlighting is already in lmms

i mean coloring different notes, do re mi
image

@bratpeki
Copy link
Contributor

bratpeki commented Dec 2, 2024

Scale highlighting is already in lmms

i mean coloring different notes, do re mi

You clearly named your issue "scale highlighting".

@RustoMCSpit RustoMCSpit changed the title scale highlighting scale highlighting with colors Dec 2, 2024
@bratpeki
Copy link
Contributor

bratpeki commented Dec 2, 2024

Also, scale highlighting ins't even an experimental feature. It has been around since 1.2.2.

@RustoMCSpit
Copy link
Author

with colors?

@regulus79
Copy link
Contributor

regulus79 commented Dec 2, 2024

How would this work with microtonal midi?

As far I as I understand, similar colors should be used when the notes are harmonically related, so octaves are equal colors, fifths are a slightly different position on the color wheel, and the rest of the notes can be built from that, making sure it comes back around to the same color as you go up the circle of fifths.

Should the colors be specified in the style.css? Should there be a fixed number of colors? Should there instead be defined an interpolation path which the colors are picked from (by default going around the color wheel, but perhaps users may want other color palettes)?

@RustoMCSpit
Copy link
Author

i think just adjusting rgb values based on position in octave from red to violet could work

@regulus79
Copy link
Contributor

i think just adjusting rgb values based on position in octave from red to violet could work

In order up the octave, like ROYGBIV maps to ABCDEFG? or based on the intervals, where the color wheel gets mapped to the circle of fifths?

If we are doing the circle of fifths, are we going to ignore microtonal scales then? I'm not necessarily against that, as it is not very common, but it may be good to come up with an algorithm which works for microtonal music also.

@RustoMCSpit
Copy link
Author

circle of fifths for 6tet, 7tet, 12tet, 24tet, etc.

map to ROYGBIV for inconvenient numbers

@regulus79
Copy link
Contributor

The more I think about it, perhaps it would be best to just ignore microtonal stuff, since even 12tet doesn't have a perfect fifth, only an approximation (which one could argue is therefore harmonically unrelated)

I suppose one could pick the interval which is closest to a fifth, but if that is not coprime with the number of keys (lcm(interval, #keys) != interval * #keys), then that pattern will not reach all the keys in the same way the circle of fifths does. I suppose if that is the case, then two or more circles of fifths could be made with different color palettes.... that might be interesting.

||Let me just do a quick proof... If the interval n is closest to a perfect fifth in an equal temperament tuning with k keys, then if n and k are coprime, we're done, use the normal way of coloring keys. Otherwise, we need to find how many unique cycles there are. If lcm(n,k) < n*k, but rather lcm(n,k) = n * (some constant a), then that means that a keys are used per cycle. So that means there are k/a cycles in total. But that does not say where the cycles start. Hmm, would adjacent keys necessarily belong to different cycles? I think they may, but idk how to prove it.||

Ah, I realize this only really works for equal-temperament microtonal tunings, nevermind. I need to think of a better way.

@szeli1
Copy link
Contributor

szeli1 commented Dec 3, 2024

Should the colors be specified in the style.css? Should there be a fixed number of colors?

This should definitely be a style.css setting, I think a color gradient should be used, but there should be a setting that switches between mixing the 2 base colors with linear interpolation or finding a color between the 2 base colors inside a color wheel. This will allow greater customization for user themes.

I suppose one could pick the interval which is closest to a fifth, but if that is not coprime with the number of keys (lcm(interval, #keys) != interval * #keys), then that pattern will not reach all the keys in the same way the circle of fifths does. I suppose if that is the case, then two or more circles of fifths could be made with different color palettes.... that might be interesting.

I may not understand the issue correctly: Are you talking about getting the best color for notes? Why can't Note::m_key be mapped to the correct color?

@regulus79
Copy link
Contributor

Why can't Note::m_key be mapped to the correct color?

What is the mapping?

I believe one of the main features of coloring notes is that harmonically similar notes are given similar colors (so octaves have the same colors, and fifths/fourths are just 1 step off in color), but for microtonal tunings, it is difficult to find a mapping which makes sense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants