Implementing more MIDI Controllers
Hi all!
First of all, congrats to the developers, and the community.
With such an extraordinary piece of software as musescore 3.1 it is logical for the rest of us (who are not developers) to ask for more :)
I've noticed that currently, musescore's synthesizer implements CC 1 (modulation), 2 (breath), 4 (foot), and 11 (expression) MIDI events under the Dynamics tab.
It would also be very useful to implement CC 7 (Volume) in order to "fake" crescendo/decrescendo dynamics, because for the most of soundfonts and sfz's files this is the only of those five MIDI controllers they understand. This becomes especially important when we use musescore in combination with external VST plugins and samplers (like linuxsampler). For example i have tried to use musescore with VS Chamber Orchestra, (VSCO v2.1.1) without success, as long as dynamics is concerned...
Is this implementation of CC 7, scheduled for a next release of musescore (e.g 3.1.x) ?
Thank you
Comments
Perhaps @TheOtherJThistle will comment on this. He's the one who wrote the code to implement Single Note Dynamics, and hopefully my mention sends him a notification to look at this.
In reply to Perhaps @TheOtherJThistle… by mike320
@mentioning here doesn't do anything unfortunatly. But I pinged him on Telegram ;-)
In reply to @mentioning here doesn't do… by Jojo-Schmitz
I guess @mentioning only works in the issue tracker? I know I've gotten e-mails that say "In case you mised it...", but I don't know if any came from the forums.
In reply to I guess @mentioning only… by mike320
Not even there. Works only on musesore.com
In reply to Not even there. Works only… by Jojo-Schmitz
You must have these notifications turned off. I've gotten notifications like this in the last week from the issue tracker.
In reply to You must have these… by mike320
Sure it was via an @mention? Those "In case you missed it..." are from musescore.com and only there
In reply to Perhaps @TheOtherJThistle… by mike320
I believe CC7 is reserved for use by the mixer to set instrument levels. Perhaps somebody who knows the code better could correct me if I'm wrong. Using CC7 for single note dynamics would effectively break the mixer, unless SND was reprogrammed to account for mixer levels (use mixer value as maximum expression value).
In reply to I believe CC7 is reserved… by s.chriscollins
Well Christian.
Since each instrument operates on different MIDI channels, altering a cc7 value from e.g 40 to 120 of some channel, is like altering Dynamics from pp to ff and stay there. It should not affect other instruments on other channels or break mixer's settings. If we need more than 16 instruments in the score the extra ones could be assigned in a different MIDi port. (The first 16 instruments in Port 0, the next 16 in Port 1 and so on...)
But again musescore may be implemented differently!
I don't know
In reply to Well Christian. Since each… by vasmakk
My point is that in MuseScore, CC7 is used by the mixer to control the balance between instruments. For example, if the oboe is too loud compared to the other instruments, you'd use the mixer to reduce its volume from 127 to, say 100. But if the single note dynamics manipulates CC7, you would no longer be able to make such balance adjustments. In other words, CC7 is already dedicated to mixer track volume, so using CC7 also for dynamics would interfere with that.
As a workaround, you can use a MIDI routing program such as MIDI-OX or QMidiRoute to transform CC2 events (or whatever CC you set in MuseScore) into CC7 for your external MIDI sources.
In reply to My point is that in… by s.chriscollins
Oh, now I see!
Thank you for clarifying this...
By the way, I use QMidiRoute very often, when for example, I route MIDI events from musescore to software samplers and synths, in order to eliminate the annoying "Program Change" that musescore's instrument tracks always send initially ... But the fact that QMidiRoute could also, transform MIDI events, never crossed my mind. :)
This is not just a workaround. This is the solution, to my problem.
Thank you once more for this tip Chris!
Being able to add other midi messages in musescore could be useful too.
CC#5 = Portamento Time, CC#65 = Portamento ON/OFF , CC#71=Timbre/Harmonic Intensity, CC#72=Release Time, CC#73 = Attack time, CC#74 = Brightness, CC#75 = Decay Time, CC#76 = Vibrato Rate, CC#77 = Vibrato Depth, CC#78 = Vibrato Delay, CC#91 = Reverb Send Level, CC#93 = Chorus Send Level.
It would enable to have more control of the sounds coming from a General MIDI synth.
I don't know if Fluid or Zerberus respond to these MIDI messages but my Yamaha DGX-640 does.
In reply to Being able to add other midi… by TechDAWg
CC#5 = Portamento Time MSB, CC#37 Portamento Time LSB, CC#65 = Portamento ON/OFF, CC#84 = Portamento Control are being use by https://github.com/musescore/MuseScore/pull/4824 to implement #127341: Add Glissando playback style portamento.
I guess CC#73 = Attack time might be usefull for slur playback (like if setting that to 0, for some instruments like woodwinds and brass)?