Note types and instruments.xml

• Apr 18, 2011 - 00:59

In another post in another thread (http://musescore.org/en/node/10243#comment-34621) I proposed the following:

The idea of having different noteheads automatically invoking different sounds is a really good one, though! Right now, the only way I know to access the different sounds is through staff text elements, or "instrument change" in the nightly builds. But just as percussion staves let you define different note types, that sounds like a wonderful enhancement that could be added for other instruments.

In fact, it also suggests to me an elegant way to accomplish my own #1 feature request: "slash" notation for lead sheets. Simply allow instruments.xml to define a special note with a special notehead, locked to a specific staff line and set to no playback. Define one of these for stemless slashes, one of these for rhythmic slashes. Allow keyboard shortcuts to create that special note type just as easily as we create ordinary notes, and MuseScore would then become the easiest of the major notation applications for that purpose!

On second thought, the second paragraph isn't quite what I'd actually want. I wouldn't want this to be instrument-specific; I would want *any* instrument to be able to use these special note types. But still, this seems like a very promising mechanism. I would see it working like this:

First, there would be a new global section of instruments.xml, probably right alongside the current "Articulation" section). It would consist of declarations that look very similar to the current "" declarations, but they would apply to all instruments. Here is how I would envision the "slash" notation looking:

5
4
0
Slash
-1
J

This defines a slash as a note type with a slash head, appearing on the fourth line (regardless of transposition) with no stem, playing back with 0 velocity. This note could be entered by pressing "J" while in Note Entry mode. A similar note type could be defined with a stem parameter 0 or 2, to get a normal or forced-down stem, for use in rhythmic notation.

The NoteType could also have parameters to select MIDI channel/program, so that guitar (and other instruments) could be configured so that different noteheads triggered different sounds. Unlike the slashes, or the drum notation these are based on, these wouldn't be tied to a specific staff line. So a shortcut wouldn't be expected to create the note directly. Like the drum palette, there would probably be a NoteType palette, and you'd just drag one of these to the staff to create one. Or perhaps the shortcut might place the note at some arbitrary pitch level but let you change the pitch normally. Or perhaps, if no "line" parameter were given, hitting the shortcut wouldn't actually place the note, but would instead set the NoteType for the next note(s) entered.

Anyhow, I'm sure there are many other ways these types of features could be implemented, but I like that this seems fairly consistent with existing methods, and that it allows the system to be user-extensible.


Comments

Eeek! My example of the notation got parsed by the forum software as HTML code. Oh well. the intent of the

5
4
0
Slash
-1
J

was that these were parameters to various XML tags. NoteType being the overall container (analogous to Drum in the current system). 5 was the Head, 4 the Lines, 0 the Velocity, Slash the Name, -1 the Stem, and J the Shortcut.

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