fzero~frequency limit @ 2500 Hz

Stefano Scarani's icon

For the first time I use fzero ~ (since the excellent fidle ~ and sigmund ~ no longer work), and I find that it does not allow analysis above 2500 Hz. And more: testing with a ~ cycle, at 2000 Hz tell me that we are around 1000.

Does anyone know anything about it?

LSka's icon

Hi Stefano,
I don't know about your problem, but here you can find 64-bit versions of fiddle~ and sigmund~:
http://vboehm.net/downloads/

Stefano Scarani's icon

Thank you very mutch, it's a great news.

mzed's icon

2000Hz seems to be working fine for me here:

Max Patch
Copy patch and select New From Clipboard in Max.

Were you testing differently?


2500Hz is a real limit, though. The fzero algorithm trades good low frequency performance for poor high frequency performance.

Peter McCulloch's icon

You might be able to get around that by upsampling it inside a poly~. Away from my computer at the moment so can’t test this, but if 2500 is represented within the algorithm as a fraction of the samplerate, increasing the samplerate should raise the cutoff point. You can test this by simply increasing your samplerate. If that works, wrap fzero~ in a poly~ Yourpatchname up 2.

Stefano Scarani's icon

Yes, I agree. In any case the new fiddle~ and sigmund~ are better.
Thank

mzed's icon

FWIW, the upper limit for fzero~ in Max 8 has been upped to about 8800 Hz.

Stefano Scarani's icon

Well, better, but not very good.

mzed's icon

More specifically, the max frequency is set to the sample rate * 0.2. So, higher frequencies are possible at higher sample rates. Realistically, the algorithm probably needs at least 10 samples in a period to work properly. 8820 Hz at 44.1 kHz sample rate is 5 samples, which is really pushing it.

I think that's nearly the top of useable fundamentals for audible music. I can imagine wanting to identify other fundamental frequencies, but I think that these are a bit of an edge case? At that point, the hottest fft bin is always the correct answer because there are no salient harmonics.