cc levels shown in editor not always what you hear

Official support for: mutools.com
Post Reply New Topic
RELATED
PRODUCTS

Post

thank you for fixing the issue regarding proper drawing of event graph.

But there is a similar issue.

When jumping around with the playback marker and starting playback,
the midi controller levels are (still) set according the midi events received lastly.

But typically you want to hear your music as if it would be played from start of composition.
This means, when hitting playback at a random position, then first of all for all tracks each midi event (for each cc type except notes)at rightmost position left from playback position should be sent to have some kind of proper initialization.

Do you think this might be a good solution ?
Everything should be made as simple as possible, but not simpler!

Post

MU.LAB does exactly that.

I've quickly re-checked 2.6.2 on this aspect and it works ok.

Note that muted tracks/parts this are not scanned, of course.

Can you please give more details of when/where it does not work as expected?

Post

Hello Jo,

yes, confirmed, a quick check shows, that MU.LAB works fine, as expected.

But under following condition it does not:

If there is no left hand event, then the last event is still valid.
In this case I would prefer to have a default value (e.g. no de-tune coming from last pitch bend event).

Two more special cases I found now, which does not work as desired:

1) As you wrote, MU.LAB scans for the right most events left from current position, but it also accepts events left from START position of current sequence, this is overdone.

2) Ignoring muted tracks is ok, but I think scanning and re-initializing is done immediately after re-positioning of playback marker. But this should be done again when pressing PLAY, because meanwhile you might have unmuted a track.

Hope this clarifies this issue.
Things might be more complicated when trying to find the relevant right most event when considering all tracks, sequences and cc sources (or does MU.LAB "simply" goes from left to rigth to current playback position and sending all events, means some kind of quick and silent playback simulation ?)
Everything should be made as simple as possible, but not simpler!

Post

Eggu wrote: If there is no left hand event, then the last event is still valid.
In this case I would prefer to have a default value (e.g. no de-tune coming from last pitch bend event).
Ah, good point indeed.

Added a note to the M3 whishlist.
Two more special cases I found now, which does not work as desired:

1) As you wrote, MU.LAB scans for the right most events left from current position, but it also accepts events left from START position of current sequence, this is overdone.
I don't agree.

I agree with you in your first mail: It should be like you played the composition from the start.

Right?
2) Ignoring muted tracks is ok, but I think scanning and re-initializing is done immediately after re-positioning of playback marker. But this should be done again when pressing PLAY, because meanwhile you might have unmuted a track.
I do want the scan to occur when you reposition.
Again for the same reason as above. It's the most natural way, imho.

When a track/part is unmuted afterwards, i recommend to just reposition on the same position.
Hope this clarifies this issue.
Things might be more complicated when trying to find the relevant right most event when considering all tracks, sequences and cc sources (or does MU.LAB "simply" goes from left to rigth to current playback position and sending all events, means some kind of quick and silent playback simulation ?)
Without going too technical, MU.LAB takes everything into account.

I 100% agree with the principle: The situation at the new position should be the same as if you played from 1.1.0000 to that new position.

Post

Yes, your last statement summarizes all the special cases.

But let me explain again the point "left from START".

To be more precise: Do not consider events left from START marker AND left from LOOP marker ... because also when playback from song start these events would be fired never (might be other part with same sequence but different markers make these events become relevant in this other copy).
Everything should be made as simple as possible, but not simpler!

Post

Again, to be more precise.

What I want to say:
Don't consider midi events which might be located in the dead midi stuff that might occur at the beginning of a part,
like in this example:

Image


For sure, there might be other parts left from current position which must be scanned.

Sorry for complicated explanation, but as I analyzed, currently also events in a dead part are considered.
Everything should be made as simple as possible, but not simpler!

Post

i found the same problem in mulab a while ago, but thought it was discovered and going to be fixed in M3. anyway, Eggu explained it well, but here's just another explanation:

if we draw a sequence of 8 notes marked with (=) and automate for example the filter cutoff frequency marked with corresponding value numbers (1,3,6,...), we would get this:

= = = = = = = =
1 3 6 7 8 9 8 4

which is good. but, if we play the sequence until the fifth note for example, and then press stop, the filter cutoff remains at the value of 8. so, if we then click some other part of the song where the cutoff isn't automatically controlled, the filter cutoff will play at the value of 8 instead of resetting to a value used before the automation sequence which would be more logical.
Bedroom Producers Blog << Free VST Plugins!

Post

OOps, all clear regarding my last stated issue.

Checked again with a more simple example.
Seems that Mulab does well and does not consider events in "dead" sequence parts.
Remains the wish to have some default initial values.
Everything should be made as simple as possible, but not simpler!

Post

@Eggu:

Thanks for all info.

Based on your last message i understand there is no problem, right?

Only a FR to use a default value for controllers/parameters if (and only if) there is no relevant event before the new position.

Right?

@ bedroomproducers: Do you agree with this analysis.

Or are you convinced there is an issue? If yes, please elaborate.

Thanks!

Post

mutools wrote:Only a FR to use a default value for controllers/parameters if (and only if) there is no relevant event before the new position.
if FR means feature request, then yes, i aggree.

it still is a bit complex, though. should the "default" setting be the setting before or at the very end of the automation sequence?

for example, my filter cutoff is set at 5 at the begining of the song. after eight bars comes a four bars long automation sequence which drives the cutoff slowly from 7 to 9. so at the second bar of the automation sequence, the cutoff is set to 8 and growing.

now, in current state uf mulab, if i:
  • 1) jumped during the second bar of the automation sequence to some other place further in the song, the cutoff would be set to 8. i think this isn't good... the cutoff should be automatically set to 9.

    2) jumped during the second bar of the automation sequence to the second bar of the song (before any automation happened), the cutoff will again be set to 8, but in this case it should be automatically set to 5.
does this explain it well?
Bedroom Producers Blog << Free VST Plugins!

Post

bedroomproducers wrote:
1) jumped during the second bar of the automation sequence to some other place further in the song, the cutoff would be set to 8. i think this isn't good... the cutoff should be automatically set to 9.
... this will work fine as expected, when I try similar examples.

2nd case is "the old issue" that there is no initial event, how to solve ?
Should mulab memorize the initial value of each controller at program launch (e.g. cutoff) and use this as first dummy event later on?


Look at this further example, where I've recorded 3 master volume changes at bar 2, ~3.5 and 5:
Image

Everything works as expected when jumping around between bar 2 and 6.
No automatic volume change will happen when jumping left of bar 2,
because there are no volume events in this region.

Now look at the copy beginning at bar 6, but with re-positioned start marker one bar to the right.
--> initial events now masked and not considered !
When looping, this now has the effect, that at bar 9 there seems to be a volume event, it's only a fake, because this step results as a picture copy of the sequence and represents the level also seen at bar ~3.
When jumping to position 9.x as shown, the volume slider is set automatically to the level from the last event, and this event happens at position ~8.8, which is lower than the fake plateau at current cursor position.
Everything should be made as simple as possible, but not simpler!

Post

bedroomproducers wrote:
mutools wrote:Only a FR to use a default value for controllers/parameters if (and only if) there is no relevant event before the new position.
if FR means feature request
Indeed it does :)
should the "default" setting be the setting before or at the very end of the automation sequence?
The default would only be used if there is absolutely no relevant event before the new position, in whatever part.

The default for pitchbend = center.

The default for controllers = cfr Reset All Controllers cfr http://www.midi.org/techspecs/rp15.php

Anyway, it's not yet planned to add such default behaviour on the short term as i've got to think this thru a bit more.

The recommended thing to do is to explicitly add initialization events at the start of your composition, like it is done in the Demo.MuSession.
for example, my filter cutoff is set at 5 at the begining of the song.
Well, in this case there is no further issue.

Wherever you'll put the position, MU.LAB will always find an event at the left of the song position.

Oh, in fact, now that i think of it, there is an issue:

When placing the position at the very start, the relevant values will only be sent out when starting playback.

So that's something i'll add to the whishlist: When placing the position at 1.1.0000, any relevant events at 1.1.0000 should immediately be sent out.
after eight bars comes a four bars long automation sequence which drives the cutoff slowly from 7 to 9. so at the second bar of the automation sequence, the cutoff is set to 8 and growing.
So the automation sequence goes from 9.1.0000 to 13.1.0000.
Cutoff goes from 7 to 9.
So at 10.1.0000, cutoff will be at 7.5.

Maybe i misunderstood your example?
1) jumped during the second bar of the automation sequence to some other place further in the song, the cutoff would be set to 8. i think this isn't good... the cutoff should be automatically set to 9.
Sure, if you jump past 13.1.0000, cutoff should be set at 9. Isn't it?
2) jumped during the second bar of the automation sequence to the second bar of the song (before any automation happened), the cutoff will again be set to 8, but in this case it should be automatically set to 5.
Indeed. Isn't it?

Feel free to publish a simple MuSession that demonstrates a problem.

Post

Eggu wrote:When looping, this now has the effect, that at bar 9 there seems to be a volume event, it's only a fake, because this step results as a picture copy of the sequence and represents the level also seen at bar ~3.
When jumping to position 9.x as shown, the volume slider is set automatically to the level from the last event, and this event happens at position ~8.8, which is lower than the fake plateau at current cursor position.
Ah, right, i see.

Added a note on the whishlist!

Thanks!

Post

omg, i was so competely and utterly wrong! :shock:

my excuses go to both of you from me for typing all this rubbish info in my previous few posts. i have just tested the automation and it works exactly how i thought it doesn't. :D

on a positive note, now i know that i should always define a default value at the begining for all the plugins that i plan on automating. thanks! tougher way of learning though, eh?
Bedroom Producers Blog << Free VST Plugins!

Post Reply

Return to “MuTools”