Programming soundfont sound changes

• Jun 22, 2021 - 19:41

Hi, let's say I have two custom soundfont instruments (or two presets in a single .sf2, does not matter, I can construct it either way) that gives me two "sounds" in the mixer.

I have provided an additional instruments.xml file to MuseScore so that InstrumentA and InstrumentB can be loaded from the score editor as well as imported from MusicXML--wonderful!

However, when I load my soundfont file(s) into the synth, my new sounds float to the top of the sounds dropdown (great!) but InstrumentA and InstrumentB both default to SoundA. (uh-oh!)

In essence, I understand how to program instrument changes between InstrumentA and InstrumentB in musicXML, but in MuseScore they will both read from SoundA without manually fixing this in the mixer, which isn't practical for hundreds of files with dozens of sound changes.

Does MuseScore expose a way to get at the "sound" list loaded from the soundfonts? For instance, can I program InstrumentB to always use the second sound in the list, either with instruments.xml hackery, or musicXML tags?



MuseScore uses the <program value="X"/> child inside the Channel tag of the Instrument in the instruments.xml to match the default sound of the instrument.
X being the General MIDI compatible sound choice.

So make sure that X matches the patch number of the sound in your soundfont you wish to use.

In Synthesizer If you have two soundfonts, let's call them A and B, the Musescore software's synthesizer will prioritize the top one. for example: for Piano voice with patch number "1" in GM: if A is on top, that soundfont's Piano (or whatever voice is in patch 1); if B is on top, that soundfont's Piano (ie Patch 1) will be used.
if you want to use a patch from B-soundfont while the A-soundfont is at the top of the synthesizer, you must set it in the mixer.

The instruments of the soundfonts are sorted in the mixer's drop-down selection window according to the current order on the synthesizer. That is, after the topmost soundfont's patches are finished (from 1 to127), second soundfont's patches are listed hereafter, with starting with patch number 1. // See: mixer.png
eg: (A) piano1, 2, 3, ..., 126, 127, (B) piano1, 2, 3, ..., 126, 127, (C) piano1, 2, 3, ... , 126 , 127, etc.
PS: While this isn't the ideal way to list or use it, it's the way it currently works.

You should also ensure that the soundfonts you use in this score and their order are saved with the "Save to Score" button. // Later, when you open the score again, you can use the "Load from Score" button to recall the soundfonts you used before and their order. // reason: if the order of the soundfonts changes in the future, or the synthesizer has a different (and/or different order) soundfont than the ones you've used before.

Attachment Size
mixer.png 53.44 KB

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