Instrument Changes: add ability to change back to a previous instrument

• Dec 25, 2014 - 21:23
S5 - Suggestion

The "Instrument Change" feature works very well until you want to change back to a previously used instrument, in which case a new Mixer entry is created when this may not be desired.

Consider this common format for a duet where two singers alternate lines/verses:

1st Verse: Person 1 --> 2nd Verse: Person 2 --> 3rd: Person 1 --> 4th: Person 2, etc.

Desired behaviour:
- Show 2 separate entries in the Mixer with separate instruments: "Person 1 (Bassoon)" and "Person 2 (Violin)".

Current behaviour: (see attached file Duet - Change Instrument Example.mscz)
- There are 5 entries in the Mixer (a new entry is created each time you change instrument)
- These entries are given the name of the instrument (e.g. "Voice") instead of the name of the part (e.g. "Person 1")

Possible solution:
Make necessary changes to Mixer and, when inserting "Change Instrument" text, present the user with a list of instruments/parts already present in the score and/or the option to create a new one. i.e. inserting "Change Instrument" text would trigger the option (perhaps via the Inspector?):

Change instrument to:
- Person 1 (Bassoon)
- Person 2 (Violin)
- Create new instrument...


Note: Although the desired behaviour can sometimes be achieved by using a separate staff for each person and the "Hide Empty Staves" feature, this is not good enough if the singers alternate too often. This is especially true in Opera, Operetta and Musical Theatre.

P.S. Since the "Change Instrument" feature works fine I see this as more of a "feature request" than a "bug", but feel free to change it if you disagree.

Attachment Size
Duet - Change Instrument Example.mscz 7.41 KB



Thanks for the report! Hope you don't mind the title change. ;)

It would be tidier, but I think it could create problems in the long run, including with MusicXML. MuseScore is primarily about the visual aspects of sheet music, rather than playback (see this ). I think the solution in your example would be to use staff text.

You might be interested in this though.

Thanks for the comment, no worries over the title change ;) I understand that the priority is notation rather than playback, but to me this seems the next logical extension of the "Change Instrument" feature.

I like the suggestion you linked to for sub-instruments within the Mixer. This has given me another idea for a way to achieve what I want (See new example: Duet - Change Instrument Example2.mscz). I put Person 1 and 2 on separate, hidden staves and have a third stave that is visible (but muted) with the two lines combined. This gives completely separate control via the Mixer, as desired. However, editing isn't intuitive (you have to change both the hidden and visible line) and it isn't currently possible to completely hide a staff anyway (or is it?).

Now, would it be possible to implement this hidden-staff solution behind-the-scenes without breaking the MusicXML? So when you "Change Instrument" you are actually swapping between other (completely hidden, even on-screen) staves? The visible staff simply shows the relevant section from the the hidden staves. When exporting to MusicXML the hidden staves are simply made visible (or kept hidden if that is possible) and the visible stave is hard-coded (no longer linked to the hidden staves). If done correctly this could also solve: #42306: Option to use a different instrument for each voice

To me this seems to be the natural solution to the problem; you can think of the "Change Instrument" text as acting like a Symbolic Link to another (hidden) staff.

Attachment Size
Duet - Change Instrument Example2.mscz 10.23 KB

It seems to me that this could solve the wider semantics issue of Part vs Instrument by making them equivalent:

  • Each Part would get a separate (possibly invisible) staff and a separate (visible) entry in the Mixer. i.e. each Part is assigned an Instrument
  • Adding a "Change Instrument" marker to a staff would simply display the contents of one of the other Parts from that point up to the next "Change Instrument" marker.

I can see this having benefits for easy notation as well as for playback. For example, it could be used to great effect to automatically add Cue Notes during part-extraction of a full orchestral score. Imagine the flute has 30 bars of rest while the violins play. Instead of the flute player having to guess when to come back in you would "Change Instrument" to the violin 5 bars before the flute comes in, and then "change back" to the flute. Since you are linking to the violins (rather than copy/pasting) any subsequent changes made to the violin part will be reflected in the flute's cue notes.

Title Option of using existing entry when inserting "Instrument Change" Allow "Instrument Change" text to select existing instruments in the mixer channel


Title Allow "Instrument Change" text to select existing instruments in the mixer channel Allow "Instrument Change" text to select existing entries in the mixer channel

Going a little further:


Current instrument: ________

O Switch to new instrument

O Switch back to previous instrument

And below, the instrument list would show either all available options, or only channels already in use for the instrument, depending on the selected button.

EDIT: Even better, it could be two buttons in the Inspector that would open up different dialogs.

Do not ignore the possibility that there will be more than only 2 instruments on a line. Your sample only seems to give 2 instrument options. I have seen classical scores where the horn players go through 3 horns.

I have also seen some "composite" scores that have various different instruments on the lines as needed. They are weird, hard to read, but they do exist. One was posted here within the last 72 hours. These will also have multiple instrument changes on a line. The multiple instruments on a staff option being worked on for 3.0 might cover this situation, but I'm not sure. I'm also not sure how this feature will be integrated with the multiple instruments on a staff. Will that feature make the instrument change issue a non issue? I'm just asking to get people thinking about that.

I'm well aware that there may be more than two instruments:

And below, the instrument list would show either all available options, or only channels already in use for the instrument, depending on the selected button.

I'm not sure what you mean about "composite" scores.

Here's the link to the thread for what I'm referring to as a "composite" score:

I don't know what else to call it. It has drum, and piano on the same line. After a few measure the piano goes to a single line for both hands and the base part is placed on the bottom staff. Of course voice parts get added in the normal way. I've seen similar things before, but not often.

I was only looking at what you said about the the instrument changes and I only saw you refer to 2 instruments. I don't want anything overlooked. I now understand the rudimentary dialog box you made. I'm a little older then most of you, so bear with me if I ask something stupid.

Title Allow "Instrument Change" text to select existing entries in the mixer channel Instrument Changes: add ability to change back to a previous instrument
Reported version 2.1  
Regression No
Workaround No

This issue refers specifically to the situation where a staff for "Instrument A" changes to "Instrument B" and then back to "Instrument A" again at some later point in the score.

In this situation, MuseScore currently creates two Mixer entries for Instrument A when only one is needed. However, it doesn't just apply to the Mixer. Any changes to staff properties (e.g. long and short name, transposition, number of staff lines, etc.) for one instance of Instrument A should affect all other instances of Instrument A.

The proper way to solve this is as follows:

  1. When a user attempts to add Instrument Change text, they should not be able to edit what the text says (at least not by double-clicking on it).
  2. Instead, the Inspector will show a dropdown list of previously used instruments, and the option to "Add another".
  3. The text displayed in the score will be the "long instrument name" for the selected instrument (but this could be configured or overriden by another option in the Inspector).

The only question is whether the dropdown list should show previous instruments:

  • from the current staff only?
  • from any staff, including the current one?

The first option is easier to implement and covers the majority of cases. The second option is more complicated, but covers cases (usually in vocal scores) where instruments move between staves. However, I think there are better ways to deal with that problem, so my vote is to restrict this to instruments from the current staff.

Having thought about it a bit more, I think this feature should definitely be reserved for the simple case where you are telling a musician to put down one instrument and pick up another. This is a semantic marking. You would expect it to be visible in Continuous View as well as in Page View.

More complex cases where unrelated instruments (or singers) share staves simply to save paper should be handled in a separate feature (or preferably via style settings). Those cases are non-semantic. You would not expect unrelated instruments to share staves in Continuous View.

TLDR: The instrument list in the Inspector should only contain instruments from the current staff/part.

I agree with the basic idea that staves coming and going like often happens in vocal scores should be handled as they currently are by using the proper staff and hiding empty staves.

I would say that you should allow a "New" instrument to be one that had been previously used, so the user would need two staves rather than three when the SA part is split to two staves then combined back to one staff. You would then be able to have the first staff be



Soprano (this uses the same instrument as SA)

then back to


The Alto staff would remain Alto and would be hidden as necessary.

The user would be responsible to keep straight the long names so they will be listed in the dropdown you propose. I don't see a reason previously used instruments should include other staves since one of the the primary purposes of this is to allow proper labeling of the staves. One clarinet staff is probably Cl. I while the other is Cl. II. A side effect will be fewer instruments in the mixer.

> "I would say that you should allow a "New" instrument to be one that had been previously used,"

I agree, though for a different reason to the one you give. My reason would be to enable different staff/Mixer settings to be used for the new instrument.

In my opinion, the particular case you mention (shared SA staff splits to separate staves for Sopranos and Altos, then recombines) is not something Instrument Change text should be used for. Obviously it can be used for that purpose, but I don't think it should be. The reason is that the two voice parts are sung by different people. In this case the text only refers to the arrangment of music on the printed page; it is not an instruction for any person to sing differently to how they were singing before (i.e. it is not an instruction to "change instrument").

You are trying to use Instrument Changes as a replacement for "div.", "unis." and "a2", but I would prefer to see those implemented properly in a separate feature. Until that happens, I would indeed recommend using three staves for splits like this.

> I don't see a reason previously used instruments should include other staves

No, because we just ruled it out. The reason would be enable you to switch between Sopranos and Altos midway through a system, but that counts as an abuse of the Instrument Change feature according to the above reasoning.

Even if instruments from other staves were included in the list, it would only be instruments that had previously been used on those staves (i.e. not instruments that are currently in use on any other staff at this point in the score). There should never be a situation where the same part is visible on two separate staves simultaneously.