m-yac / xen-calc

A multi-purpose calculator for microtonal(/xenharmonic) music
9 stars 1 forks source link

Bug: sharp-N edos should allow upmid and downmid intervals for odd N >= 5 #13

Closed TallKite closed 3 years ago

TallKite commented 3 years ago

^~2\53 should return 7\53, not a parse error 7\53 should return upmid 2nd, not double-downmajor 2nd

Why N >= 5? sharp-3 edos like 22 IMO shouldn't name 3\22 upmid 2nd because 1) downmajor is more apt because the interval is not clearly neutral, 2) downmajor isn't that much longer a word than upmid, so no need to shorten it

Note that in 72-edo, from v~2 to ^~2 is two edosteps, but in 53-edo, it's only 1 edostep. Granted this might be confusing, but it seems worth it, to avoid long words like double-downmajor.

See page 5 of http://tallkite.com/misc_files/notation%20guide%20for%20edos%205-72.pdf

m-yac commented 3 years ago

Thanks, I will add this! I wrote the code for converting to/from ups-and-downs notation quite a while ago, so I likely missed a few more details aside from this (e.g. #14).

A question: I do worry that this notation could be confusing to newcomers (since "^" can now sometimes mean half an EDO step instead of always just one EDO step). With that in mind, would it be alright if I also included the more verbose notation as an alternative? Or, perhaps instead, added a link to an explanation whenever this notation is used in the output?

TallKite commented 3 years ago

Very good point. I would prefer a link to an explanation over just including the verbose form. Because once you get used to it, it's just so much easier to say upmid, and I don't want to encourage double-downmajor. Perhaps the explanation could include the edo's "spectrum"? (e.g. M vM ^~ v~ ^m m for 53edo, or maybe it goes m ^m v~ etc.) Perhaps the explanation, rather than being on a new webpage, is just a footnote on the same page?

m-yac commented 3 years ago

I've thought about this some more and I've come around to upmid and downmid being one step apart for odd-sharp EDOs. 53-EDO is a good example where those names are a much better fit than double-up minor and double-down major.

So, I've added this notation now - both in parsing and in the output. e.g. https://www.yacavone.net/xen-calc/?q=v~3\53

My existing algorithm for choosing the simplest ups-and-downs notation output should still work for this new notation (i.e. it will pick vM2\22 over ^~2\22) but let me know if you find any bugs.

I also realized that the notation for perfect EDOs was wrong (it called degree 2,3,6,7,etc. intervals in perfect EDOs "mid" instead of "perfect"), so I fixed that too. e.g. https://www.yacavone.net/xen-calc/?q=3rd\7.