Jump to content

FR: Absolute Time Offset for MIDI Tracks (by ms)


apt

Recommended Posts

In many sample libraries it requires a "negative delay" to the midi track (e.g. -100ms).

For example, using Strings Staccato, there is an "attack" before the "rhythmic start point" of a note. If you simply set the sample start to that rhythmic start point, it would be unnatual. The only way to both keep the piano roll tidy and hear the notes in rhythm, is to apply a negative offset to the midi track.

But it seems that the "time +" in Cakewalk's midi tracks is by "midi time" (ticks), not by ms.

image.png.29235ce63c5a051f7c9efc45f2cc3876.png

In most cases, it's okay to manually convert ms to ticks according to the tempo. But if I have severe tempo changes in the project, the absolute time offset would not be consistent.

For example, this is a tempo change cueve which is common as a transition between two sections:

image.png.32a39a1390d4b760d7eea93d65ac4839.png

If there's a midi track with time offset by ticks, and you do this, the notes that begin at the 8->120 jump would come out much earlier than expected.

In Cubase and many other DAWs, you can apply an absolute time offset to midi tracks.

Hoping to see this feature in Cakewalk.

 

  • Like 2
Link to comment
Share on other sites

I'll second this request. I regularly use negative track delay. 

@Glenn Stanton That's a good thought, but although nudging notes will work, it's extremely labor intensive when you have many MIDI tracks (my projects usually run 20-30) and doesn't allow you do cut, paste, and duplicate whole bars and arranger sections cleanly. Also nudging is destructive, meaning if you nudge, then change tempo the timing going to off again whereas real time negative delay accounts for the tempo when the note is played.

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

Could you please consider adding this feature to CbB?

I think this is a necessary feature in modern composing workflow, and many people including me rely on this so much... There's even a sticky thread in the VI-Control forum titled "Negative Track Delay Database / Spreadsheet"...

Many other DAWs, like Cubase and Studio One, can do this. I really hope to see this feature in CbB!

Many thanks!

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

This feature is absolutely necessary.

It´s no use having it on a midi tick basis, as the absolute time would depend on the tempo of the piece. Libraries that need this require a consistent time offset, set in milliseconds, regardless and independent of the tempo.

No, nudging does not help, as stated by other posters here. Every articulation within an instrument usually requires a different offset time. Indeed, that´s why so many other daws have it, like Cubase, Studio One and Reaper. It took Reaper one minor update to implement this. How hard can it be for Cakewalk to implement it?

It makes CW almost useless for setting and orchestral template. Sadly, these are the things that keep me from fully returning to it.

Guess we´ll have to see how long it takes to be implemented, if at all.

  • Like 2
Link to comment
Share on other sites

I'm glad that someone else also found it necessary...

I made this request last year, and I believe there were several requests for this in the old forums many years ago. But unfortunately there's no official reply yet :(

I'm an orchestral composer and have been using Sonar/CbB for over 10 years. Cakewalk has so many great features that can make my workflow efficient. But it's truly disappointing that this necessary feature has not been added into Cakewalk for so many years, while almost every other modern DAW has it...

I think many people don't know there is a feature like that, and how much it can speed up their workflow. Therefore not many people are requesting for it...

@Noel Borthwick @msmcleod Dear Bakers, could you please consider adding this necessary feature for orchestral composers? Thank you very much!

Edited by apt
  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
On 2/17/2022 at 10:33 AM, apt said:

I'm glad that someone else also found it necessary...

I made this request last year, and I believe there were several requests for this in the old forums many years ago. But unfortunately there's no official reply yet :(

I'm an orchestral composer and have been using Sonar/CbB for over 10 years. Cakewalk has so many great features that can make my workflow efficient. But it's truly disappointing that this necessary feature has not been added into Cakewalk for so many years, while almost every other modern DAW has it...

I think many people don't know there is a feature like that, and how much it can speed up their workflow. Therefore not many people are requesting for it...

@Noel Borthwick @msmcleod Dear Bakers, could you please consider adding this necessary feature for orchestral composers? Thank you very much!

Indeed, truly disappointing.

More so when something that should be considered an essential feature doesn´t get acknowledge by the developers.

Please, give as an answer as to what to expect. Will it be implemented? Is there a timeline? Or is it simply not seriously considered, even after so much time and almost every other daw having it implemented?

This feature is essential for anyone trying to do any midi programming. Is not only a thing with orchestral libraries (in which it is indispensable), but with all virtual instruments. A midi-tick based approach is just not workable.

Hope this gets an answer.

  • Like 2
Link to comment
Share on other sites

19 hours ago, Mark MoreThan-Shaw said:

I bounce all my orchestral libraries to audio when I'm nearing completion and eyeball the Waveform to get them in the best place.

You surely can fix all the latency and any other imperfections in the stage of mixing... But nowadays most DAWs have that feature, so many sample libraries now have a quite noticable latency, for several hundreds of milliseconds, in order to get more realistic sound. It is very annoying  to compose and program with that latency, isn't it? :( 

Link to comment
Share on other sites

2 hours ago, apt said:

You surely can fix all the latency and any other imperfections in the stage of mixing... But nowadays most DAWs have that feature, so many sample libraries now have a quite noticable latency, for several hundreds of milliseconds, in order to get more realistic sound. It is very annoying  to compose and program with that latency, isn't it? :( 

Its not latency I'm speaking of it's variable attack times on certain Kontakt libraries related to the articulation. You may perceive it as latency but that's not what it is.

Link to comment
Share on other sites

  • 1 month later...

I'll third this request!

Because Ticks are divisions of the Beat, and Tempo affects the frequency of the Beats, it also affects the frequency of the Ticks. One cannot set a negative MIDI Time Offset and achieve a result that is consistent across Tempo Changes. Media composers rely heavily on Tempo changes, and it's impossible to achieve a consistent alignment of the note's attacks/onsets.

If Cakewalk is to be considered by Media Composers, this feature enhancement must be added. Please, I strongly encourage you to add MilliSeconds as an option to the Time+ Offset feature.

Thank you for your consideration!

Edited by XBaker
  • Like 1
Link to comment
Share on other sites

12 hours ago, Esteban Villanova said:

In the meantime this free plugin can be used for negative delay: https://dmgaudio.com/products_trackcontrol.php

Thanks for sharing! That is a good temporary solution.

However, such third-party plugins all have a big problem in Cakewalk - they also delay the "input monitoring" signals of the tracks that don't have a nagative delay. This causes a very big latency when recording notes by the keyboard :

That "Live Input PDC override" option doesn't help. Because it also bypasses the PDC of the existing MIDI data on the recording track, causing that track playing ahead of other tracks...

So we still hope that Cakewalk can add this must-have feature ASAP. Studio One has just added this in their version 5.2 or so. Now almost every other DAW has this feature!

Please consider adding this! Many thanks!!

Edited by apt
  • Like 1
  • Sad 1
Link to comment
Share on other sites

  • 1 year later...

I was trying to think about how this would work in practice and got myself in a crazy loop about offsets ending up triggering notes before they should be triggered depending on temp changes (I started working on an example and fell asleep :-)).  I also wondered if it actually becomes quite intensive to do all the calculations, especially now we have smooth tempo changes rather than discrete jumps.

Link to comment
Share on other sites

16 hours ago, Xoo said:

I was trying to think about how this would work in practice and got myself in a crazy loop about offsets ending up triggering notes before they should be triggered depending on temp changes (I started working on an example and fell asleep :-)).  I also wondered if it actually becomes quite intensive to do all the calculations, especially now we have smooth tempo changes rather than discrete jumps.

Tempo changes are still discrete jumps, but just at a more granular level.  The tempo map is derived from the tempo envelope each time it's edited so it doesn't have to calculate it in real-time.

However, an absolute time offset it's still quite complex to do, due to the way MIDI events are queued up in time ready to play.  Part of the queuing process is determining which events to queue and when to queue them.  This is all done in batches of musical ticks at the moment.  If the delay (negative or otherwise) was specified in milliseconds, this would ultimately have to be converted to ticks - but when tempo changes are in play, the amount of ticks could be different for the start time for searching through what to buffer and the start time of each MIDI event.  Getting this wrong could result in either missing notes or notes queued up twice.

As far as it being computationally intensive... this is partially true.  Retrieving the tempo at any point in time is a fairly quick process, but does involve a binary search of the tempo map.  Doing this for every note may have an adverse affect on engine performance, but then again, it might be fine on faster machines.

Not saying it's impossible, but it's not trivial.  That part of the code is pretty involved (even more so now that we have articulations).

Part of me thinks this might be better served by extending the articulations to allow +/- delays.  The reason being, is that:
1. You could incorporate it into existing articulations, for example all legato articulations would be delayed by "n" ms, whereas pizzicato wouldn't
2. You could have a more granular control over what was delayed and when - for example, you could filter out channels, or have different ms  delays for different octaves; or you'll have the ability draw the delay articulation over a specific region of notes in time.

  • Like 2
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...