musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.29k stars 2.66k forks source link

Request to add a missing instrument name #21662

Closed tpgettys closed 3 months ago

tpgettys commented 8 months ago

Your idea

I have created a score, and wish to change an instrument, so I double-click the instrument name, and am presented with a dialog titled "Staff/Part properties". Under "Part properties" there is a button titled "Replace instrument...". When I click that, at the top-left is button titled "Family".

After I select the Early Music family, I see "Treble Viol", "Alto Viol" and "Tenor Viol", but inexplicably, there is no "Bass Viol". Instead, there is a "Viola da Gamba". There are four sizes of Viola da Gamba, Treble, Alto, Tenor and Bass. Please change "Viola da Gamba" to say "Bass Viol".

Problem to be solved

There is an instrument missing from the family of Viola da Gamba, specifically the Bass Viol

Prior art

No response

Additional context

No response

Jojo-Schmitz commented 8 months ago

Rather add a "Bass Viol", keeping "Viola da Gamba" as the generic type?

tpgettys commented 8 months ago

I have no problem with that. The most important thing is to add a "Bass Viol" to the list.

On the one hand, keeping Viola da Gamba as well may create uncertainly in the user's mind (what does that mean? What is the distinction between it and the others?) In the recorder family there are 8 'flavors' offered in MuseScore. Should we then add a generic "Recorder" for that group as well?

On the other hand, when one says 'The Viola da Gamba' they almost certainly mean a bass viol. Likewise, when someone says 'The Recorder' they almost certainly mean the Alto Recorder.

Bottom line: whatever you decide is fine with me, as long as the Bass Viol is added.

Jojo-Schmitz commented 8 months ago

Seems there were a generic instruments in 3.x, like a plain Recorder (to mean the Soprano Recorder!), similar for Trumpet (to mean Trumpet in Bb), but there isn't anymore in 4.x?

tpgettys commented 8 months ago

I can see the value of having a generic instrument, especially for a transposing instrument like the trumpet. Bb makes sense for a "Trumpet". Likewise Bass Viol for "Viola da Gamba", and Alto Recorder for "Recorder" (the alto plays at pitch, whereas the soprano plays an octave higher than written).

Jojo-Schmitz commented 8 months ago

Ahh! Aparently I confused that due to their German names, Soprano Recoder -> C-Flöte, Alto Recorder -> F-Flöte, but that's just their lowest pitch, not their transpositioning. Still Recorder is Soprano Recorder in Mu3 (as Blockflöte is C-Flöte in German)

MarcSabatella commented 8 months ago

I disagree that most people associate the generic term "recorder" with alto. The soprano is by far more common, at least in the US. Every school child learns to play one as part of the regular curriculum. Pretty much everyone in the US is familiar with soprano recorder and knows it simply as "recorder", and few even know that other recorders exist.

It may of course be different in other countries, or within the field of early music specialists.

Jojo-Schmitz commented 8 months ago

As mentioned, same in Germany

oktophonie commented 8 months ago

'Generic' instruments were removed because they were literally duplicates of a more specific instrument with a different name, so they were needless clutter in the definitions file.

What might be nice is a way to define alternative names (aliases) for instruments, so that you can find them (and add them to the score) with different names.

Jojo-Schmitz commented 8 months ago

Something like

            <Instrument id="recorder-generic">
                  <init>soprano-recorder</init>
                  <family>recorders</family>
                  <trackName>Recorder</trackName>
                  <longName>Recorder</longName>
                  <description>Soprano or descant. Pitched in C.</description>
                  <genre>common</genre>
                  <genre>classroom</genre>
            </Instrument>

That'd take away a good part of the redundant/duplicate information, and so eases the maintainance.

BTW, soprano recorder currently is in <genre>earlymusic</genre> in in that only, that seems very wrong. Same for Alto recorder, often the 2nd instrument pupils learn after the soprano.

There also is

            <Instrument id="recorder">
                  <family>recorders</family>
                  <description>Soprano or descant recorder, pitched in C.</description>
                  <musicXMLid>wind.flutes.recorder</musicXMLid>
                  <clef>G8va</clef>
                  <barlineSpan>1</barlineSpan>
                  <aPitchRange>72-93</aPitchRange>
                  <pPitchRange>72-98</pPitchRange>
                  <Channel>
                        <!--MIDI: Bank 0, Prog 74; MS General: Recorder-->
                        <program value="74"/> <!--Recorder-->
                  </Channel>
                  <genre>common</genre>
                  <genre>classroom</genre>
            </Instrument>

But that is is lacking track-, long- and short name?!?! And so not offered at all. Seems e remnant of the former 'generic' one

Jojo-Schmitz commented 8 months ago

For the topic at hand here:

            <Instrument id="bass-viol">
                  <init>viola-da-gamba</init>
                  <family>viols</family>
                  <trackName>Bass viol</trackName>
                  <longName>Bass viol</longName>
                  <shortName>B. Vl.</shortName>
                  <description>Bass viol, also known as Viola da gamba.</description>
                  <genre>earlymusic</genre>
            </Instrument>
Jojo-Schmitz commented 8 months ago

See my draft/sample PR #21719, something to discuss?

Jojo-Schmitz commented 8 months ago

Similar issue for Flageolett, Ocarina and probably many many more

shoogle commented 8 months ago

@Jojo-Schmitz, your solution would work except it assigns a different ID to each alias, which is something we want to avoid. The viola da gamba has a tablature and a non-tablature version, so if you create a tablature and non-tablature version of the bass viol as well then you would have 4 versions of the same instrument.

Instead, we want the IDs to represent physical instruments. Within an instrument, you would be able to specify different aliases and notational variants.

In the XML, it might look something like this:

            <Instrument id="viola-da-gamba">
                  <family>viols</family>
                  <genre>earlymusic</genre>
                  <description>Bass viol, also known as Viola da gamba.</description>
                  <alias>
                        <trackName>Viola da gamba</trackName>
                        <longName>Viola da gamba</longName>
                        <shortName>Vla. d. g.</shortName>
                  </alias>
                  <alias>
                        <trackName>Bass viol</trackName>
                        <longName>Bass viol</longName>
                        <shortName>B. Vl.</shortName>
                  </alias>
                  <notation>
                        <staffType>standard</staffType>=
                  </notation>
                  <notation>
                        <staffType>tablature</staffType>=
                  </notation>
            </Instrument>

However, this is not a concrete proposal. It requires more research to determine which properties need to be specified within the notational variants, and how all this information would be presented to the user in the New Score dialog.

For example, we might decide that certain notational variants should only be available for certain aliases, in which case the XML structure I've shown above wouldn't work.

Jojo-Schmitz commented 8 months ago

That <init> method might not be the best, but has the extra benefit that it works out of the box and now

tpgettys commented 8 months ago

My reading of the above comment by oktophonie is that there are no longer any generic instruments. Since someone is addressing this request to add the Bass Viol they might want to also add "Soprano recorder" to the "Classroom" family. Right now there is only a tin whistle in the woodwinds.

shoogle commented 5 months ago

After I select the Early Music family, I see "Treble Viol", "Alto Viol" and "Tenor Viol", but inexplicably, there is no "Bass Viol". [...] Please change "Viola da Gamba" to say "Bass Viol".

@oktophonie, are you happy with this change?

shoogle commented 5 months ago

@tpgettys, that's to be expected. Firstly, the issue is still open, which means it hasn't been fixed yet. Secondly, when it does get fixed, the fix will arrive in a minor release (e.g. 4.4) rather than in a patch release like 4.3.1.

Patch releases are reserved for important bug fixes, whereas this issue is more of a suggestion / feature request.