Latency in FV-1 hardware

Hardware questions and issues with the FV-1

Moderator: frank

Post Reply
dkleinjans
Posts: 13
Joined: Thu Dec 03, 2015 12:55 pm

Latency in FV-1 hardware

Post by dkleinjans »

Hi,
I've been testing on the FV-1 development board and find a latency of about 1.56mS from input to output of the FV-1. I assume that's typical for the FV-1, but haven't been able to find any information about it. That means if you run a dry signal around the FV-1 and mix it back in with the wet signal, you'll get phase cancellations. I'm curious what causes the latency. I expected there would be a latency on the order of one program cycle, about 1/32768S, or about 0.03mS, but that's not the case. Thanks for any info.
Dave
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Re: Latency in FV-1 hardware

Post by frank »

ADC and DAC have delays through them.

Anytime you mix signals you risk cancellations unless both signals are identical go through the exact same paths. Capacitors, inductors and other components can add phase delay and as a result cancellations.
Frank Thomson
Experimental Noize
ZibiSound
Posts: 66
Joined: Fri Mar 15, 2013 3:02 pm

Re: Latency in FV-1 hardware

Post by ZibiSound »

I've got the same problem when mixing dry and wet signals; low frequencies are flatter and high frequencies are more exposed. And overall, the sound is a little bit strange.
Is there any possibility to improve it?
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Re: Latency in FV-1 hardware

Post by frank »

It really depends on a number of factors but the easy fix is if you are only using one input/output for the effect then use the other for "dry" and mix the two outputs. This way you are adding the converter delay to the "dry" signal.

If you are using both inputs or outputs in the effect then no simple fix.

Normally the delay is not an issue with most effects like reverb or delay, what are you doing?
Frank Thomson
Experimental Noize
ZibiSound
Posts: 66
Joined: Fri Mar 15, 2013 3:02 pm

Re: Latency in FV-1 hardware

Post by ZibiSound »

Thank you for reply.
It's something like external loop of mixer, as I shown below. So, I mainly want wet signal out of FV-1, mixing dry/wet is done by mixer.
Biggest problem is with effects that normally don't make delay, e.g. hp/lp filters, bitcrusher, etc.

Image

Is there any option to improve it? Or, at least, to minimalize this issue?
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Re: Latency in FV-1 hardware

Post by frank »

Well, you would not normally mix the output of a filter with the dry signal as that will cause odd artifacts in analog or digital.

I don't think there would be an issue with a bit crusher but never tried it so the delay may cause some.

Do the mix in the chip to eliminate any converter delay issues. That may be the best option.
Frank Thomson
Experimental Noize
ZibiSound
Posts: 66
Joined: Fri Mar 15, 2013 3:02 pm

Re: Latency in FV-1 hardware

Post by ZibiSound »

Even if I do dry/wet signals mix inside the FV-1, mixer mixes it again with original signals :( (external loop)
frank wrote: Sat May 01, 2021 3:29 pm Well, you would not normally mix the output of a filter with the dry signal as that will cause odd artifacts in analog or digital.

I don't think there would be an issue with a bit crusher but never tried it so the delay may cause some.
I mean the situation when the filter or bitcrusher is set to "0" (bypass) before increasing pot's parameter and the input signal is fed to the output without modification.
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Re: Latency in FV-1 hardware

Post by frank »

There is always a delay through converts, DSPs, etc. So if your effect will suffer due to this then your only choice is to do everything inside the DSP and not do external mixing.

If the problem only exists when the POTs are 0 then write the program so the value is never 0.
Frank Thomson
Experimental Noize
ZibiSound
Posts: 66
Joined: Fri Mar 15, 2013 3:02 pm

Re: Latency in FV-1 hardware

Post by ZibiSound »

Well, it's not possible due to the specification of the device in which FV-1 works.
It's not a pot value problem bacause I need a bypass function too. Maybe there is some trick to reduce this cancellations? A phase shifting or something I can do by software?

Let me ask another fast question without making a new topic. FV-1 has delay of 1s @ 32768Hz and I need eg. 800ms, so i declare "mem delay 26214" (32767*0,8), but max delay is still 1s. I know, I can change delay time via pot, but I would like to limit delay space by software. Why is that?
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Re: Latency in FV-1 hardware

Post by frank »

Really nothing you can do in s/w, the delays are physical and all you can do is either compensate for them externally by adding delay to the dry path or do everything in the FV-1.

Without seeing the code there is no way to answer the delay time question, it is a code issue. My guess is that you are not really writing and/or reading from the head/tail of the defined delay line. The "mem' statement does not change the length of the delay, it defines a block within the delay and your code must always address the defined block.
Frank Thomson
Experimental Noize
potul
Posts: 76
Joined: Tue Sep 26, 2017 12:33 am

Re: Latency in FV-1 hardware

Post by potul »

sebxx4 wrote: Sun May 02, 2021 11:04 pm Let me ask another fast question without making a new topic. FV-1 has delay of 1s @ 32768Hz and I need eg. 800ms, so i declare "mem delay 26214" (32767*0,8), but max delay is still 1s. I know, I can change delay time via pot, but I would like to limit delay space by software. Why is that?
it depends on the code, but usually you need to scale down as well the register used for reading the delay line, the one fed into ADDR_PTR
ZibiSound
Posts: 66
Joined: Fri Mar 15, 2013 3:02 pm

Re: Latency in FV-1 hardware

Post by ZibiSound »

Okay, I think I found a compromise to reduce those cancellations made by adc/dac latency, which is about 1ms (measured by scope).
Paradoxically, adding an extra delay of about 5-6ms makes the situation better. The problem persists, but it sounds incomparably better.
Bass is ok, the hissing disappears, the only thing left is something like 'frozen flanger' effect, but as I said, its better than cancelling signal.
Longer delays (>10ms) are audible. I got the best results with delay about 4,8ms (+1ms converters latency, of course).
Post Reply