Re: [LAD] Ladspa plugin invisible

From: Jamie Bullock <jamie@email-addr-hidden>
Date: Thu Nov 29 2007 - 11:31:59 EET

On Wed, 2007-11-28 at 18:39 +0100, Rémi Thébault wrote:

> By the way, for the moment I use FFTW for the frequency identification.
> Is there a way to identify a frequency with quite high precision without
> computing a big spectrum analysis ?
> For a 0.7 Hz precision with fft, I need 65536 samples, what will take a
> lot CPU load every 1.5 sec.
>

If you use the peak spectrum (by calculating the peak locations through
parabolic interpolation) and picking the lowest peak, you can get quite
precise results with a much smaller window size (~1024-2048 samples
should be fine).

This method has some flaws though, particularly if your sound has a weak
or missing fundamental. In this case you might want to look at
Autocorrelation/AMDF/ASDF, which don't require the fundamental to be the
strongest component, or even present at all.

You might be able to find some useful code in libxtract
(http://libxtract.sourceforge.net/): xtract_peak_spectrum(),
xtract_f0(), xtract_failsafe_f0(), xtract_asdf() etc.

One approach might be to do a pre-filtering stage to determine whether
or not most of the energy in the spectrum falls above or below a certain
frequency threshold, and then pick a PDA based on the result. In my
experience, it tends to be low instrumental sounds (e.g. low piano
notes) that tend to have a 'missing fundamental'.

Jamie

-- 
www.postlude.co.uk
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Received on Thu Nov 29 12:15:05 2007

This archive was generated by hypermail 2.1.8 : Thu Nov 29 2007 - 12:15:05 EET