feedback killer

May 5, 2007 at 4:30pm

feedback killer

Hello,

Did anyone try to program a feedback killer with max? Actually, I’m doing a piece with real-time processing with 5 simple delays (without feedback) at different length (between 529 and 6001 ms) and the patch is very susceptible to feedback loops problems.

The processing is on a piano captured with a At-822 quite near, the 2 speakers are not aiming the piano and it is in a Chapel.

Basically, my feedback killer patch tries to control feedback loops in analysing the incoming sound (which voluntarily contains feedback loop) with fiddle and sending the frequencies of the sines to notch filters.

Unfortunately, this patch is not efficient enough, it cuts feedbacks a bit but not completely… (when I run my other patch in parallel…). Then, I put a little variation on the delays’ length but still, it feeds!

Thanks for any help!

I also join the part of my patch with the 5 delays.

#31768
May 5, 2007 at 6:06pm

I’ve seen setups with combination speaker and microphone arrays which
are highly susceptible to feedback. The technique they used to keep
the feedback from blowing up was to jiggle the center frequency of
some notch filters constantly. If the notch filter stays stable,
feedback will build up still because things change ever so slightly.
If you jiggle it, the system isn’t fixed long enough for a strong
feedback to develop. I’m not a super-techie audio person, but this
was my understanding of their setup. They had microphones right next
to the speakers they were reacording and sending audio back out to so
it was quite a stable system. This was at the IEM Cube in Graz BTW,
so maybe by looking around their website you can get more detailed
info.

http://iem.at/projekte/publications/paper/cube/

best,
wes

On 5/5/07, Julien-Robert wrote:
> Hello,
>
> Did anyone try to program a feedback killer with max? Actually, I’m doing a piece with real-time processing with 5 simple delays (without feedback) at different length (between 529 and 6001 ms) and the patch is very susceptible to feedback loops problems.
>
> The processing is on a piano captured with a At-822 quite near, the 2 speakers are not aiming the piano and it is in a Chapel.
>
> Basically, my feedback killer patch tries to control feedback loops in analysing the incoming sound (which voluntarily contains feedback loop) with fiddle and sending the frequencies of the sines to notch filters.
>
> Unfortunately, this patch is not efficient enough, it cuts feedbacks a bit but not completely… (when I run my other patch in parallel…). Then, I put a little variation on the delays’ length but still, it feeds!
>
> Thanks for any help!
>
> I also join the part of my patch with the 5 delays.
>
>
>
>

#103598
May 5, 2007 at 6:34pm

Thanks Wesley,

The website contains some information about a scientist method to acheive a feedback cancelation. Unfortunately, the terms used are too advanced for my knowledge and this is based on concepts that I don’t know… so, it does not really help me.

For the idea of jiggle the filters depending on the feedback’s movements, if they succeeded to do it (for speech), I really don’t know how to do it in a case where the source is constantly playing (piano) and where there is always others sounds (real-time processing)… Because in this case, we can not analyse the sound using fiddle which will be useless for a complex sound (it will constantly move in all the directions)…

regards

#103599
May 7, 2007 at 3:45pm

Julien-Robert schrieb:
> Did anyone try to program a feedback killer with max? Actually, I’m
> doing a piece with real-time processing with 5 simple delays (without
> feedback) at different length (between 529 and 6001 ms) and the patch
> is very susceptible to feedback loops problems.
>
> The processing is on a piano captured with a At-822 quite near, the 2
> speakers are not aiming the piano and it is in a Chapel.
>
> Basically, my feedback killer patch tries to control feedback loops
> in analysing the incoming sound (which voluntarily contains feedback
> loop) with fiddle and sending the frequencies of the sines to notch
> filters.

This would only help for the amplified, undelayed signal

> Unfortunately, this patch is not efficient enough, it cuts feedbacks
> a bit but not completely… (when I run my other patch in
> parallel…). Then, I put a little variation on the delays’ length
> but still, it feeds!

Why do you think this would help? to vary a delay would just add some
vibrato, but the mics would pick it as any other signal…

Filtering feedback pitches would only work for direct undelayed
feedback. If your mic/speaker system has a strong resonance (the
feedback pitch in self oscillation eventually with overtones) then you
can apply a notch to compensate.

Your delayed material has fundamentals of 0.17 Hz to 2 Hz….

You could search for techniques of echo suppression like it is used for
telephone lines, I remember they do have methods for it, but they are
not concerned about audio quality at all…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com

#103600
May 23, 2007 at 5:38pm

One other way to do it would be with a dynamic convolution filter using
pfft~. Unfortunately, there’s a tradeoff in latency.
The quick and dirty way to do it is to use a lookup table with a
compression curve on a per-bin basis.

This all said, you might find that a multiband compressor-limiter with
tweaked out settings at either the input or the output stages might
make a significant difference (and be considerably more transparent)

Peter McCulloch

On May 7, 2007, at 11:45 AM, Stefan Tiedje wrote:

> Julien-Robert schrieb:
>> Did anyone try to program a feedback killer with max? Actually, I’m
>> doing a piece with real-time processing with 5 simple delays (without
>> feedback) at different length (between 529 and 6001 ms) and the patch
>> is very susceptible to feedback loops problems.
>> The processing is on a piano captured with a At-822 quite near, the 2
>> speakers are not aiming the piano and it is in a Chapel.
>> Basically, my feedback killer patch tries to control feedback loops
>> in analysing the incoming sound (which voluntarily contains feedback
>> loop) with fiddle and sending the frequencies of the sines to notch
>> filters.
>
> This would only help for the amplified, undelayed signal
>
>> Unfortunately, this patch is not efficient enough, it cuts feedbacks
>> a bit but not completely… (when I run my other patch in
>> parallel…). Then, I put a little variation on the delays’ length
>> but still, it feeds!
>
> Why do you think this would help? to vary a delay would just add some
> vibrato, but the mics would pick it as any other signal…
>
> Filtering feedback pitches would only work for direct undelayed
> feedback. If your mic/speaker system has a strong resonance (the
> feedback pitch in self oscillation eventually with overtones) then you
> can apply a notch to compensate.
>
> Your delayed material has fundamentals of 0.17 Hz to 2 Hz….
>
> You could search for techniques of echo suppression like it is used for
> telephone lines, I remember they do have methods for it, but they are
> not concerned about audio quality at all…
>
> Stefan
>
> —
> Stefan Tiedje————x——-
> –_____———–|————–
> –(_|_ —-|—–|—–()——-
> — _|_)—-|—–()————–
> ———-()——–www.ccmix.com
>
>
>
>
http://www.petermcculloch.com

#103601
May 24, 2007 at 6:31pm

You might want to try pitch shifting the output of the speakers by a fractional amount. Or as previously suggested with a notch filter try varying the amount of pitch shift. freqshift~ should do the trick, remember only to shift a very small amount so noone notices.

t

#103602
May 25, 2007 at 12:09am

i might be crazy, but i think you guys are getting way too techno-geek about this problem. in a live sound setup, feedback happens because of poor setup. period. just because the speakers are pointing away from the microphone doesn’t mean everything is ok. you also have to think about reflections (especially in a church). if you’re pointing the speaker directly (i.e. perpendicular to) the back wall, then you’re going to get a big reflection back at the stage.

using crazy dynamic notch filters is generally the easy way out, and it usually doesn’t work too well. not to mention that any type of processing you do to artifically get rid of feedback is going to adversely affect the quality of sound. there is no getting around this. notch filters, jiggly notch filters, dynamic convolution filters, pitch shifting (?!) will all substantially decrease the quality of sound coming out of your speakers. if the quality of sound is not an issue, then go for it.

here are some things to consider:

the greater your signal to noise ratio is for the piano (or anything else being miked), the greater gain before feedback you will have. this means you can get a louder signal out of your speakers before it starts to feedback. so, try moving the mic closer to the piano. try putting the mic way inside of the piano and closing the lid most of the way. try facing the piano so that the lid opens away from the speakers. in other words, first try getting rid of the problem without using electronics.

here’s something else to consider:

assuming that the microphone and the speaker (and any major structural elements of the room) are not moving, your mic-speaker system will ALWAYS feed back at the same frequencies. so, armed with that knowledge, during your sound check, turn the gain way up until it just starts to feedback. find the frequency of the feedback and notch it out. then, turn the gain up some more and find the next feedback frequency and notch it out. continue until your gain is high enough. as long as you don’t move the mic or speaker, you should have gotten rid of most of the major resonance frequencies of the system. of course, if any of those frequencies occur in the music, you’re not going to hear them either.

feedback eliminators work marginally well for speech, since they are looking for pure sine waves with a steady frequency. however, music is chock full of sine waves with steady frequencies, and that tends to confuse the hell out of feedback eliminators.

i’d recommend googling “gain structure” or “audio gain structure”. there’s bound to be a ton of articles on this very important topic, which will help you immensely in getting rid of feedback.

good luck

scott

#103603
May 25, 2007 at 5:11pm

Parent is right. The other contributor to feedback is routing of the
signal. I have seen lots of max pieces with feedback problems because
of the way the input signal is routed and the gain structure.

- If you want the dry sound of the instrument, do not, unless there is
no other option, use the dry signal from within the computer. Instead,
use a prefader aux send from a mixer. You’ll get a consistent level
coming into your computer that you can adjust without affecting the dry
signal. It will also help you determine which signal is causing the
feedback (since you’ll be able to isolate the dry from the wet)

- Definitely use the piano at 1/4 stick if you haven’t already.

- You might try a PZM microphone on the piano taped to the lid, with
the lid closed if you want a lot of isolation.

- You might place gobos near the piano to block certain reflections.

- Use metering within Max on your input to bring your input signal to a
reliable level. In all of my performance patches, I have a meter with
a line placed at -9 dB as well as a peak meter. When the player plays
their loudest note and it pegs at -9 dB, I know the patch will work the
way I expect it to. (since I developed it with -9 as peak)

- I prefer faders using linear gain coefficients using *~ and
multislider instead of gain~ at the output stage. If something gets to
my output and needs to be boosted by 18 dB, it usually means the module
wasn’t built right. Checking your modules to insure that volume in is
roughly volume out can make things work a lot better, and will often
solve a lot of your feedback problems.

- Avoid reliance on wishful thinking when designing delay loop
structures. A compressor or even clip~ or pong~ can be very helpful
should things get out of hand. Also, you’ll find that they can give
you lots of interesting things that might not otherwise be available.

> i might be crazy, but i think you guys are getting way too techno-geek
> about this problem. in a live sound setup, feedback happens because
> of poor setup. period. just because the speakers are pointing away
> from the microphone doesn’t mean everything is ok. you also have to
> think about reflections (especially in a church). if you’re pointing
> the speaker directly (i.e. perpendicular to) the back wall, then
> you’re going to get a big reflection back at the stage.
>
> using crazy dynamic notch filters is generally the easy way out, and
> it usually doesn’t work too well. not to mention that any type of
> processing you do to artifically get rid of feedback is going to
> adversely affect the quality of sound. there is no getting around
> this. notch filters, jiggly notch filters, dynamic convolution
> filters, pitch shifting (?!) will all substantially decrease the
> quality of sound coming out of your speakers. if the quality of sound
> is not an issue, then go for it.

This all said, there are definitely circumstances where crazy
techno-geek is warranted, especially if you do want to utilize acoustic
feedback or if you want to utilize positive/variable feedback within
MSP. (granted, not the case here, but…) So, to not throw around
buzzwords, here’s a rough demo patch of how you could use FFT for
feedback killing. You’ll definitely have to tune it based on the
input, but it makes some fun sounds, especially with positive gain.

Peter McCulloch

#103604
Jul 18, 2007 at 8:00pm

hi,

i have to attach 4 accelerometers to dancers’ limbs for a piece. i have
not done this before. can anyone please recommend types of sensors (i
presume wireless ones are available), and what sort of interfaces would
best be suited for ease of setting up and ease of interfacing with max. i
have had miditron recommended as a hardware interface, but it seems like i
might need to use breadboard and resistors and wires and things. my main
criterion for choosing devices is not price; it is the desire not to have
to expand my pitiful knowledge of hardware issues, hopefully something
plug-and-play-ish.

thanks!
peter

#103605
Jul 18, 2007 at 8:19pm

Quote: legaultsalvail@videotron.ca wrote on Sat, 05 May 2007 18:30
—————————————————-
> The processing is on a piano captured with a At-822 quite near, the 2 speakers are not aiming the piano and it is in a Chapel.
>
> Basically, my feedback killer patch tries to control feedback loops in analysing the incoming sound (which voluntarily contains feedback loop) with fiddle and sending the frequencies of the sines to notch filters.
>
—————————————————-

One other solution is to use a Schertler DYN-P or DYN-GP pickup instead of normal microphones :) The Schertler is expensive but is supposed to have a better sound than piezos, for examples. Maybe the C-ducer condenser microphone pickup is good too (probably less natural). When I have time I will rent a Schertler and a C-ducer to see how it is in practice. Lots of piezo contact microphones I tried were quite good for high register but had crappy bass sounds (much like a guitar or a CP-80, which is not bad but at least unnatural).

Also, some people use a combination of any contact microphone (for the “power”) with two electrostatic microphones (for the “space” and the “spectra”) to reduce feedback …

#103606
Aug 15, 2009 at 12:52pm

Hey Julien

what do I use to open the attachment maybe I could be sum help

#103607
Aug 15, 2009 at 8:02pm

I did these patches on max 4.6. It’s all packaged in a standard zip file.

Cheers

#103608
Aug 16, 2009 at 2:53am

stefan is right, the comparison with analog feedback killers
is a bit unlucky.

in a tapping delay, “feedback killer” usually means an
automatic gain correction in the feedback signal which
keeps it (or the sum of many delay feedback signals) under
0.999 in order to avoid a continously raising level which
would occur over 1.

that is not exactly the same as the speaker-and-mic stuff,
where the level raising starts at -inf already.

p.s. i wish a had a perfect autogain .. i dont have.

i use the following 2 methods:

1.
use a very, very slow limiter inside the feedbackloop.
it changes the sound while it is neccessra to run, but
at least softclip at -1. 1.

2.
run the delays inside a *~ 0.1 enviroment, so that only
extreme input levels, which hopefully arent used in the
softwre, can cause the selfoscillation problem.

-110

#103609
Aug 16, 2009 at 2:59am
swieser1
notch filters, jiggly notch filters, dynamic convolution filters, pitch shifting (?!) will all substantially decrease the quality of sound

you can almost hear someone walking into the thread and
suggesting a downsampling or bitrate reduction effect as
solution.

#103610
Aug 16, 2009 at 3:10am
lwazi wrote on Sat, 15 August 2009 14:52
Hey Julien

what do I use to open the attachment maybe I could be sum help

his patches are in text format.

in OS9 you have to type them to “TEXT/max2″, and in windows
you have to add “.mxt” in order to open them.

when something doesnt work as bin, try as text.
Smile

#103611

You must be logged in to reply to this topic.