Drumset of MusicXML sounds pitch
Reported version
3.2
Type
Functional
Frequency
Few
Severity
S4 - Minor
Reproducibility
Always
Status
closed
Regression
Yes
Workaround
Yes
Project
- Open attached mscz (produced in 3.2.3).
- 'File'>'Export…'.
- Choose MusicXML and save.
- Open MusicXML (also attached).
Result: Drums sound piano.
Workaround: Untick drumset and tick again.
Note: Also reproducible with a 2.3.2 mscz and MusicXML - it all works fine in that version.
Using MuseScore 3.2.3 - Mac 10.11.6.
Attachment | Size |
---|---|
Drumset of MusicXML sounds pitch.mscz | 3.1 KB |
Drumset of MusicXML sounds pitch.musicxml | 15.16 KB |
Fix version
3.6.0
Comments
#57751: Import of MusicXML file with no drum set info should assume reasonable defaults - I don't know if this is related; it pre-dates the development of series 3.
MusicXML test file mtest/musicxml/io/testDrumset1.xml sounds like piano instead of drums in current MuseScore releases (3.4.2, 3.5.0 and master). MuseScore 2.3.2 and 3.0.0 still sound OK, could not quickly test the other releases.
The workaround mentioned is unticking / ticking the "Drumset" checkbox in the mixer panel. Saving the file imported from MusicXML (sounding like piano) in MuseScore format and loading the MuseScore file results in drum set sounds again. Thus it seems the mixer setting are incorrect for a drum set part after MusicXML import.
Relates to #270643: [EPIC] MusicXML import/export issues
After a git bisect, I found that the bug was introduced in commit 830f989f718 as part of PR #4655.
I found that here the bank is set to 128 for the channel part->instrument()->channel(0), which is the same pointer of masterScore midiMapping
masterChannel
. However, for the channelarticulation
, which was created here as a clone of that channel before the bank was set to 128 (if I understood correctly the code), the bank is not updated to 128 afterwards.@dmitrio95 : sorry to bother you, but you are the expert in the midiMapping part of the code: do you know how to access and modify the corresponding
articulation
channel in the midiMapping?See PR https://github.com/musescore/MuseScore/pull/6955
Thanks, ABL!
Fixed in branch 3.x, commit d68f31b2d3
fix #292387 : [MusicXML] Drumset of MusicXML sounds pitch
Sorry for being late with this, but to answer this question:
> do you know how to access and modify the corresponding articulation channel in the midiMapping?
You can access the channel in MIDI mapping by getting
playbackChannel()
for the channel in the instrument, either with the corresponding helper method or directly from MasterScore.But I think that making channel's settings correct before adding it to MIDI mapping (which is what you did in your PR) is indeed a better solution in this case.
Maybe you could also shed a light on #310821: Chord Symbol (Ctrl+K) on drum stave sounds as percussion and my (rather incomplete) PR for that?
Commented in https://github.com/musescore/MuseScore/pull/6584.
Thanks
Automatically closed -- issue fixed for 2 weeks with no activity.