Use drumset instrument but play MIDI pitches as the piano instrument
I discovered that the drumset instrument (specifically "Schlagwerk ungestimmt → Schlagzeug") with the drumset editor would be perfect for my use case except one issue:
My use would require that MIDI pitches are mapped to piano (or accordion) sounds, not drum sounds. And the mapping would not be normal but custom (i.e. pitch 60 is not c') .
My use case is this: I want to use a special MIDI hardware to input tablature notes (= Griffschrift) for Steirische Harmonika directly. It works perfectly with the drumset editor except that I cannot customize the sounds.
a) Is it an option, to extend MuseScore's drumset editor to also include a sound mapping? Is it technically possible for a drumset to play piano sounds?
b) Another option would be, to make the drumset editor available for other instruments. For my use case I could as well use violin clef and piano instrument if I had the drumset editor facilities at hands.
I've discovered so far:
- drumset.cpp which seems like a default mapping from MIDI pitches to note presentation (which can be overridden by the drumset editor).
- midiinstrument.cpp which seem to define instruments as well as specific drum sounds.
Comments
I'm not really understanding the context here - I don't know anything about Steirische Harmonika or special tablature it might use. But as for sounds, I don't see any reason why someone couldn't devise a soundfont that was set up as a drumset but actually had Steirische Harmonika sounds, or piano, or whatever.
In reply to I'm not really understanding… by Marc Sabatella
Sorry if it was unclear. The tabulature for that instrument is just crossed or normal note heads in a 5-line-system, just like drumset but with different sounds.
So, I could create a new sound font? Sounds good, thank you! I'll look into that documentation:
https://musescore.org/de/handbuch/soundfonts-und-sfz-dateien
Do you know how I can then set a specific sound font for an instrument or a system? Or is this hard-coded per instrument?
Oh, I've found something. If I remove the check mark at "Schlagzeug" (drumset) the notes are displayed at other positions. But I can probably just change the XML mapping for drumset editor to fix this. And then I'll try to add my own sound font.
In reply to Sorry if it was unclear. The… by nurfz
To use your soundfont, just load it as described in the handbook then select it as the sound for that instrument in the dropdown in the mixer.
In reply to I'm not really understanding… by Marc Sabatella
Thanks Marc, I got it work :) The .sfz files are really easy to change.
However, looks like I have to add my SoundFont in the Zerberus tab of the Synthesizer after every restart of MuseScore. MuseScore doesn't remember it.
In reply to Thanks Marc, I got it work :… by nurfz
You need to save the setting, in the synthesizer dialog
In reply to You need to save the setting by Jojo-Schmitz
Ah, alright, thanks: "Save in score"
In reply to Ah, alright, thanks: "Save… by nurfz
Nope, that's not the setting I mean. See https://musescore.org/en/handbook/3/synthesizer#synth-settings and "Set as default"
In reply to Nope, that's not the setting… by Jojo-Schmitz
"Use as default" / "Als Voreinstellung verwenden"?
Yep, that works! Thanks.
In reply to "Use as default" / "Als… by nurfz
Exactly
Have you considered using a normal staff with the real pitches but using the "fix to line" option for a note?
In reply to Have you considered using a… by jeetee
Could you tell me more about the "fix to line" option?
The reason I went with the drumset staff is that I can set the mapping from input MIDI pitch to note appearance (position and head type) in the drumset editor.
In reply to Could you tell me more about… by nurfz
You can set notehead types in the inspector too, and you can position notes using the fix to line option there as well: https://musescore.org/en/handbook/3/inspector#note
In reply to You can set notehead types… by jeetee
Ah, I understand, thanks. But that's not what I want. I want note entry with a special external MIDI hardware and no manual tweaking of notes.
In reply to Ah, I understand, thanks… by nurfz
ASo , it's not like a normal five line staff, in that the notes line-space-line-space etc aren't a step apart, but kind of randomly scattered around in pitch? If so, then indeed, a drumset or the "fix to line" setting would achieve that. A plugin could probably be created to automate the line fixing and notehead setting, and that might be easier than designing and creating a soundfont.
In reply to ASo , it's not like a normal… by Marc Sabatella
Right, the sounds of tabulature notes are "kind of randomly", not related to the displayed note position.
I have written a plugin for that. The plugin translates normal music notation to the equivalent tabulature and corrects the "played pitch" of each note. So the tabulature can be played correctly if created by the plugin.
But the plugin cannot handle the real-time MIDI input.
The special MIDI hardware cannot send the real MIDI pitches (i.e. notes) because that would be ambigous. For example, a key on the MIDI hardware makes the note A4 and another key makes also the note A4. That is, multiple keys are giving the same MIDI pitch. However, the tabulature is all about keys, not notes.
In reply to ASo , it's not like a normal… by Marc Sabatella
PS: The "fix to line" setting would have been an option for my plugin. I don't remember if there was a reason that I didn't go that way... maybe because it's poorly documented (
QVariant fixedLine
).Instead, I just changed the pitch and set play events.