[PD] feedback detection

Jamie Bullock jamie at postlude.co.uk
Mon Jul 31 12:43:38 CEST 2006


There is an cross-correlation class [cc~] in the flib library, which you can use to do auto-correlation. It has both a time domain and a frequency domain CC function. I found the output of the time domain implementation to be easier to interpret. 

There are also number of other feature extraction objects in flib that might help with what you need, including [peak~], which does the same as [peakit~] except that with [peak~] the magnitude spectrum isn't calculated by the object, so you can precalculate the power spectrum, log mag spectrum, cepstrum and pass it to the object. With [peak~] you can also set a threshold as a percentage below the maximum peak found.

You might find [bmax~] useful, as it returns the bin numbers of the n most prominent partials, I think similar to ekext/[hasc~]. (ekext/[hssc~] might also be useful, but you have probably already tried).

Also you might want to try flib/[irreg~], flib/[ss~] which measure spectral irregularity and spectral smoothness respectively.

I guess it depends how prominent you are expecting the feedback to be, and how it is distributed across the spectrum.

Let me know how you resolve this issue, as I am very interested in  this.

HTH,

Jamie


BTW: sounds like a good installation!

On Mon, 31 Jul 2006 01:01:56 -0400
hans at eds.org wrote:

> 
> This isn't a standard feedback suppression system that I am after.  I  
> want to be able to play with the feedback while having the ability to  
> prevent it from taking over.  Its part of an interactive installation  
> I am working on, the next generation of this:
> 
> http://at.or.at/hans/swirler
> 
> The autocorrelation stuff sounds interesting, plus I just found Ed  
> Kelly's [peakit~], which gives amplitude info of FFT channels.
> 
> .hc
> 
> 
> On Jul 31, 2006, at 10:23 AM, padawan12 wrote:
> 
> >
> > Feeback tends toward periodicity at 1/t for a delay of t
> > so you could do an autocorrelation (expensive - does Pd
> > have an object to help with that?) of te feedback signal
> > to look for it. Since you know the frequency in advance
> > a simple bp filter is more effective. Not sure what you mean by
> > "dominant" part. If gain is greater than unity then it will
> > eventually be, but if you think of a Karplus=Strong it is by
> > definition once the excitory signal has vanished. Am I understanding
> > your question(?) if I say the best way is to simply monitor the  
> > amplitude
> > , because if G>1 the amplitude will *always* keep growing.
> >
> > On Sun, 30 Jul 2006 19:07:12 -0400
> > Hans-Christoph Steiner <hans at eds.org> wrote:
> >
> >>
> >> Has anyone done anything with trying to detect feedback in a signal?
> >> I am not looking so much for feedback suppression techniques, but
> >> rather detection techniques.  I am working on a system that has a
> >> slow feedback loop.  I want to detect when feedback is the dominant
> >> part of the signal, and make the system respond in novel ways.
> >>
> >> .hc
> >>
> >> _______________________________________________
> >> PD-list at iem.at mailing list
> >> UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
> >> listinfo/pd-list
> >
> > _______________________________________________
> > PD-list at iem.at mailing list
> > UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
> > listinfo/pd-list
> 
> 
> ------------------------------------------------------------------------
> 
> Man has survived hitherto because he was too ignorant to know how to  
> realize his wishes.  Now that he can realize them, he must either  
> change them, or perish.    -William Carlos Williams
> 
> 
> 
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list




More information about the Pd-list mailing list