Thanks for sending this through. I’ve looked at the logs and the timings between the two look almost identical.
To explain, here’s what I’ve found. Firstly, you’re running and audio cycle of 512 samples at 48Khz - so each audio cycle is about 10milliseconds. Also note that because of the logging the times logged will actually be a little slower than when logging is disabled - ie: the logging will be making this worse than normal, but it still all looks OK to me.
Here’s how a typical note event looks in the log:
00056084 103 [34516:2]: MidiDeviceIn - Ch:01 Note On: E5 ( 76) @ 0
00056084 0 [34516:2]: MidiInjector - Ch:01 Note On: E5 ( 76) @ 0
00056089 5 [33576:2]: VST Plugin- Pianoteq 6 (64-bit) (0x00000004FA7969A0) - MIDI: 49608270 [90 4b 00 00] @ 368
To explain the numbers:
- The first column (56084) is the absolute time in milliseconds since Cantabile started
- The second column (eg: 103) is the elapsed time since the previous line (ie: column 1 current line minus column 1 from the previous line)
- The [bracketed] numbers are thread id and logging level - ignore these for this
- The rest of the line is what happened.
Looking at the above example,
Line 1: Cantabile first received the MIDI event at time 56084
Line 2: it was immediately injected into Cantabile’s audio engine
Line 3: the event hits the pianoteq plugin 5 milliseconds later (see column 2)
This is all as expected when using a 10 millisecond audio cycle. Scrolling through both log files all events are averaging about 3-10 milliseconds between Cantabile receiving the event and it getting passed to the plugin.
All that’s to say, as best I can tell Cantabile’s audio/MIDI processing pipeline is working as expected.
My next suspicion would be something about the plugin is not rendering notes as quickly as possible. That would seem very odd to me and I can’t think of a reasonable explanation off hand, but to eliminate this as a possibility - does this only happen with PianoTeq or does it happen with other plugins too?
I know PianoTeq has a CPU Overload Protection option - perhaps try turning that off?
Also, I’d try turning off either PianoTeq’s multi-core rendering or Cantabile’s multi-core support, they might be fighting against each other.
Finally, it’s interesting that this only happens when pre-loaded set list is enabled. Do you have other instances of PianoTeq in other songs/racks? Perhaps this is an issue with PianoTeq when multiple instances are loaded (even if only one is currently activated).