Hi Maxim,

> I just made an example of automation tracks for volume, but
> actually it could be done for any midi parameter. But this 
> feature is complex and it could be not easy to implement.
Yes, I understand that, right now, the focus is beta testing MuseScore 2. I
was just suggesting to pave the way for this feature in a future version.
Out of curiosity, how complex do you think it would be to implement this
feature? What considerations should a developer have in account? Maybe, with
time, I may try to help implementing this.


> I don't understand the importance of including Note On/Off 
> events in MIDI Actions. If you want to make a new kind of 
> notation, it's better to write it in code or make a plugin. 
> As I understand, you want to place some elements on the 
> staff that would not produce midi events. And you want to 
> make midi messages by yourself, right? It could be too 
> complicated to keep all in sync if changing elements would 
> not affect midi events. Also, I don't know what is  
> keyswitched sample library :(.
My idea is to place elements on the staff that can produce "hidden" midi
events (user hears the result without seeing the MIDI tweakings behind it,
like when playing back slurred notes - note length and attack/velocity are
changed, but not visibly).
For instance, a diatonic cluster chord from C to B (same octave), would
comprehend all white keys from C to B. The classical way to notate this is
to write all natural notes (C, D, E, F, G, A, B) vertically, like any other
chord. But the modern way is to write just the lower and the higher notes
and use a vertical line to unit both.
Therefore, using "hidden" MIDI Note On/Off events would allow to play back
all seven notes, while only showing two (lower and higher), without the need
to create/develop a new notation representation, since notes and vertical
line symmbols are already present in MuseScore.
Regarding keyswitchting and sample libraries, first let me explicit some
differences between GM/GS/XG soundbank and dedicated sample libraries. A
GM/GS/XG soundbank loads all instruments sounds into memory, making them
readily available and allowing the user to change from one instrument to
another through Program Changes (using CC0 or CC32 MIDI controls). The
inconvenience is the limited number of different articulations/techniques
available for each instrument (in GM, Strings only have sustain, pizzicato
and tremolo). Additional techniques (staccato, detache, e.g.) are only
available through emulation, by tweaking MIDI CCs and trying to reproduce
the characteristic sounds of those techniques.
A sample library has dedicated samples for the most common techniques of a
given instrument, rendering them much more realistic than with a soundbank
and the number of different techniques available is quite larger. But, the
drawback is that instrument changes aren't so simple, since each instrument
has to be loaded individually and they can't be changed through Program
Changes (sample libraries don't usually respond to CC0 or CC32).
So, with a sample library, each different instrument must have its own MIDI
channel. And how do we change from one articulation to another? Through
keyswitches: MIDI keys/notes outside a particular instrument's range, which
act as triggers to change between different sample layers. For instance, a
good Violin sample library has multiple velocity sample recordings: a note,
within the violin's range (starts on G3), played very soft activates the
"pianissimo" sample layer, played mediumly hard activates the "mezzo-forte"
sample layer, etc.
To change from "sustain" to "staccato", or pizzicato, we press e.g. C0, C#0
or D0 (therefore outside the violin's range), as keyswitches, on a MIDI
keyboard (real or virtual), or we place (and hide) on the score the note
that activates the desired technique. These notes aren't meant to be seen,
they just serve to activate a specific technique and this is a common
approach in nowadays sample libraries. Given this, imagine that I want to
change from sustain (default) to pizzicato, when using a certain sample
library. I'd like to write "pizz." using staff-text, go to "Staff-Text
Properties"->"MIDI Actions" and incert a NoteOn event for C#0, followed by a
NoteOff event, thus activating the pizzicato technique. Is this logic to
you?



> I didn't know before about OOMidi, but seems like it could be 
> a great project. As I said, developers focused now on the 
> beta, so I didn't think they would rebuild MuseScore to 
> integrate with DAW now. Also, since project died, MuseScore 
> developers should make two projects: OOMidi and MuseScore. 
> Anyway, I hope they read this and will recall about OOMidi 
> after beta1beta2/release/somewhen.
OOMidi (or OOStudio) was a very promising project, whose last stable version
is now only available on the KXStudio - a Ubuntu/Debian based distribution -
repository (maintained by "falkXT"; he's very helpful, so he may be
interested in participating on such an endeavour). But other actively
developed DAWs could also be options (MusE, Ardour, LMMS,...), who knows,
for MuseScore 3.x?

> It's really a great project. We have already talked with them. 
> I can't say anything about joining/merging our code, but 
> MuseScore should be ready for this. Yes, I am talking again 
> about fixing bugs and preparing for the beta.
I took the liberty to contact Emile and he seemed happy about the interest
in their project. I think they might agree with a "quid pro quo"
cooperation. They share their code, while getting more developers for their
project. It would definitely be a very good feature to incorporate in
MuseScore, not found in any other notation software. But, of course, first
things first: take care of MuseScore 2 bugs and beta releasing!

Unfortunately, I'm on vacation right now and until the end of the month, so
I'm unable to compile and test your brench of MuseScore, with its new MIDI
port/channel and improved InstrumentChange features :(. But I hope many
others my be able to do it, prior to the first beta release.


Best regards



--
View this message in context: 
http://dev-list.musescore.org/Improving-JACK-MIDI-Out-tp7578792p7578914.html
Sent from the MuseScore Developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
_______________________________________________
Mscore-developer mailing list
Mscore-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mscore-developer

Reply via email to