Open mossheim opened 8 years ago
This is looking really nice. I am going to do some thinking on my end on how to implement this in the most concise yet flexible way.
Regarding the indications for whether or not an interval uses eighth-tone arrows in its spelling, I think it would be really helpful if you could just outline the motivation for that again please?
Consider the non-equivalent cases:
(11.75, 4.25): 4.5
, spelled as:
(.c, .natural, .down)
, (.e, .natural, .up)
: (?? (.super), .major, .third)
(11.75, 4.0): 4.25
(.c, .natural, .down)
, (.e, .natural)
: (.super, .major, .third)
Unless there is a magnitude
for the eighth-step modifier, these PitchSpelling
values would be equivalent, even though they represent non-equivalent Pitch
or PitchClass
values.
This could potentially make the evaluation of eighth-step intervals more logically intuitive in the pitch spelling algorithm.
Instead of asking whether the arrow direction is compatible, which seems to dip into a kind of implementation space, we could ask whether or not interval.eighthStep.degree > 1
, which seems the slightest bit more abstract.
This would save (at least how I had implemented things thus far), a variable called isFineCompatible
for the predecessor to NamedInterval
, which contained a lot of logic that didn't feel like it was operating on the right level of abstraction, but it could smell that the proper level of abstraction existed.
Instead of asking whether the arrow direction is compatible, which seems to dip into a kind of implementation space, we could ask whether or not interval.eighthStep.degree > 1, which seems the slightest bit more abstract.
Okay, I think I'm closer to understanding this now, but still a little unsure on when it would matter in other spaces like 16th or 12th tones. Am I getting it right? Maybe a better question to ask would be, how can this abstraction simplify future considerations?
Looking at the Wiki page, it seems there are several terms that might be of use:
I could see a quarter-tone naming convention that works like this:
I could even see an eighth-tone convention that combines all of the terms like this:
This system has the benefit of being clean and fairly logical: 'super' is only added to intervals greater than perfect/neutral, and 'sub' is only added to intervals less than. it also has the benefit of using common music/tuning theory prefixes. I can see there being confusion around the use of semi- to indicate a quarter-tone step while super-/sub- indicate eighth-tone steps.
I think beyond diminished and augmented it makes sense to just give the decimal or fraction by which the interval exceeds the major/minor and perfect sizes. For instance, C to F# up would be a 1.25-augmented fourth, and D# up to Ed would be a 1.75-diminished second.
I'm very open to your thoughts on this--music terminology is an awful awful place and I don't want or need to get into an argument over it.
Regarding the indications for whether or not an interval uses eighth-tone arrows in its spelling, I think it would be really helpful if you could just outline the motivation for that again please?