libspecbleach icon indicating copy to clipboard operation
libspecbleach copied to clipboard

Implement FFT partitioning to reduce latency

Open SimonG4ELI opened this issue 3 years ago • 9 comments

Hi,

I see the frame size is 20ms. If latency and CPU load are not a problem, is there an advantage in using a much bigger frame size, for example 160ms?

SimonG4ELI avatar May 13 '22 09:05 SimonG4ELI

Right, so yeah that's an option if you want better resolution in the lower frequencies at the expense of more latency. Evidently you already know how to change it. I think here would be a good use of exposing these parameters through a config file

lucianodato avatar May 13 '22 16:05 lucianodato

How about an extra parameter in the specbleach_adaptive_initialize call?

SimonG4ELI avatar May 13 '22 16:05 SimonG4ELI

Yeah I kinda make sense just for this one. In the future I plan to use a multiresolution fft which would get rid of this issue. Will depend on how efficient my implementation is though

lucianodato avatar May 13 '22 17:05 lucianodato

Sounds interesting...

SimonG4ELI avatar May 13 '22 17:05 SimonG4ELI

Do you mind if I change the issue name so it's clear it's a request? To something like Expose frame size configuring possibly through the api

lucianodato avatar May 13 '22 18:05 lucianodato

Sure, rename it as you wish

SimonG4ELI avatar May 13 '22 20:05 SimonG4ELI

Right, so yeah that's an option if you want better resolution in the lower frequencies at the expense of more latency. Evidently you already know how to change it. I think here would be a good use of exposing these parameters through a config file

In my software's filtering I use FFT Partitioning - I'm sure we could use this to reduce latency, for example I can reduce the latency of 128ms down to 4ms.

SimonG4ELI avatar May 14 '22 04:05 SimonG4ELI

Ahh yeah someone el se has mentioned this once. I'll investigate further, this will be for sure useful!

lucianodato avatar May 14 '22 06:05 lucianodato

Ahh yeah someone el se has mentioned this once. I'll investigate further, this will be for sure useful!

Uses more CPU but at these sample rates will not be an issue.

SimonG4ELI avatar May 14 '22 06:05 SimonG4ELI