"shorten stems" option in Genetal Style->Notes

• Jun 30, 2011 - 17:38

Can anyone explain what the intent of this is? And what the different parameters actually control.

So far, I've figured out that if I have some stems pointing in the "wrong" direction using multiple voices, the "shortest stem" parameter seems to shorten the stems on those notes while not affecting other notes. Or something like that.


The purpose of voices are to have notes of different durations played at the same time. The reason the stems are in the "wrong" directions is to prevent collisions between the the different musical lines. You can change the direction by highlighting the notes and pressing x, or you can change the default directions by clicking "Style", "Edit General Style", and "Voices". The shortest stem parameter, defines the length of the shortest stem in a score. By changing that no stem will be shorter than that length. The progression is a sort margin above and below the notes, the higher the value the larger the margin, and therefore, the smaller the stem.

In reply to by flutepianist

Thanks! I'm definitely already very familiar with voices and stem direction in general; it was just these "shorten" parameters that confused me. What you say makes sense, but I'm still unclear on exactly under what circustances the stem shortening cuts in. My reason for wanting to know is that I am designing a template in which I would like to reduce the shortest stem parameter, but not if it has effects other than the specific case of opposingl stems in a multivoice context.

I'm unclear about this as well. For me some stems are too short. I'd like to increase the minimum length. If I do that via the Style > General > Notes set a value such as 2.5 or 3.0, Apply, then nothing changes. With some elements there is an option to reset to style, but I can't find that for note stem lengths. In the score I'm editing, I've only altered a couple of stems so I would expect to see those with automatically determined lengths alter when the style is changed.

I'm running 2.0.3 on Ubuntu Xenial. Is it possible to achieve this?


PS I have just noticed that in my case I frequently make enharmonic changes to accidentals. That action does not cause recalculation of the stem length. Example select a pair of beamed E-flats, hit j, and the beam doesn't move, effectively shortening the stem.

In reply to by richardm999

As the person who started this thread way back when, I guess I should followup :-). I eventually figured things out, and in fact actually went on to work on some of this code myself.

The default stem length is set by pretty universal rules of music notation - stems are 3.5sp long. This applies to single (unbeamed) notes in single voice music whose stems are in the normal direction - pointing toward the center of the staff.

As soon as multiple voices get involved, or any other case in which stems point *away* from the center of the staff, you get into situations where stems might easily extend far beyond the staff, and this is undesirable. So standard engraving practice calls for stems to get progressive shorter the further from the staff you get. But different editors do things slightly differently here, so the settings in this dialog give you some control over the process. The default looks like this:


Basically, once you get past a certain point, each stem gets shorter by a certain amount, until you reach a certain minimum.

Beamed notes are a totally different story. Stem lengths are determined by beam angle and height and the rules are incredibly complicated and full of special cases for various different situations.

In general, a change of enharmonic spell moves a note to a different line or space and the stem *does* adjust for this: try it with a quarter note Db (just above middle line of treble clef), for instance. But if the note is beamed, then the stem length is determined in part by the other notes in the group, so results are less easily predictable. If you have a specific case where you think the behavior is not "correct", do attach a sample score and steps to reproduce. But know that beam angle / stem length rules are probably the single most complex and subjective area of music engraving, so chances are whatever it is you are saying is not really incorrect, just maybe not what you subjectively might have done.

In reply to by Marc Sabatella

I appreciate that the algorithm for determining stem length is complex and subjective. In general I find that stems are shortened excessively where beaming is involved. I need to put together some examples where the result seems too short by anyone's standard. I guess I should examine the code currently deployed to see whether it is possible to allow some external stylistic controls.


In reply to by richardm999

Good luck on that :-). The handling of beams (including stem lengths) is probably the most convoluted part of the code, full of tons of different rules for different cases and special handling of specific combinations of notes on top of that, mostly driven from big tables of data. I'd love to see this basically ripped out and redone from scratch some day to not just improve the results here and there but just make the code more maintainable. But it would be a pretty big undertaking.

Do you still have an unanswered question? Please log in first to post your question.