Hi,
On Fri, 2008-01-11 at 13:57 +0100, matteo sisti sette wrote:
Another question about fiddle. I'd like to be able to distinguish between a signal with a pitch and a signal without a picth. It seems to me that fiddle always outputs its "best guess" no matter how reliable it is.
Actually that's not quite true. fiddle~ doesn't output anything at all from its first outlet unless it's pretty certain a pitch has been found.
However, it does continuously output the first estimated peak location it uses to make its pitch calculation from its third outlet. It will also output 0 as a peak location if it can't find a peak, so you can make a pitched vs unpitched certainty estimator like the one in the attached patch giving 3 certainty levels (0.5 is unsure).
I thought I may use the third outlet and evaluate whether it outputs a very randomly-varying number; however, with a [noise~] as input, it mostly outputs values between 90 and 110 and some 0 every once in a while.....
With the default fiddle~ settings, it seems to output 0 about 15% of the time, which seems quite a lot to me.
Anyhow, I think this is a case of using the wrong tool for the job. Pitch/f0 estimators (PDAs) are designed to find pitch in a signal, not to measure noisiness. There are other tools to measure this - I find spectral irregularity to be quite a good noisiness metric, but there are several others. If you are interested in this, perhaps take a look at the libxtract feature extraction library, which comes with PD external that wraps its functionality.
Jamie