MIDI question

• Apr 28, 2015 - 10:49


I'm trying to use Musescore as much as possible as a software tha CAN do all MIDI OUT possible, using JACK, of course.

I'm on Win 7 Pro SP1, and what I've learned so far is:
Musescore sends to JACK the notes ON/OFF of the staves in the score starting at MIDI Channel 1 (top staff) to MIDI Channel n (<=16) for the n-th, last staff (with the exception of grand staff: the notes of both staves are sent to the same MIDI Channel).

With this info I can send MIDI OUT from MS to any VSTi, but unfortunately without any chance to change what MS sends. With the formidable program MIDI-OX I can do A LOT of things, but some MIDI Messages MUST be 'embedded' in the score.

My question: Is it possible to let MS send OTHER midi messages?

Practically, can I write 'something' in a score to say, e.g.:
1. THIS staff MUST from now on (that is, as an 'Instrument Change') send to MIDI Channel 3
2. NOW (that is, together with this NOTE ON), please send MIDI Control Change 64, Value 1
3. NOW (that is, together with this NOTE ON), please send MIDI Program Change 2

Thank you for any hint!


The guy you need to talk to on this is Igevorse who wrote most of the MIDI implementation for MuseScore 2.

I will endeavour to answer as much as possible, however.

Some instruments notably Trumpet and Stringed instruments will currently take more than 1 channel in the mixer. This is because they are capable of producing more than one sound, and is a relic of the old 1.3 sound architecture in which the only way to change a sound mid stave was by the use of channel switching.

So, Trumpet has 2 channels - Trumpet and mute trumpet.

The stringed instruments have 3 channels each - normal, pizzicato and tremelo.

So, the old way of switching to muted trumpet would be to use a Mute staff text and then use the MIDI action field of the staff text to switch to the muted trumpet channel.

Now of course we have the means to send a program change direct from the staff, using the instrument staff text, so it is possible to reduce the number of channels used by lying to the Instrument setup dialogue by choosing an instrument with only one channel and then choosing the correct sound in the Mixer.

AFAIK the only other MIDI message sent direct from the staff is the Sustain message #64 used for the Sustain Pedal.

Of course if you are working with VSTi's then you may be wishing for other controller messages to be sent, such as the expression controller #11, but currently MuseScore doesn't send these, relying on Velocity to control dynamics - this is something I, amongst others, am pushing for MuseScore to implement in the next version.

I hope this makes things a bit clearer for you :)

In reply to by Jojo-Schmitz

Thank you Jojo, now I've seen the three possibilities when I define the Staff Text on a Violin Staff. Unfortunately the MIDI Actions remain untouchable!

I think that here the developers have a GREAT opportunity: to make this dialog boxes fully available, in this way:

    - Making the text stuck to a precise rhythmic position (is perhaps already so?)
    - MIDI Channel: user definable from 1 to 16 (perhaps with the possibility to define a MIDI port, to overcome the 16 Channels limit...)
    - MIDI action: insert a [CC num,val] or a [PC num] (to begin with... :-)

It is a pity, but now Musescore is unusable for me... I must wait for a new version, hoping in these implementations!

Thank you

In reply to by ersteller

Text is already tied to a specific time position.

Do keep in mind, the purpose of MuseScore is notation, and it works extremely well for that purpose. So it's only "unusable" if you are trying to use it for something else other than notation. But hopefully, gradually, over time, improvements will be made here and there in playback as well.

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