You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be useful to be able to detect key/scale on tracks that have been loaded or recorded.
DESCRIBE
As a given set of pitch classes can satisfy conformance to multiple scales, upon clicking a "detect scale" icon button on the track, the user will be presented a dialog with a pick list of scale candidates listed from most common to esoteric (For instance, "Little Earthquakes" by Tori Amos can satisfy "E Minor", "E Major", "F# Minor Pentatonic", "C Lydian Augmented #2 Scale", "F# Yo" or "Ab Kumai", among others)
Selecting a scale will cause that scale to be appear as an XS text label next to the originating icon button. The user should be able to re-detect scale, i.e. the originating icon button should not be replaced. A future feature could cause scale note highlighting in the piano roll and removal of note rows that do not conform to the track (TBD, see Ableton Live piano roll UX)
HOW
The tonal.js provides excellent music theory function support including key/scale detection against a very large number of scales, and uses a more performant mechanism for expressing scale than currently implemented. The entities/KeySignature class can be refactored to rely on this library, as it uses a much less efficient algorithm and was not originally intended as a beachhead for music theory workstation functionality.
I selected this library in part for its rigorous typescript definitions of music theory concepts, it's worth noting what a valuable education resource that has been.
The text was updated successfully, but these errors were encountered:
WHAT
It would be useful to be able to detect key/scale on tracks that have been loaded or recorded.
DESCRIBE
As a given set of pitch classes can satisfy conformance to multiple scales, upon clicking a "detect scale" icon button on the track, the user will be presented a dialog with a pick list of scale candidates listed from most common to esoteric (For instance, "Little Earthquakes" by Tori Amos can satisfy "E Minor", "E Major", "F# Minor Pentatonic", "C Lydian Augmented #2 Scale", "F# Yo" or "Ab Kumai", among others)
Selecting a scale will cause that scale to be appear as an XS text label next to the originating icon button. The user should be able to re-detect scale, i.e. the originating icon button should not be replaced. A future feature could cause scale note highlighting in the piano roll and removal of note rows that do not conform to the track (TBD, see Ableton Live piano roll UX)
HOW
The tonal.js provides excellent music theory function support including key/scale detection against a very large number of scales, and uses a more performant mechanism for expressing scale than currently implemented. The entities/KeySignature class can be refactored to rely on this library, as it uses a much less efficient algorithm and was not originally intended as a beachhead for music theory workstation functionality.
https://github.com/tonaljs/tonal
I selected this library in part for its rigorous typescript definitions of music theory concepts, it's worth noting what a valuable education resource that has been.
The text was updated successfully, but these errors were encountered: