neanes / neanes

Neanes is a free and open source scorewriter for notating Byzantine chant in Byzantine notation.
https://neanes.github.io/neanes/
GNU General Public License v3.0
35 stars 9 forks source link

Note indicator incorrectly calculated for multi-neume group #652

Closed panosmorningstar closed 3 weeks ago

panosmorningstar commented 3 weeks ago

Hi. I suggest that in the section ''fthora note'' be added all the notes available.

Thanks.

basil commented 3 weeks ago

I suggest

Suggestions made without reasoning are not helpful. What is the reason for this suggestion?

panosmorningstar commented 3 weeks ago

@basil Take for example this except from Chourmouzios. The composer wants the first note of soft chromatic scale to be Zo rather than Vou or Di. (I put the note ''z'' manually from a previous note. Screenshot 2024-04-22 004230

basil commented 3 weeks ago

I fail to see the reason why all the notes available should be added to the Fthora Notes section from this example. Please include a more complete example from a primary source, starting with a martyria so that others can read it, as well as an argument explaining, step-by-step, how the example leads to the conclusion you have reached.

danielgarthur commented 3 weeks ago

I think the misunderstanding is what Fthora Note does. With the fthora in the example above, you should choose Vou has the Fthora note since that is where you want to be in the chromatic scale (Vou and Zo are equivalent from an intervalic standpoint.)

The real issue here is that the note indicator either needs an override feature, or Fthora Note would need to be expanded. Right now, the note indicator always shows the "true" note, and never the parallage note.

basil commented 3 weeks ago

With the fthora in the example above, you should choose Vou as the Fthora note since that is where you want to be in the chromatic scale (Vou and Zo are equivalent from an intervalic standpoint.)

I do not see how one could reach to that conclusion from the example. The example is incomplete without a martyria, and we also need to know whether the fthora applies to the oligon or the kentimata in order to be able to reason about this fully. That is why I requested

a more complete example from a primary source, starting with a martyria so that others can read it

The real issue here is that the note indicator either needs an override feature, or Fthora Note would need to be expanded.

Again, I fail to see the reason why either would be the case.

Right now, the note indicator always shows the "true" note, and never the parallage note.

Even after #323?

danielgarthur commented 3 weeks ago

Even after https://github.com/neanes/neanes/pull/323?

Oops. You are correct that was fixed.

panosmorningstar commented 3 weeks ago

I fail to see the reason why all the notes available should be added to the Fthora Notes section from this example. Please include a more complete example from a primary source, starting with a martyria so that others can read it, as well as an argument explaining, step-by-step, how the example leads to the conclusion you have reached.

I’m uploading a more complete except from the composition.

IMG_5327

I think the misunderstanding is what Fthora Note does. With the fthora in the example above, you should choose Vou has the Fthora note since that is where you want to be in the chromatic scale (Vou and Zo are equivalent from an intervalic standpoint.)

Even if that’s the case, I think that for historical reasons it should be permissible to do this.

Thank you.

basil commented 3 weeks ago

I’m uploading a more complete except from the composition.

Great! The next step is for you to provide an argument explaining, step-by-step, how the example leads to the conclusion you have reached.

panosmorningstar commented 3 weeks ago

I’m uploading a more complete except from the composition.

Great! The next step is for you to provide an argument explaining, step-by-step, how the example leads to the conclusion you have reached.

I don’t have a definitive argument. All I can say now is this:

For historical reasons, as I said above, I think that the existence of Zo as a note indicator in soft chromatic scale is a valid suggestion.

And because there may be other similar cases (I think there are), I think that the initial suggestion is valid too.

thank you.

basil commented 3 weeks ago

For historical reasons, as I said above, I think that the existence of Zo as a note indicator in soft chromatic scale is a valid suggestion.

That isn't what you said before. Before, you said "I think that for historical reasons it should be permissible to do this," in which context "this" referred to the Fthora Note feature, not the Note Indicator feature. I agree that any note can be a Note Indicator, as is obviously the case from the primary source you provided. You do not seem to understand the difference between these two features.

And because there may be other similar cases (I think there are), I think that the initial suggestion [that all the notes available be added to the Fthora Note section] is valid too.

That argument bears the same structure to the argument that because there may be other similar cases, it is best to drink water with a fork rather than a glass.


I typeset the given example from its primary source and I see one actual bug: the computed Note Indicator is off by one. The Note Indicator is computed dynamically, in part based on the Fthora Note. When the Fthora Note is Di, the Note Indicator should be Di (even though the physical pitch is Zo), and when the Fthora Note is Vou (which is the intent of the composer), the Note Indicator should be Zo (as is printed in the primary source). The reason for this is that the fthora applies to the oligon in the oligon-kentemata combination, and in a multi-neume group the Note Indicator should indicate the note to which the fthora is applied. That, in turn, is because the primary purpose of the Note Indicator isn't to help one with parallagi, but rather to help the singer disambiguate scale changes. The primary purpose of the Fthora Note feature is to help the software disambiguate scale changes, which are reflected in both martyria calculation and note indicator calculation.

In practice, the software erroneously prints a Ke Note Indicator when the Fthora Note is Di and a Ni Note Indicator when the Fthora Note is Zo. This is because the software is incorrectly calculating the Note Indicator based on the last note of the multi-neume group rather than the note against which the fthora applies.

To demonstrate that this is the problem, observe that the correct value is printed when converting the oligon and kentemata to an oligon followed by another oligon.

The calculateMartyrias function is capable of computing which note the fthora applies to in a multi-neume group by calling getSpreadIndex, which occurs just a few lines down. The same should be done for note indicators that occur on fthora notes to render the note indicator based on the current note at the time the fthora is applied rather than the current note at the end of the multi-neume group.


There likely is a usability issue relating to Fthora Note and Note Indicator being somewhat confusing to the average user, and potentially some improvements that could be made there. The Fthora Note feature is designed to help the software disambiguate scale changes, while Note Indicators are designed to help the singer disambiguate scale changes. These concepts are related, but not implemented in a very intuitive manner in the software, with the Fthora Note feature not mapping directly to the Note Indicator feature, but rather informing it (and martyria calculation) indirectly in the software's internal computations. I would recommend opening a separate ticket about this usability issue so that the action item in this ticket won't be diluted by further off-topic discussion.

basil commented 3 weeks ago

opening a separate ticket

⇨ #664

panosmorningstar commented 3 weeks ago

@basil It seems that the note indicator can be rendered correctly if you double press the fthora button. In the except below, when the fthora is placed above the multi-neume combination, the software applies the fthora to the first note of the combination (here, on the oligon). Hence, the right note indicator appears.

note indicator

By using the positioning option, the user can be faithful to the primary source.

basil commented 3 weeks ago

the user can be faithful to the primary source.

That is not faithful to the primary source, as it applies the fthora to the kentimata, not the oligon (as does the primary source). Neanes supports three settings: applying the fthora to the oligon (either below the oligon, or above the oligon and to the left of the kentimata) or applying the fthora to the kentimata (above the kentimata). So this is creating an off-by-one error, which (combined with this bug) results in two off-by-one errors; i.e., two wrongs turning into a right. The correct solution is not to commit any off-by-one errors, accomplished by typesetting the score as it is rendered in the primary source and fixing this bug (as is done in PR #663).

panosmorningstar commented 3 weeks ago

@basil As I said, the user can be faithful to the primary source using the positioning option. Anyone can see this in the following:

123

That doesn't mean that I recommend not fixing the bug...

basil commented 3 weeks ago

As I said, the user can be faithful to the primary source using the positioning option

Visually, yes, but not with respect to playback.