Allow exporting scores without invisible items.

• Jan 1, 2019 - 04:27
Reported version
3.0
Type
Functional
Frequency
Once
Severity
S5 - Suggestion
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project

I've been working with blind musicians the past couple of months to make scores they can transfer to Braille. One problem with this is that invisible items are transferred to Braille and there is no easy way to skip them without going through either the XML or score and removing all invisible items. There are currently options to omit system and page breaks. It would be a big help to blind users to be able to omit non-visible items as well. This will make a lot of scores that are currently on MuseScore.com easier for them, and make it easier to create a score that is both easy for the blind to use and has proper playback created using invisible items.

I know accessibility is a priority to many of the contributors and I hope this feature will be made an appropriate priority so it will end up in one of the next few updates.


Comments

This should be fairly trivial to implement for most elements, but it will require a bit more thought for others:

  • Invisible notes will need to be replaced with rests so that the measure remains the same length.
  • Measures with invisible time signatures will need to be converted to irregular measures, or the time signature exported anyway.

Invisible key signature will also require some thought, but I imagine they are quite rare anyway.

In reply to by shoogle

Voices will no doubt be the most problematic item with this option.

Concerning invisible notes. If everything in a measure in a given voice is invisible, the voice should simply not be exported in that voice.

I'm not sure how it exports, but in measures with multiple voices with rests that have been deleted or invisible, they should both be exported the same way. The most useful for Braille conversion would be if the invisible rests not in voice 1 were deleted not exported and deleted rest not in voice 1 remain deleted. I'll consult with a blind user to confirm this and report back if I'm wrong.

In short order after reading about invisible time signatures being very rare I ran across a place where they are needed.

On page 73 of Debussy's nocturn I found a place it would be irrational to not use an invisible local time signature. Prior to this, the entire orchestra is in 12/8 time.

The Soprano (Sopr.) is still in 12/8 while the rest of the orchestra is in Common time. This remains the case for several pages after this.

For invisible notes and rests, it's easy to deal with them in Musicxml, and sometimes they may be needed in braille, e.g., for harp glissandi, unless they are for playback. But these are easy to get rid of. The most difficult thing is hidden articulations, dynamics, ties and slurs. For hidden time and key signatures, Musicxml can handle them as and .
One workaround for Musescore program, not Musicxml, is to create a plugin to remove all invisible things. In the mscx file, there are lots of 0 fields, and if the plugin can find all such tags and delete the whole element, this will be much easier than doing xml export. But this may be a bit dangerous when meeting notes/rests. We should think of a way to make all things securely.
Currently I'm very afraid of working with existing scores which have lots of such things. I have to go to the uncompressed Musescore files and delete lots of such codes, which wastes my expensive time hours by hours! There are lots of good scores like Wagner's opera excerpts, but I'm frightened and can't do them in braille!

Regards,
Haipeng

A final confirmation for Leon or others to deal with:
1. It's of no problem to keep hidden notes and rests exported, because they already have the print-object="no" attribute;
2. For hidden time and key signatures, the same attribute will work too, so are ok to export;
3. The hidden articulations, symbols, dynamics, metronome marks and texts should definitely be excluded during Musicxml export, for they have no such an attribute, and the re-import will then generate lots of unwanted things. It will also harm braille transcription, except we use special script to remove these nodes. This is the only point the developers should do. Thank you!

Haipeng

@hhpmusic, thanks for confirming!

  1. That's good because it would be tricky to exclude notes and rests without corrupting a measure (i.e. the number of beats would no longer add up to the time signature).
  2. Also good for the same reason.
  3. It should be possible to exclude these things (i.e. articulations and text, etc.) without impacting anything else.

So in summary, very good news indeed!

Dear Leon,
Is this one easy to implement? Just filter out slurs, ties, dynamics (including hairpins), pedal symbol and lines, metronome marks and texts. Generally, all playback-related non-note information should be filtered out when exporting. Notes, rests, key and time signatures can be exported with print-object="no", as Musescore behaviors now.

Haipeng