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 -- www.postlude.co.uk
#N canvas 561 209 560 371 10; #X obj 166 36 noise~; #X obj 168 99 fiddle~; #X obj 222 35 osc~ 440; #X obj 203 142 sel 0; #X obj 230 165 t b; #X msg 230 192 0.5; #X msg 203 165 0; #X msg 168 166 1; #X obj 168 140 t b; #X obj 153 219 f; #X obj 153 288 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 -1; #X obj 153 245 sel 1 0.5 0; #X obj 174 287 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 -1; #X obj 195 287 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 -1; #X obj 223 68 *~ 0; #X obj 167 69 *~ 0; #X obj 352 32 hsl 128 15 0 1 0 0 empty noisiness empty -2 -6 0 10 -262144 -1 -1 12700 1; #X obj 99 142 tgl 15 0 empty metro-start empty 0 -6 0 10 -262144 -1 -1 1 1; #X obj 100 165 metro 20; #X text 363 14 pitch <-> noise; #X text 134 307 pitch <-> noise; #X obj 1 32 loadbang; #N canvas 3 50 141 300 invert 0; #X obj 45 86 -; #X obj 45 40 t b f; #X msg 45 64 1; #X obj 45 14 inlet; #X obj 45 121 outlet; #X connect 0 0 4 0; #X connect 1 0 2 0; #X connect 1 1 0 1; #X connect 2 0 0 0; #X connect 3 0 1 0; #X restore 349 54 pd invert; #X msg 1 64 \; pd dsp 1 \; noisiness 0.5 \; metro-start 1; #N canvas 3 50 450 300 counter 0; #X obj 338 173 + 1; #X obj 303 173 f; #X obj 303 150 t b; #X obj 303 107 inlet; #X obj 303 217 outlet; #X connect 0 0 1 1; #X connect 1 0 0 0; #X connect 1 0 4 0; #X connect 2 0 1 0; #X connect 3 0 2 0; #X restore 270 163 pd counter; #N canvas 6 75 450 300 counter 0; #X obj 338 173 + 1; #X obj 303 173 f; #X obj 303 150 t b; #X obj 303 107 inlet; #X obj 303 217 outlet; #X connect 0 0 1 1; #X connect 1 0 0 0; #X connect 1 0 4 0; #X connect 2 0 1 0; #X connect 3 0 2 0; #X restore 343 164 pd counter; #X obj 270 216 /; #X floatatom 373 201 5 0 0 0 - - -; #X floatatom 326 202 5 0 0 0 - - -; #X obj 270 244 * 100; #X floatatom 270 287 5 0 0 0 - - -; #X text 311 286 % definitely noise; #X connect 0 0 15 0; #X connect 1 0 8 0; #X connect 1 2 3 0; #X connect 1 2 25 0; #X connect 2 0 14 0; #X connect 3 0 6 0; #X connect 3 0 24 0; #X connect 3 1 4 0; #X connect 4 0 5 0; #X connect 5 0 9 1; #X connect 6 0 9 1; #X connect 7 0 9 1; #X connect 8 0 7 0; #X connect 9 0 11 0; #X connect 11 0 10 0; #X connect 11 1 12 0; #X connect 11 2 13 0; #X connect 14 0 1 0; #X connect 15 0 1 0; #X connect 16 0 15 1; #X connect 16 0 22 0; #X connect 17 0 18 0; #X connect 18 0 9 0; #X connect 21 0 23 0; #X connect 22 0 14 1; #X connect 24 0 26 0; #X connect 24 0 28 0; #X connect 25 0 26 1; #X connect 25 0 27 0; #X connect 26 0 29 0; #X connect 29 0 30 0;
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
