Jump to content

BUG: Cakewalk records MIDI notes way too early on a high Tempo


Recommended Posts

Upon recording MIDI notes to Cakewalk's metronome I noticed that they are always recorded a bit sooner then when I actually played them. This effect seems to get worse at a higher recording tempo, and better if the tempo is low.

I made a video portraying the issue in action:


It seems like Cakewalk's metronome plays its tick a fixed amount of time too early, but there might be even more bugs hiding behind Cakewalk's janky GUI.

For the sake of even being able to record sound I had to use FL Studio ASIO as my ASIO driver, but the effect is just as present with ASIO4All.

I'm on a Windows 10 machine with the following specs, in case it helps you diagnose the problem:
CPU: AMD Ryzen 5 1600, 6x 3.20GHz
RAM: G.Skill RipJaws V schwarz DIMM Kit 16GB, DDR4-3200
graphics card: AMD Radeon RX Vega 56, 8GB HBM2
mainboard: ASUS ROG Strix B350-F Gaming

Edited by Xrenyn
Link to comment
Share on other sites

Might this serve to improve?

TTSSEQ.INI settings

"IgnoreMidiInTimeStamps=<0 or 1> Boolean 0 (disable) This line determines whether or not Cakewalk ignores any MIDI time 
stamping that a MIDI driver does. If you’re experiencing increasing 
delays between the time you play a MIDI note on a controller and the 
time you hear Cakewalk echo it, setting this line to 1 may help. Also, 
if you find that Cakewalk is recording MIDI data at a different time 
from when the data was played, setting this line to 1 may help. If the 
MIDI driver is using a different clock from Cakewalk, the time 
discrepancy increases the longer that the MIDI driver is open, so you 
need to tell Cakewalk to ignore the timestamp that the MIDI driver 
adds to the data (set the value to 1)."

Link to comment
Share on other sites

Logically a note cannot be recorded before it was played. What happens is that the recorded note  is adjusted along the timeline after it is received. The reason that this is done is so that any latency between the time of the controller actuation to the audible output of the recorded note on playback is NOT recorded--so that the latency due to buffers or processing delay is corrected. This is called delay compensation and when it is automatically applied by an algorithm, automatic delay compensation or ADC.  When this occurs without you manually setting it up, it is typically due to a plugin telling CW to expect more latency than is actually occurring. In order to make sure that the timeline is synced for all the tracks, if any latency is reported on any track the compensation is applied globally. So, not a bug but a very useful feature that is not working as intended for you.



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...