Lute tablature note values incorrectly treated

• Oct 11, 2024 - 11:29

Is there a way to display note values correctly in lute tablature in Musescore 4? Musescore incorrectly shows either the note values of all voices on one stave or the note values of the top voice, not as it should, the shortest note values of all voices (as if written as one voice). See pdf file.


Comments

It's simple: Attempt to show rhythms in all 3 voices (or 4) has never been implemented. For good reason: lute tablatures, as I'm sure you know, display only one rhythm value (with flags, or other figures, according to the Renaissance and Baroque periods), that of the upper part (let's say the melodic part).

Everything else (whether or not to hold certain notes, whether or not a second voice enters at a certain point) is determined by the lutenist himself, by his experience and knowledge of the repertoire and lute playing.

The two-voices display (with the rhythm displayed above and below) has nevertheless been implemented in Musescore 10 years ago. Nothing more.

In short, you have to choose: either transcribe a lute score in standard notation (with the usual 4-voice availability, which is what I personally do quite often), or stick to a 1-voice lute tablature (as Sarge Gerbode does, for example, in French tablature). Or display the two ways is wished on the same score.

In reply to by cadiz1

I'm not sure I understand you. What I was hoping Musescore would do automatically was to convert many voiced staff notation into 1 voiced lute tab notation. I write the staff notation first, then copy it into a lute tab score. I assumed that Musescore would not attempt to show all voices in the tab, but instead would convert them into conventional lute tab practice (ie, effectively one voice with only the shortest note values shown on top of the stave). I can't find a way to convert my many-voiced staff notation into single voiced tab without having to laboriously re-write the staff notation as if it were single voiced, then copying that into the lute tab. I want to avoid that if possible. I also don't want to write into the lute tab stave directly as that is equally time consuming. I want one staff notation version (for eg guitarists, showing correct voice leading) and one lute tab version showing only the fastest note values, for lutenists. Is there a way to do this automatically when copying from staff many voiced to tab one voiced, and if so how, and if not, Musescore writers should implement it.

In reply to by Conall

Thank you for specifying your use case.
"What I was hoping Musescore would do automatically was to convert many voiced staff notation into 1 voiced lute tab notation"[...]
As far as I know, no program is capable of doing this. Just imagine: you have three voices with different note values in the standard staff, and the program would have to destroy the polyphony and rhythm of voices to keep the shortest note values.

What you can do, however, is export your score in MIDI format. In the import panel, you can, among other things, reduce the writing to 1 voice - image below.

import panel.jpg

But there will still be some editing (at best) to do before you change the staff type (back to Tablature). Unfortunately, the MIDI Import panel no longer exists in V4. Removed (for the moment at least), see: https://musescore.org/en/handbook/3/midi-import

In reply to by cadiz1

Hey, thank you Cadiz (muchas gracias!). I downloaded Musescore 3, exported my multivoiced M4 staff notation file as a midi file, opened it in M3, specified only 1 voice in the import panel. This produces a messy one voice file with loads of tied notes (the original voices that had notes longer than the shortest note in a measure / bar are simply changed to many tied short notes). I then exported that as music xml file, opened the original M4 score (that had a part in multiple voices in staff notation), added a lute tab stave, opened the messy 1 voice xml file in M4, copied that into the lute stave of the original M4 score. It works very well. I only had to alter a few bits and do the usual choosing of what fingerboard positions I wanted to have the tab in.
While the above sounds cumbersome and slow, it's a lot faster than having to completely re-write a multiple voiced staff score into a single voiced one. It probably saved me at least 1-2 hours! Thanks again. I may try to write the above process more elegantly/ succinctly with examples and post it on Facebook lute & Musescore groups.
For now it looks like Musescore 3 is better for lute (because of the midi import panel) than M4. I really hope the panel is re-introduced in future M4 updates.
It must also be a fairly simple process for a Musescore coder to implement the above process and add it to M4 as a new plug-in?

In reply to by Conall

"I may try to write the above process more elegantly/ succinctly with examples and post it on Facebook lute & Musescore groups."
Good idea. But post it on this thread first, it might be useful to other members of this MuseScore forum.

"For now it looks like Musescore 3 is better for lute (because of the midi import panel) than M4"
For everything concerning early music and lute tablatures, the code is strictly the same between V3 and V4, and even V2. The main features were implemented in Version 2, 9 years ago... :(
It's true that the absence of the MIDI import panel is extremely detrimental for these use cases. This is one of the reasons why I still use V3.

"It must also be a fairly simple process for a Musescore coder to implement the above process"
It's always what we think, what we say when you're not the one to implement it...:)

In reply to by Conall

If you're going to use MS3 then the conversion of 3 (or 4) voices to a single voice would be possible via a plugin.

Would it be as simple as taking the shortest note duration at any tick and changing every note, (in all voices), at that tick to the same duration and moving to voice 1, or are there other complications?

In reply to by cadiz1

The time position of any note (or rest) in a MuseScore score is expressed in ticks. The score starts at tick=0 and a single tick is 1/480th of a crotchet. So it's a relative time value since the actual duration of a crotchet in seconds depends on the bpm tempo.

Note lengths are also expressed in ticks. A crotchet has a duration of 480 ticks, a quaver 240 ticks, a dotted quaver 360 ticks etc. See https://musescore.github.io/MuseScore_PluginAPI_Docs/plugins/html/tickl… (where division = 480).

From experience with other pluguns I would expect some difficulty with tuplets but I'll start with simpler scores that have no tuplets to see if the idea is worth pursuing. Customised note starts, (bringing a note before or after the beat via piano roll editor), would definitely be problematic.

In reply to by yonah_ag

  1. Don't worry about tuplets/triplets. During the Renaissance and Baroque periods, binary time division was almost exclusive, and ternary division was only a passing exception, indicated only by a 3 (without a bracket) and placed inside and at the beginning of the measures passage concerned. In short, we're 95% in the clear on this front.
  2. I doubt that lute and guitar players use the Piano Roll for early music, so don't worry about that either.

In reply to by cadiz1

That certainly helps a lot.

A quick test, (based on the measures that you showed below), shows that this will be possible but it needs a bit more intelligence than simply selecting the shortest duration at each tick because the following tick can have implications for the previous, as seen in this first test where the red crotchets should be quavers.

VoiceMerge.png

Moving notes out of voices 2, 3, 4 leaves behind rests which I can easily remove on a second pass. So, it looks promising but I just need to work out the logic for rhythmic grouping. Any pointers would be welcome!

In reply to by cadiz1

The rests get left behind by moving notes to voice 1 but I can easily remove these with plugin code. I need to think about all the possible rhythm groups for the time signature and produce an algorithm to deal with them. So there will need to be some 'look ahead' rather than just dealing with every tick ('chord') in isolation.

In reply to by cadiz1

Question: the red notes, did you color them in before posting the image (probably?), or is it the plugin that “admits” and signals its failure by marking them in red? In the latter case, this would allow the user to see right away where there's editing to be done (another time-saver).

In reply to by cadiz1

Not really as I have made a quick and dirty test by shoe horning some code into the TAB Walk plugin so it's not standalone. I'll separate the code and upload something simple before next weekend. (Unfortunately my day job is getting in the way!)

In reply to by cadiz1

I think that I should be able to process by detecting overlap, (which clearly is not allowed in a voice merge), then reducing the duration of the chord at the previous tick accordingly. This detection is easy since I know the start tick of the notes and also their tick duration.

This sounds very promising and would not need a knowledge of the rhythmic patterns.

In reply to by yonah_ag

@yonah_ag

I can't remember ...

Did I PM you my workflow experiments with regard to merging multiple voices into one? I'd have probably sent it a few months ago.

Here's what I recall off the top of my head.

When two notes (in separate voices) coincide temporally:

   • you have to convert the note with the longer face value to the face value of the shorter one
   • then you can successfully move it into the desired voice

This inevitable leaves a trail of rests in one or more voices. As you mentioned it's easy with plugin code to identify rests and delete them, but I stumbled on an interesting discovery. When manually removing rests you can select the last rest in a measure and press Delete (backspace) until they're all gone.

If you're interested in my thoughts and experiments on devoicing scores I'll try to find my notes and example scores.

scorster

In reply to by scorster

The backspace deletion of rests is handy and one that I use as it's often quicker than rightclick-select-samevoice-delete.

As for voice merging notes, it's a little more complex than converting based only on shortest value. As you can see from the example above, (red notes), there can be a need to revise durations according to 'what comes next'.

I think that I have an algorithm that is simple and will work. I have started coding it in TAB Ring as I can make use of the existing mapping features.

In reply to by scorster

Note: TAB Ring has a mode which works with non-tab scores so this voice merger won't be limited to tab.

The obvious process after a voice merge for lute or guitar notation would be to add a tab stave so that string data can be made available, then TAB Ring could restore the sustain lost by merging to a single voice.

In reply to by Conall

MIDI import is rarely a very good way to enter music into a notation software, but for the cases where it cannot be avoided, and for whatever reason you cannot quantize or other santize it in a DAW first, you can use the import panel to import the MIDI file, then save the score and load it into MU4 to taker advantage of the major improvements and bug fixes there.

This would be possible via a plugin in MS3 by adding intelligent voice merging to the TAB Ring plugin, (which would preserve your polyphony and rhythm). This would not yet be possible with MS4.

In reply to by yonah_ag

The OP doesn't want to preserve the rhythm of Voices 2 and 3, as here:

poly1.jpg

but to overall this rhythm with the shortest note values, as is the case in the lute repertoire.
Note values are completely erased, and it's up to the player to rebuild it when playing.

poly2.jpg

In reply to by cadiz1

Yes, I appreciate that is the case. This is exactly what a voice merge would do. Presumably the notes are supposed to sustain as per the standard notation. This is what TAB Ring does.

In fact I can't see any rhythm changes in your example, only note duration changes.

Here's a simple example of TAB Ring processing. You can hear the note's in voice 1 sustain properly after TAB Ring has been applied, and way beyond their written duration. This would work equally well if this score was collapsed to a single voice.

https://musescore.com/user/28842914/scores/13203472

This works with any tablature stave.

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