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.14k stars 2.63k forks source link

Percussion staves muted when played through non-MS Basic soundsets #18966

Closed rgreen5 closed 1 year ago

rgreen5 commented 1 year ago

Issue type

General playback bug

Bug description

Certain percussion staves are being muted when you switch the output to a non-MS Basic SoundFont.

Steps to reproduce

  1. You will need to download Marc Sabatella's MS Basic - Individual sounds..
  2. Put these sf2 files in your user Soundfont folder. It is a good idea to delete any non-percussion sf2 files to save you having to scroll through large numbers of instruments later in the mixer.
  3. Open the attached MS3 file in MS4. drum_parts.zip
  4. Play it back and confirm that the two percussion tracks are playing correctly.
  5. Now, in the mixer, change the sound of both channels to another drumset, e.g. Jazz etc.
  6. Now listen again to the tracks.

RESULT: The "Drums" part is playing normally. But the "Congas" part is muted. There seems to be no obvious reason for this discrepancy.

  1. In the Instruments panel click on the cog icon for "Congas", click on "Replace instrument" and choose Drumset in "Percussion unpitched"
  2. Change the Sound in the mixer to Jazz etc.
  3. Play back again.

RESULT: The congas sound is restored but the notation is messed up.

MuseScore Version

MuseScore version (64-bit): 4.1.1-232071203, revision: github-musescore-musescore-e4d1ddf

Regression

Yes, this used to work in MuseScore 3.x and now is broken.

Operating system

OS: Linux Mint 20.1, Arch.: x86_64,

zacjansheski commented 1 year ago

@MarcSabatella Is there something special about the drumset sf2 files, numbered {128}, that could make them not play the sent midi pitches in this scenario? The other sf2s play sound

MarcSabatella commented 1 year ago

I'm not sure - I was kind of working by trial and error here. I can share what I know/remember and maybe someone can sort it out. Bottom line: it's possible there is an issue within MuseScore where Drumset is being mapped to bank 128 when applying soundfonts but other percussion instruments are not.

Here's the full scoop as I understand it:

This ZIP is just the MS Basic soundfont run through an open source tool that splits each sound into a separate sf2 file for easier use within MuseScore. It works fine for me if I take an actual Drumset instrument with conga pitches and select the Jazz kit. But the Congas instrument does not play indeed. I tried the same experiment with the Concert Snare Drum instrument and got the same result. The snare sound works fine in the Jazz kit if applied to a Drumset instrument, but not when applied to a Concert Snare Drum instrument.

It's not about the pitch numbers, because if I copy & paste from the congas or snare staff to the drumset staff, it works. And replace isntrument works as well, as mentioned in the report. So that's what got me assuming it's about bank opr preset numbers.

If I recall correctly, the drum kits are normally bank 128, but I'm not an expert in this area - not with respect to MsueScore or soundfonts in general. The tool is one I forked from another repo and customized a little to work better with MuseScore. Here is the commit with my change: https://github.com/schnitzeltony/soundfont-cmdline-tools/compare/master...MarcSabatella:soundfont-cmdline-tools:master

Looks like I force the bank number to 0 but only for non-drumset patches. I think that forcing the bank number to 0 for drum kits caused the Drumset instrument not to work so I left it at 128. But maybe that only works with Drumset and not with other percussion instruments, due to something in how MuseScore set up the mapping? Perhaps forcing the bank to 0 would work for the other percussion instrument but break Drumset?

zacjansheski commented 1 year ago

Selecting Jazz kit in the mixer is now possible thanks to https://github.com/musescore/MuseScore/pull/18976

Selecting Jazz kit here does not mute the Congas

https://github.com/musescore/MuseScore/assets/69917893/846a993f-1f51-4db4-9e1b-386a833c5279