Dave Keenan wrote: ↑Tue Dec 08, 2020 5:16 pm
To be able to answer, I had to check which of these gave positive cents upward) and which negative (downward). I see they are all upward.
Wow. I'm really sorry. I wrote this post in haste while brushing my teeth before bed, hoping I'd get the answers I needed by morning when I'd sit down to hammer this bit out. I didn't foresee it'd trigger so much work on your end.
A huge assumption I realize I didn't impart on you is that currently there's only one place where we currently parse comma names: in the CLI tool for analyzing JI pitches and finding commas. In this context, downward pitches are supported, but don't really bring much to the table. They have the same 2,3-class, so all that info is the same. And they have the same notating commas, so all that info is the same. Literally the only difference is that the cents and apotome slope have opposite signs. So, up and down versions of the same comma didn't even occur to me for consideration.
Of course, one day, this same code should be plugged into inputs on the web for the Sagittal notation calculator, and there someone may well be notating a score with some subharmonic pitches, and want to input such a pitch in comma name form. At the present moment, however, my pitch parsing code — without ever needing to have made any special concessions for these — can receive downward pitches as quotients (1/2), cents (-1200¢), monzos ([-1⟩), and decimals (0.5), but it can't receive downward pitches as comma names yet.
I'm not sure now is the time to add this functionality, however. A big difference between the comma name input format and that of the other four input formats (quotient, cents, monzo, decimal) is that comma names can only be used to describe comma-sized pitches, i.e. up to a double apotome of ≈227.37¢. They're mostly useful when deployed as alterations to something else, likely a Pythagorean nominal (A,B,C,D,E,F,G). This all makes perfect sense in the context of a web tool for notating a pitch set, where you pick which nominal is your 1/1, etc. etc. but for a tool for analyzing a JI pitch or finding commas, it hardly makes sense to configure stuff like that. I mean, I guess I could imagine someone would want to, but it's certainly not MVP before I'd share it out. The main thrust of the JI pitch scripts are agnostic to a chain of fifths.
That said, if we know that we're eventually going to want to let users type something like "G 5C down" and get the right notation for it, I should not write code now that I'll have to throw away when I get there. So we do have to address this up/down to some extent now.
Another aspect of this situation which I think contributed to me not considering up or downs here was that counterexample volleo6144 found of two commas with the same size category (MS+A), same undirected comma name quotient (5^146 = 1121038771459853656738983666631932905024209553501212617405654627111832866148688481189310550689697265625; one of them that, and the other 1/that), and same ATE (2):
[336 2 -146>
[-342 2 146>
So in other words, treating the opposite direction quotient as a synonym for flipping "up or down", rather than a potentially completely different comma, then that's fine in general, but this counterexample shows how that could be ambiguous. Because if someone input "1/112...625MS+A", it wouldn't be clear whether they meant the 112...625MS+A down, or the actual 1/112...625MS+A which also exists.
Right after volleo6144 shared the counterexample you said of it:
Dave Keenan wrote: ↑Tue Jun 16, 2020 10:38 am
That's another reason to use directed ratios instead of undirected, in the comma names, as @cmloegcmluin suggests.
Which I understood as agreement with that ambiguity. And more recently you said:
Dave Keenan wrote: ↑Sat Nov 07, 2020 10:03 am
it was noted that such directed comma names would also serve to distinguish the two commas of the counterexample. But I note that, even if their names could not be distinguished in that way, it would not have any practical consequences as the counterexample commas were of no musical relevance.
Again agreeing with the ambiguity conceptually, but questioning its importance.
So I can see an argument for this counterexample being so wildly unmusical that we shouldn't let it block our decision to use flipping the quotients as synonymous with flipping up/down.
@volleo6144, when you found that counterexample, did you mean to imply that it was the simplest possible counterexample? Or is it still an open question whether there are many much simpler counterexamples?
But I still personally think it's a bad idea to smoosh the up/down direction of the comma in with its name. I think it's very much preferable to keep it separate. I think we covered this already on this thread:
viewtopic.php?p=1799#p1799
comma name input | resulting comma | reasoning |
1/5C | [-4 4 -1 ⟩ | |
5C | [-4 4 -1 ⟩ | directed form is preferred, but undirected form is valid (and historical) |
Are you saying that if you want the downward [4 -4 1 ⟩ you need to write "5/1C"? Hmm. I never wanted that.
So, no. That never occurred to me. "1/5C down" would be what I'd go with myself.
c1/5C | (error) | c1/5C cannot be interpreted as "short for" the c5C |
I don't understand why this wouldn't be [34 -20 -1⟩.
Again, as explained above, I never considered downward comma names in the code yet. But now that I am considering it, again as stated above, I still think it's preferable for the up/down direction to be a separate piece of information, and not smooshed in with the name of the comma. [34 -20 -1⟩, in my opinion, should be requested in comma name form as "c5c down".
c5C | [-34 20 1⟩ | |
1/5k | (error) | do not assume you mean the c1/5k if you don't ask for complexity |
I don't understand why this wouldn't be [99 -61 -1⟩.
Same reason again. [99 -61 -1⟩ is the 5k down, not the 1/5k.
5k | [-99 61 1⟩ | |
c1/5k | [-153 98 -1⟩ | |
c5k | [-153 98 -1 ⟩ | |
c5k has no history, so why wouldn't it be [153 -98 1 ⟩.
I'm not about to build in a table of which comma names have history and which don't. That'd be work to implement and maintain, overcomplicate the code, and also be unpredictable to users, or they may well disagree with our choices.
Again, [153 -98 1 ⟩ should be "c1/5k down", or "c5k down". Or if you don't like the idea of treating "n" as "1/n" when unambiguous, I could just have those error; but then you wouldn't be able to use "5C", and I don't think you'd want that. I think we should have it everywhere or nowhere.
Dave Keenan wrote: ↑Tue Dec 08, 2020 5:42 pm
Dave Keenan wrote: ↑Tue Jun 16, 2020 10:38 am
That's another reason to use directed ratios instead of undirected, in the comma names, as @cmloegcmluin suggests.
Heh... I just realized I quoted the same snippet as you did. But you just posted the quotes without any new information about the quotes, so I'm not sure exactly why you reposted them.
The smiley looks great here by the way... because you have the fine control of font size, it seems.
I'll admit I'm having a really hard time following your thoughts in your last post here. Perhaps it might be easier to communicate through examples. Here's my latest table then. It expands upon my original table and disagrees with yours:
comma name input | resulting comma |
5C (up) | [-4 4 -1 ⟩ |
5/1C (up) | (error) |
1/5C (up) | [-4 4 -1 ⟩ |
5:1C (up) | [-4 4 -1 ⟩ |
1:5C (up) | [-4 4 -1 ⟩ |
5C down | [4 -4 1 ⟩ |
5/1C down | (error) |
1/5C down | [4 -4 1 ⟩ |
5:1C down | [4 -4 1 ⟩ |
1:5C down | [4 -4 1 ⟩ |
c5C (up) | [-34 20 1⟩ |
c5/1C (up) | [-34 20 1⟩ |
c1/5C (up) | (error) |
c5:1C (up) | [-34 20 1⟩ |
c1:5C (up) | [-34 20 1⟩ |
c5C down | [34 -20 -1⟩ |
c5/1C down | [34 -20 -1⟩ |
c1/5C down | (error) |
c5:1C down | [34 -20 -1⟩ |
c1:5C down | [34 -20 -1⟩ |
5k (up) | [-99 61 1⟩ |
5/1k (up) | [-99 61 1⟩ |
1/5k (up) | (error) |
5:1k (up) | [-99 61 1⟩ |
1:5k (up) | [-99 61 1⟩ |
5k down | [99 -61 -1⟩ |
5/1k down | [99 -61 -1⟩ |
1/5k down | (error) |
5:1k down | [99 -61 -1⟩ |
1:5k down | [99 -61 -1⟩ |
c5k (up) | [-153 98 -1⟩ |
c5/1k (up) | (error) |
c1/5k (up) | [-153 98 -1⟩ |
c5:1k (up) | [-153 98 -1⟩ |
c1:5k (up) | [-153 98 -1⟩ |
c5k down | [153 -98 1 ⟩ |
c5/1k down | (error) |
c1/5k down | [153 -98 1 ⟩ |
c5:1k down | [153 -98 1 ⟩ |
c1:5k down | [153 -98 1 ⟩ |
112...625MS+A (up) | [-342 2 146> |
112...625/1MS+A (up) | [-342 2 146> |
1/112...625MS+A (up) | [336 2 -146> |
112...625:1MS+A (up) | (error) |
1:112...625MS+A (up) | (error) |
112...625MS+A down | [342 -2 -146> |
112...625/1MS+A down | [342 -2 -146> |
1/112...625MS+A down | [-336 -2 146> |
112...625:1MS+A down | (error) |
1:112...625MS+A down | (error) |
5/7k (up) | [10 -6 1 -1⟩ |
7/5k (up) | (error) |
5:7k (up) | [10 -6 1 -1⟩ |
7:5k (up) | [10 -6 1 -1⟩ |
5/7k down | [-10 6 -1 1⟩ |
7/5k down | (error) |
5:7k down | [-10 6 -1 1⟩ |
7:5k down | [-10 6 -1 1⟩ |