foldaway Posted June 27 Share Posted June 27 As the title suggests it looks like the time sync information provided to VST plugins on busses might not be latency compensated. First noticed when using Cable guys - Shaper 3 plugin. When this plugin is in a tracks fx chain, it is synced perfectly with the song time. However when it's placed on a bus the track is routed to, it is no longer in sync. The offset appears to be directly linked to the latency introduced through the tracks plugin chain. To me this suggests that the results generated for VST2 GetTimeInfo calls from plugin (& the VST 3 equivalent) are not taking into account the plugin chain latency. Also, seems unlikely to be plugin specific as the plugin doesn't know if it's on a bus or not! I've attached as example project which demonstrates the problem, using SI-Drum Kit (VST2), Voxengo Latency Delay (VST2) & Cableguys Shaper 3 (VST3) Look foward to hearing from one of the bakers. Thanks bus time sync latency compensation bug.zip Link to comment Share on other sites More sharing options...
foldaway Posted June 27 Author Share Posted June 27 (edited) Forgot to mention. This occurs in both Cbb & the new Sonar. The project notes includes intructions to demonstrate the problem shaper3 preset.vstpreset Edited June 27 by foldaway added shaper 3 preset Link to comment Share on other sites More sharing options...
John Vere Posted June 27 Share Posted June 27 This seems like something you should officially submit to the developers. Putting it here might not get noticed. At the top of this forum is Support link or Go to the main Web site. Link to comment Share on other sites More sharing options...
foldaway Posted June 27 Author Share Posted June 27 Thanks for the tip... & Done Just in case a dev does see this thread, the linked Support ID Request = #1734819 Link to comment Share on other sites More sharing options...
David Baay Posted June 27 Share Posted June 27 I can't reproduce a problem with my own test project, simply routing the phase-inverted one of two nulling audio tracks through a bus with a PDC-inducing plugin on it and moving that plugin back and forth between the bus and the track. I haven't yet tested with your project because I'll have to install the demo of ShaperBox and the Voxengo Delay and review what they're doing, but I see a couple issues with the project at a glance that could be contributing: - SI Drums is inserted in the audio track's FX bin; this is technically supported for backward compatibility with projects created before the Synth Rack was introduced, and there are some known issues with it. The preferred method is to insert the synth in the Synth Rack wiith the Input of the synth audio track set to the output of the synth. - This issue may be peculiar to live MIDI-driven synths or even SI Drums, specifically, which tends to render transients a bit late to begin with. Overall, the project is introducing too many variables to simply and clearly demonstrate whether PDC is working correctly on buses, including the use of three plugins, one of which is known to have poor timing, and two of which are 3rd-party and are altering that timing with unspecified custom settings. Link to comment Share on other sites More sharing options...
Glenn Stanton Posted June 27 Share Posted June 27 might be time for the doctor. the plugin doctor... https://ddmf.eu/plugindoctor/ Link to comment Share on other sites More sharing options...
David Baay Posted June 27 Share Posted June 27 (edited) I installed the plugins, but the demo of ShaperBox isn't doing anything - possibly because I didn't want to install the 300MB of presets and other content. I can see that Voxengo is set to add 1000 samples of delay to the synth audio track, and I can hear that delay vs. the metronome when engaged, but with ShaperBox not doing anything, there's really nothing to hear. EDIT: As I re-read the OP, it seems I may have misunderstood and this isn't even about PDC but more about tempo-syncing. Is that right? Also, as I read that Voxengo "Latency Delay introduces 10000 samples latency itself and delays the audio signal by 10000 minus the specified amount of samples or milliseconds, thus eliminating the unreported latency", the expected behavior of the test project becomes even harder to predict. I'll have to experiment with some other tempo synced plugin. Edited June 27 by David Baay Link to comment Share on other sites More sharing options...
foldaway Posted June 27 Author Share Posted June 27 1 hour ago, pwal³ said: i notice that shaper is the vst3 version, the others are vst2 I've tested both VST 2 & VST 3 versions of ShaperBox 3 & they both have the same issue. Link to comment Share on other sites More sharing options...
foldaway Posted June 27 Author Share Posted June 27 (edited) 1 hour ago, David Baay said: I installed the plugins, but the demo of ShaperBox isn't doing anything - possibly because I didn't want to install the 300MB of presets and other content. I can see that Voxengo is set to add 1000 samples of delay to the synth audio track, and I can hear that delay vs. the metronome when engaged, but with ShaperBox not doing anything, there's really nothing to hear. EDIT: As I re-read the OP, it seems I may have misunderstood and this isn't even about PDC but more about tempo-syncing. Is that right? Also, as I read that Voxengo "Latency Delay introduces 10000 samples latency itself and delays the audio signal by 10000 minus the specified amount of samples or milliseconds, thus eliminating the unreported latency", the expected behavior of the test project becomes even harder to predict. I'll have to experiment with some other tempo synced plugin. Hi David, Thanks for your feedback. Yes, it is about time syncing (/tempo syncing). I included Voxengo Latency Delay as it was the simplest way I could think of simulating the latency of a large number of plugins. Sorry, I should have mentioned this in my post! The fact that the latency is adjustable also means its easy to see the effect in ShaperBoxs background oscilliscope. I've attached a preset file for ShaperBox in case you want to use it in the demo project. It should be included in the project as it was a custom preset but I'm guessing it wont load it in the demo. Edited June 27 by foldaway Link to comment Share on other sites More sharing options...
foldaway Posted June 27 Author Share Posted June 27 1 hour ago, Glenn Stanton said: might be time for the doctor. the plugin doctor... https://ddmf.eu/plugindoctor/ Thanks for the recommendation. I had a quick read of the manual & while it looks really good for analysing audio performance, I can't see that it provides any view of time sync information from the host. Which appears to be the source of the problem. Link to comment Share on other sites More sharing options...
foldaway Posted June 27 Author Share Posted June 27 Here's what the ShaperBox oscilliscope looks like with & without the error. Link to comment Share on other sites More sharing options...
foldaway Posted June 27 Author Share Posted June 27 Also note, that when Latency Delay is set to 0, the issue still exists. (...should have set it 0 in the demo project!) Link to comment Share on other sites More sharing options...
David Baay Posted June 27 Share Posted June 27 (edited) I created a comparable project with Sonitus Delay delaying a track by one beat and nulling against the same audio manually offset by 1 beat. I then added CW's TS-64 Transient Shaper which adds a significant amount of plugin delay to the Sonitus-delayed track and confirmed the two tracks continued to null. I then moved Sonitus to the bus through which that track was outputting, and the project continued to null both before and after restarting playback. For good measure, I tried moving Transient shaper to the same bus and other buses and tracks, and the project continued to null as expected. So I think this issue is either specific to ShaperBox or possibly involving the live synth which I'll test next. EDIT: Did the same test using two nulling instances of Session Drummer (because two instances of SI Drums already weren't nulling well), and got the expected result regardless of where Sonitus Delay or Transient Shaper were located. Edited June 27 by David Baay 1 Link to comment Share on other sites More sharing options...
foldaway Posted June 27 Author Share Posted June 27 7 minutes ago, David Baay said: I created a comparable project with Sonitus Delay delaying a track by one beat and nulling against the same audio manually offset by 1 beat. I then added CW's TS-64 Transient Shaper which adds a significant amount of plugin delay to the Sonitus-delayed track and confirmed the two tracks continued to null. I then moved Sonitus to the bus through which that track was outputting, and the project continued to null both before and after restarting playback. For good measure, I tried moving Transient shaper to the same bus and other buses and tracks, and the project continued to null as expected. So I think this issue is either specific to ShaperBox or possibly involving the live synth which I'll test next. Thanks but I'm pretty sure you're just testing the PDC in your project, as none of these plugins has a sync based on the song position, which ShaperBox does. It is specifically the song position information being relayed to the plugin that doesnt appear latency corrected on the bus. Link to comment Share on other sites More sharing options...
foldaway Posted June 27 Author Share Posted June 27 I have just tested the same situation with "Simple instrument" & "Instrument " tracks instead of the original seperate fx+midi tracks & the song position sync problem is avoided! ? Thanks David for highlighting this as a possible cause. Link to comment Share on other sites More sharing options...
David Baay Posted June 27 Share Posted June 27 Glad to help. Separate Synth Audio and MIDI tracks should be okay as well, you just need to get the audio into synth track via the Input from the Synth Rack rather than the FX bin. Link to comment Share on other sites More sharing options...
foldaway Posted June 27 Author Share Posted June 27 6 minutes ago, David Baay said: Glad to help. Separate Synth Audio and MIDI tracks should be okay as well, you just need to get the audio into synth track via the Input from the Synth Rack rather than the FX bin. Yep, just tested and all good! ? Haven't touched Instrument tracks or the Synth Rack for a long time, as previously had a lot of problems but looks like they're great now. Much relief ? Thanks again. Link to comment Share on other sites More sharing options...
foldaway Posted June 27 Author Share Posted June 27 Alas, not quite out of the woods yet! Some interesting additional notes; Converting an audio + midi track into an instrument track, does not solve the problem... Unless, I create a new instrument track routed to the same bus! Definitely something strange going on here! Creating a new instrument track via D&D from the plugin (/instrument) browser works as expected. Even when song position sync is working correctly. Playing a loop causes de-sync, which appears to be variable in nature! nb. this happens even when Latency delay isn't enabled. Link to comment Share on other sites More sharing options...
David Baay Posted June 27 Share Posted June 27 There are still situations where MIDI timing can drift progressively out of sync by a few samples per iteration when looping at random points at certain tempos but it's usually avoided by looping exactly on bars/beats. I believe Jamstix uses song position so I might try experimenting with that later. Link to comment Share on other sites More sharing options...
foldaway Posted June 27 Author Share Posted June 27 11 minutes ago, David Baay said: There are still situations where MIDI timing can drift progressively out of sync by a few samples per iteration when looping at random points at certain tempos but it's usually avoided by looping exactly on bars/beats. I believe Jamstix uses song position so I might try experimenting with that later. I tested with loop start/end exactly on bars & the drift was much larger than a few samples. So I'd be interested to see how Jamstix does! Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now