Page 1 of 1
Quilcom FLooper Latency vs FL Studio Metronome
Posted: Mon Dec 21, 2020 7:19 pm
by newdsp
In FL Studio the Quilcom Flooper has a 57ms to 58ms latency compared with the FL Studio metronome when synchronized via midi. In order to compensate for that... Is there a way to make the looper metronome click sooner by 57ms ?
This line of DSP code makes the looper start from 0 when "Restart" is pressed.
count = count - count & (restart > 0.5);
Can the latency problem be solved by starting the looper at max length minus 57ms ? Or do I have to restart it at 0 + 57ms ? So far this code restarts it at the end minus 57ms. (48Khz sampling rate and 2,736 samples latency assumed)
count = count - count & (restart > 0.5);
count = count + (max * 0.98575 & (restart > 0.5));
Plus the 98.575% is hard coded which is not going to be adaptive when the sampling rate changes or the loop length changes. Any ideas how to make the latency compensation adaptive or automatic ?
Re: Quilcom FLooper Latency vs FL Studio Metronome
Posted: Tue Dec 22, 2020 7:43 am
by Spogg
I’m a bit too busy to work on this at the moment but I think you’ll solve this if you make use of the Sample rate prim instead of calculating a fixed value based on an assumed sample rate. Then it should work for any DAW sample rate (I think!).
So your start offset would be a proportion of the sample rate and this would provide a streamin for the DSP code.
Or maybe someone else here can offer better advice about syncing...
I must say it’s nice that you’ve taken an old and simple project of mine and are really pushing it forward. I originally saw it as more of a toy than a serious tool. I haven’t been testing your previous efforts because I need to reboot my PC to open your projects. It’s not because I’m ignoring your work!
Re: Quilcom FLooper Latency vs FL Studio Metronome
Posted: Tue Dec 22, 2020 11:15 am
by newdsp
Well there is a way to compensate for latency in FL. More than one way actually. Since the midi delay is exactly half of a quarter note I can place the midi trigger note in the piano roll right at the end so it triggers early for the next cycle. The other way is to use the latency compensation from the mixer track. Another way is to not use the FL metronome at all and just use the internal one. Or it can be synced manually by trying multiple times. Anyway I still want to add more options to it or try to improve it somehow. At least now I understand the entire DSP code after messing with it so much.
This code is doing the restart with an offset if I need it to but it's still not changing the metronome relative to the recorder. I have to play with metronome offset more to figure it out.
count = count - count & (restart > 0.5);
count = count + (max - dc) & (restart > 0.5);
Honestly your plugin is much better than the commercial product they sell in the Reason Shop (The Repeat Looper)(
https://www.reasonstudios.com/shop/rack ... at-looper/) and the latency issue most likely comes from FL Studio and not the plugin.
Re: Quilcom FLooper Latency vs FL Studio Metronome
Posted: Tue Dec 22, 2020 7:13 pm
by newdsp
It looks like my Master Index offset is only changing the restart position which is good for other things but to change the metronome timing I have to apply the offset to the Bar Tick. That should solve the metronome delay problem. I will have to play with that and see what happens.
Re: Quilcom FLooper Latency vs FL Studio Metronome
Posted: Tue Dec 22, 2020 7:59 pm
by trogluddite
newdsp wrote:...the latency issue most likely comes from FL Studio and not the plugin
I can't comment on your exact problem, because I'm using FS v3.06. However, I can confirm that Fruity Loops is known for having some VST timing problems. IIRC, this is not only a FlowStone problem - it is because FL doesn't adhere to the VST standards for reporting beat/bar timing data. I can't remember the exact problem, but I think it is because FL has non-standard "one-quarter-note" (maybe relevant because your error is exactly half quarter-note).
To check this, you might be able to use the example module for this LFO that I made a while ago:
Thread: SyLFO - VST locked LFO. In most VST hosts, it can sync to bars and/or beat-divisions at any tempo or time-signature. The scope on the demo module also shows small VST "one-beat-ramp" and "one-bar-ramp" traces, so may help you to see if there is a timing error from FL.
Re: Quilcom FLooper Latency vs FL Studio Metronome
Posted: Wed Dec 23, 2020 5:43 pm
by tulamide
trogluddite wrote:newdsp wrote:I can't remember the exact problem, but I think it is because FL has non-standard "one-quarter-note" (maybe relevant because your error is exactly half quarter-note)
Here's the thread that revealed FL Studio's flaw.
http://www.dsprobotics.com/support/viewtopic.php?f=3&t=2732&start=0The issue is that FL Studio never had an option to adapt the signature. It was always 4/4, and by doing divisions elsewhere it stuffed every signature into 4/4. PPQ for example didn't report pulses per quarter note, but pulses per beat, which is insufficient, because we don't know the length of a FL Studio beat (see above)
However, I recently read that beginning with FL Studio 20, it finally allows changing the signature (and in just the way every other composer does it). Of course that doesn't automatically mean, that behind the scenes it was also adapted to standards, but certainly it's worth a try. PPQpos from Flowstone would be my first option to try on FL Studio 20.
Re: Quilcom FLooper Latency vs FL Studio Metronome
Posted: Thu Dec 24, 2020 12:47 am
by trogluddite
Thanks. Tula!
