Open eagor opened 8 years ago
Hey Eagor.
I can see why that might be confusing behaviour. But actually it is working as "expected": The Interval#direction()
method doesn't measure whether the interval goes up or down on the keyboard - but rather which direction the interval as "facing".
I'm not sure that there is such an interval as "diminished unison", but I kind of had to make it up to make the theory "complete". And to me a diminished is smaller than a perfect - and to make a perfect unison smaller a diminished unison must be a half-step lower. At least that's the reasoning.
I'm very open to listen to other suggestions on this behaviour if you have any input :)
Yeah, it's a bit misleading, as initially I would think that if you play two notes one after another, you would hear whether the melody goes up or down, hence the direction of the interval.
Or, maybe there is some other theoretical meaning of interval direction? Or what might be the use case expecting current behavior?
ps. anyways, great lib. The idea with .coord is genius!!!
maybe, this should go to a different thread, but I've just found this:
teoria.scale("cx", 'wholetone').simple()
> ["cx", "dx", "ex", "fundefined", "gundefined", "aundefined"]
Well spotted! This should produce some kind of an error. Please open a new issue on this though.
Den 20. apr. 2016 kl. 13.24 skrev eagor notifications@github.com:
maybe, this should go to a different thread, but I've just found this:
teoria.scale("cx", 'wholetone').simple()
["cx", "dx", "ex", "fundefined", "gundefined", "aundefined"] — You are receiving this because you commented. Reply to this email directly or view it on GitHub
interval from A# to Ab returns direction "up", even though Ab is 2 semitones down from A#.