Jump to content

Negative Track Delay ....here yet and why not?


Recommended Posts

I've been searching again as I have recently come back to orchestral and classical composing ......but I still can't see.....

Does Cakewalk have a Negative Track Delay for midi tracks yet?

I've seen questions going back to 2022 about this, but can't find any resolution mentioned or labels?

Its needed CB !

Look forward to any input

Ian

Link to comment
Share on other sites

7 hours ago, Tin Weasel said:

I'm curious - what is negative track delay?

Based on Mark's response, it's obviously not setting the "Time+" parameter to a -ve value in the Inspector on a MIDI track?

Actually, it is setting the Time+ to a negative value...  but the key difference is to also be able to specify this in milliseconds, rather than the current implementation which is in musical ticks only.

A lot of orchestral libraries require a negative millisecond delay.  This is to account for things like the bow touching the string on a violin before it actually plays the note - i.e. you get the note to start early so you hear the "bow" effect, but the actual musical sound starts playing on grid.

A delay in musical ticks is fine if you've got a single tempo in your project (you just workout how many milliseconds a tick is for that tempo, and enter that tick value),  but if you've got tempo changes, then the actual length in milliseconds of each musical tick will change with every tempo change.

Also, I believe the current implementation allows you to enter negative time, but doesn't actually respect it (it clamps it to zero).

The workaround in CbB is complicated.  Essentially, you have to add a positive delay for all other tracks, equal to the tick equivalent for the largest millisecond delay.  For each tempo change, you're going to need a complete new set of tracks with a different delay.

As to why it's not here yet - simple answer, is it's really complicated.

The MIDI engine schedules groups of notes ahead of time in time windows (based on musical ticks).  A negative delay requires scheduling notes early, meaning they might need to be added in an earlier time window, with the reverse being true for positive delays.   Get it wrong, and you get doubled notes or missed notes (we suffered both issues in the early implementations of the negative articulation delay).   Not only that, each and every MIDI event needs to be time adjusted, converting the millisecond value to its new tick value - this requires a lookup of the tempo map for every event.  Add looping / user seeking in the timeline, and it gets complicated really fast.

 

Link to comment
Share on other sites

Ah, thanks. Yeah ticks vs ms makes sense especially with tempo changes.

| Also, I believe the current implementation allows you to enter negative time, but doesn't actually respect it (it clamps it to zero).

Wow, I'm going to test this! I used -ve delay reasonably often in the past and if it doesn't work the placebo effect is bloody strong! (It might explain a few mysteries though!)

edit: I just tested, seems to work OK!

 

Edited by Tin Weasel
Link to comment
Share on other sites

12 hours ago, Tin Weasel said:

| Also, I believe the current implementation allows you to enter negative time, but doesn't actually respect it (it clamps it to zero).

You can enter negative time in the time+ field in the MIDI track’s inspector and it is respected.

I do this all the time for sounds where the peak of the sound comes after the actual trigger time.

I usually use values between -80 and -40 ticks (typed in manually or via CAL script).   To test it once, I used a really large value and the trigger time was definitely before the actual event time as placed in the MIDI track.

  • Like 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...