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

more modes? #17

Open
stevengj opened this issue Jan 6, 2024 · 3 comments
Open

more modes? #17

stevengj opened this issue Jan 6, 2024 · 3 comments

Comments

@stevengj
Copy link

stevengj commented Jan 6, 2024

I only see one major mode and 3 minor mode built-in here.

It would be nice to see more modes implemented (the modes of the diatonic scale, e.g. dorian, lydian, etcetera, along with ionian_scale = major_scale and aeolian_scale = natural_minor_scale synonyms), along with others (harmonic major, phrygian dominant, etcetera). But there are so many that it might be more natural to have a dictionary modes["lydian"] than a separate constant for each.

(It's also not clear to me why a Scale should be an iterator rather than something supporting getindex.)

@dpsanders
Copy link
Collaborator

That's a great idea, thanks!
Do you have a reference with a list of modes?

@stevengj
Copy link
Author

stevengj commented Jan 7, 2024

Wikipedia is probably a decent source — it has articles on pretty much all the common modes, I think, though I don't know if they are listed in one place? A lot of them are listed in the Mode (music) article on Wikipedia. If you google "7 diatonic modes" that would be the most basic starting point.

@stevengj
Copy link
Author

stevengj commented Jan 8, 2024

Then there are also scales that have < 7 notes, like pentatonic scales, and scales that have > 7 notes, like the nonatonic blues scale (or for that matter the chromatic scale, but I don't know if people refer to the chromatic scales having particular tonic roots).

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

No branches or pull requests

2 participants