natural harmonics node issue

The following example illustrates an invalid node issue for natural harmonics.

In reference to the second note in this example, while it is true that there is a node at fret 12, the pitch shown is not what one experiences on a real instrument when touching that string at that fret. It seems this node (and similar situations for other harmonics) should be invalid for the pitch specified.


invalid node.dorico.zip (434 KB)

I’ve been discussing this with my guitar playing colleagues. The way this works is relatively simple: the “node” property just works up each successive node, without considering whether there is another harmonic at the same point that will be louder. Here you’ve chosen the fourth harmonic (third overtone), which divides the string into quarters. The first node is what you would expect: 1/4 way along the string, 5th fret; the second node is two quarters of the way along the string, which is the 12th fret. But of course that’s also where the first overtone is, so that’s what you’d actually hear. But you can also simply specify this by choosing the first partial without setting the node property.

Right. I understand how you’ve implemented this. But it seems error prone since the playback of the “invalid” node plays as if it is one of the valid nodes which is not how it would sound on a real instrument. So I am just bringing this up as a potential issue that you may want to address to minimize errors in the score.

BTW, the partial property is not available for the natural harmonics.

Also, it just looks weird that I can have two harmonic notes on the notation staff an octave apart but the tab shows it is fingered the same.

If playback comprehends the node specified and plays back the correct pitch then that would also be an acceptable implementation.

Some additional node issues:

The following images show incorrect fret calculations for the node shown. I also checked this on strings 5. The same problem. I assume the other strings also are computed in a similar fashion and so will also exhibit this problem.



One more case that I missed: