On 14.05.2024 01:06, ichthyo wrote:
On 12.05.24 15:22, Kristian Amlie wrote:
have indeed run into the exact problem that Hermann describes above,
with an instrument sounding good only in one or two octaves
...
Hi Kristian,
thanks for chiming in; the problems with the possible workarounds you
describe and the avenues to address those match closely my own experience
and considerations. This is a limitation I have on my mind since quite some
time, yet it does not seem to be easy just to "fix" and requires some
planning.
Some time ago, I did a complete rework of the legato / note-ON code to fix
some deeply rooted problems; at that time it became clear to me that in
theory the "crossfade" feature might as well work based on volume
without incurring any serious performance degradation; the only problem
with this change would be that the data value must be transported to
that code handling the cross fade, and from there on further to the
code calculating the actual volume per part.
Yes, I also discovered this while looking at the Kit Edit crossfade,
which is why I couldn't fix it right away. Still, I don't think it's a
huge fix, and although you're right that we need new fields to carry the
volume, it is entirely at surface level, in the Parts section. We don't
need to carry it into each engine.
Some days ago, Will and I had a discussion off-list, which touched the
possibility to have further parameters per note, which would have been
a rather internal thing with the current MIDI standard, yet could turn
into a much more far reaching possibility with new upcoming standards.
Obviously, none of us can clearly spell out such a feature right now;
at the moment this discussion might rather help to find out what would
be possible and what could be achieved with reasonable effort, without
endangering the overall structure of the code base. For me this was
also the reason to bring up this related problem with per-note
adjustments. If we consider to transport one or two further data
values with a note event (even just internally), several further
new things seem possible.
Right. I too have some difficulty formulating exactly what such a
feature would be. But one thing that comes to mind is striking a note
"at different angles", a concept which obviously doesn't exist on
keyboards. But it's not inconceivable that there could be an instrument
with this capability, especially if MIDI 2.0 allows it.
Probably best to have a clear idea on what we want to achieve first though.
For the problem of "balancing the presence" of an instrument,
it would probably be sufficient to have a global adjustment for
the volume; implementing this would be trivial, the challenge
seems rather to be the UI and how to control such a parameter.
For this specific use case, does the Kit Edit with crossfade between
ranges solve the problem? It does for me at least. As long as we're
talking about octaves.
If, on the other hand, we'd go to the trouble of implementing
a new pop-up window with an curve adjustment, similar to EQ
or envelope or the like (which is quite some work to be sure),
then we'd end up with a LUT (look-up-table) to be used in
the actual note-on code. If we actually go that far, then of
course the question is, why stop there? Then we could also
have a reworked crossfade feature, or consider adding an
adjustment to some filter parameters, based on a per-note
multitouch or whatever.
Hehe, yes, there is no limit to that. I have to admit that I have not
even tried to use the aftertouch feature, even though I have a device
which supports it! It's just too much to control for a mediocre player
like me! 😄 That doesn't mean it's not worthwhile for someone else though.
--
Kristian
_______________________________________________
Yoshimi-devel mailing list
Yoshimi-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel