[PD] about fiddle~

Matteo Sisti Sette matteosistisette at gmail.com
Fri Jan 11 18:30:08 CET 2008

>> 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.

Yes, he outputs a pitch from the first outlet when he finds one, but then 
never outputs anything to tell you that a pitch is no more present. When a 
new stable pitch is found, it is output through the first outlet, but how do 
you know whether the first pitch had remained stable untill that moment or 
if it had stopped existing before?
That's why I was looking at the third outlet instead.

> 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,

Yes but it seems to me it is a bit too "tolerant" in saying he can find a 
pitch, and I was wondering whether there is a way to set the "tolerance".

> With the default fiddle~ settings, it seems to output 0 about 15% of the
> time, which seems quite a lot to me.

With pure noise as an input? Quite a lot?????
IF it is supposed to output 0 when it can't find a pitch, I would expect to 
output 0 about 90% of the time with pure noise as input!!

> 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

Maybe. The fact is that I do want to find a pitch, but I consider "none" as 
a possible value, i.e. I want to find the pitch if the signal reasonably has 
one, and ignore it when it is most probably garbage.

I thought there were two kinds of pitch trackers: those which do have a 
"none" value, and those which assume a pitch must exist and output their 
best estimation always. (well and a "fuzzy" third type, which always give 
both a pitch value and an estimated reliability value).

I don't fully understant to which type fiddle belongs, because on one side, 
it does distinguish whether he does or not detect a stable pitch, since it 
only outputs a "cooked" pitch when it becomes stable. However, a new cooked 
pitch is output (AFAIU) when the pitch changes to a new one (and here I 
don't understand well what it means, for example what is supposed to happen 
if the pitch changes very very slowly but continuously...) and this involves 
some mechanism to deal with vibrato (one more thing I don't understand how 
it works), so I can't imagine it doesn't detect when a stable pitch stops 
existing, and I would expect to output this information in some way related 
to the cooked pitch stuff.......
That is, it is like he says "NOW I detect a stable pitch of 57.2 ..... ..... 
....and NOW I detect a pitch of 60". And what happened in the meantime????

However I'll look at the documentation other people pointed me to, so I'll 
probably understand all this a bit better.

> I find spectral irregularity to be quite a good noisiness metric,

How do you measure (or define) spectral irregularity?

I may want to use spectral irregularity to estimate whether the signal is 
non-noisy and then use fiddle to get the pitch when it is supposed to exist; 
I just thought that nobody better than the pitchtracker itself could tell me 
how difficult it is for it to find the pitch!

> 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.

Thank you so much. I'll have a look 

More information about the Pd-list mailing list