Closed CookieComputing closed 4 years ago
With the most recent additions of the Key
class, and the absolute intervals being implemented, it should be possible to implement a diatonic set of intervals, which will substantially easier to work with than the absolute intervals. This will allow us to accurately implement chords and scales with relative ease.
We also need to just consider how much we can re-use existing code to implement diatonics, since we do not want to have to maintain a mirror copy of the existing absolute intervals class.
This has been in pretty long development, but the gist of the design is to take only acceptable notes (e.g. ones found in a key), and use those notes to then find the expected intervals (inspiration from mingus). We avoid the hassle of telling the user what to expect from a note, and instead let them decide for themselves.
https://bspaans.github.io/python-mingus/doc/wiki/tutorialIntervals.html#natural-diatonic-intervals
This is an idea we might want to consider alongside the absolute intervals currently planned for.