DSP Challenge - Feedback Killer

Discussion in 'Effects and the DSP' started by BODYPRINT, Mar 2, 2005.

  1. BODYPRINT

    BODYPRINT New Member

    Joined:
    Dec 29, 2003
    Messages:
    40
    Likes Received:
    0
    Trophy Points:
    0
    Hi guys,

    I don't know if it would be possible on the DSP, but what are the chances of making a feedback suppression DSP plugin.:confused:

    I understand the basics of how they work, but it is currently way beyond my programming knowledge.
    I will try and learn how to program one because I want one, pretty desperately, but I'm sure some of you guys are already capable of this.:D
    Check this link for a description of feedback properties and a suppression model that has been tested.

    http://www.owlnet.rice.edu/~elec301/Projects02/MFSS/Feedback.html

    What do you clever people think about this?

    Thanks,
    Phil
     
  2. Tril

    Tril Triple screen racing ftw

    Joined:
    Sep 26, 2004
    Messages:
    1,665
    Likes Received:
    19
    Trophy Points:
    48
    Could you post details on your situation. You say that you want one pretty desperately. What will it be used for? Where will you use it? I want to know if it used in a situation where the quality of the sound reproduction is important because that kind of filter tends to alterate the original sound. Will you play music or will it be only speech? How loud will it be? Is it inside or outside?

    If it is possible, it is usually better to avoid situations where feedback occurs than to process the signal. You can lower the volume or place the microphone behind of the speakers.
     
  3. BODYPRINT

    BODYPRINT New Member

    Joined:
    Dec 29, 2003
    Messages:
    40
    Likes Received:
    0
    Trophy Points:
    0
    Basically it is for live vocal performance in my band.

    The music we make has quite a bit of vocal effects, distortion, etc.
    www.bodyprint.net

    When we started jamming, as soon as I started turning up the volume, we were getting feedback before we were even close to the level of the instruments, mainly due to the distortion. I tried different mic positions, basic PA EQ'ing etc.

    The only solution I have so far without buying a Feedback Killer rack unit is to use FLStudio as an effects rack.

    The chain goes something like this...

    dB Meter ...to get the highest level into the 16bits, bring on 24/96 ASIO !!

    Frequency Anyliser ...This is very acurate and shows the spikes where I am getting feedback.

    4 Band compression ...This cuts the high(>4000) and low(<70) Frequencies and drops the midrange when it gets too loud, eg from feedback.

    20 Band Parametric EQ ...Another very acurate plugin. I use the freq from the anyliser to set a narrow band (Q=100) freq cut. I only kick in as many as I need until I get a decent volume. At the moment I am using about 10 cuts on each mic.

    Noise Gate set up as an expander...After I have cleaned up the feedback frequencies, I then noise gate the vocals to stop extra frequencies from wreaking havok.

    I then put any extra effects, Reverb, Pitch shift, distortion, etc after all of these.

    All of this is setup twice for the 2 seperate mics, with 2ms latency and ~20-30% CPU usage thanks to Eugene's awesome drivers. I control the effects in FLStudio through MIDI with my evolution keyboard which has about 20 sliders and knobs on it.

    But I would love it if I didn't have to search the problem frequencies every time we setup. If there was an effect directly in the DSP on the card, or even a DX/Vst effect that could kill the feedback, it would be awesome. I have searched like mad for a DX/Vst plug that could do this and could not find one. Very surprised.

    I hope that explains my situation a little better.
    Cheers, Phil.
     
  4. eyagos

    eyagos New Member

    Joined:
    Dec 11, 2002
    Messages:
    259
    Likes Received:
    0
    Trophy Points:
    0
    I writed a plugin for that some time ago. It search for a prominent frecuency and place a notch there. It is automatic and works fine if feedback is not too high. Try it and tell me if it works for you:

    feedback10.rar

    PD: If feedback is too high, place a second plugin in serial to eliminate the second armonic.
     
    Last edited: Mar 2, 2005
  5. BODYPRINT

    BODYPRINT New Member

    Joined:
    Dec 29, 2003
    Messages:
    40
    Likes Received:
    0
    Trophy Points:
    0
    eyagos, you are a legend!!
    I will try it on wednesday and let you know how it goes. Thanks heaps.

    Fingers crossed hey :)
     
  6. ROBSCIX

    ROBSCIX New Member

    Joined:
    Mar 28, 2004
    Messages:
    1,732
    Likes Received:
    4
    Trophy Points:
    0
    Hey eyagos, What other plugins do you have stashed?...when I come to this part of the forum sometimes there a individuall effects posted..it there like a list somwhere? of effect written but not currently included with KX
     
  7. SUN

    SUN New Member

    Joined:
    Nov 27, 2004
    Messages:
    50
    Likes Received:
    0
    Trophy Points:
    0
    Hi eyagos,
    hi LeMury,
    hi townkat,
    hi Tiger M,
    and all KX-Users,

    EYAGOS your feedback destroyer rocks - best i've found so far! :)
    just tried it in a worst case (right before the PA-Speaker), in use a really bad mike and voila - no feedback :)

    The Level and sound (hight) decreased but this is normal 4 a filter...

    I think you saved me 85€ because i don't have to buy a shark!

    About me:
    User of KX since: Its 2 far away - i just can't remember
    (you realize i'm an oldie :)
    I have to correct my alias: DJ-Sunnie
    So - if you are or plan 2 be a DJ - ask me - i shurely will try 2 help!

    P.S:
    2 ROBSCIX - sometimes there a individuall effects posted..it there like a list somwhere?
    I think i have 2 create a new Thread:
    Images and plugins/sources on my Server...
    Often when i try to download a new plugin the free Server-links are dead :-(
    Or the search 4 a new one ended in outer space ;-)
    So i think of a version 4 all "programmers" to upload this 2 my own Server!
    But i don't know if there is enough demand 4 this...

    That's enough 4 now...

    Thanks,
    SUN (always shine on you and me)
     
  8. eyagos

    eyagos New Member

    Joined:
    Dec 11, 2002
    Messages:
    259
    Likes Received:
    0
    Trophy Points:
    0
    ROBSCIX:
    I think that only 'feedback' destroyer and 'karaoke'. I'll try to recollect them in one html page. And will add some new effects: Feedback1.1, Pink Noise, Brown Noise, DC Filter nad Karaoke.

    SUN:
    I have an improved version of feedback destroyer that corrects some problems. I'll publish it tonight.
     
  9. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    Eyagos, I noticed in a previous thread that you had an Automatic Gain Control as well. Is that still around somewhere?
     
  10. ROBSCIX

    ROBSCIX New Member

    Joined:
    Mar 28, 2004
    Messages:
    1,732
    Likes Received:
    4
    Trophy Points:
    0
    Cool, well I think it would be good for all memebers...I see it all the time..somebody will have a issue..somebody will be like here you go..new plugin..lost in the threads..it would be nice to have a HTML document with links to ALL..plugins for KX, I download and file everyone that gets posted but I know theres more...
     
  11. eyagos

    eyagos New Member

    Joined:
    Dec 11, 2002
    Messages:
    259
    Likes Received:
    0
    Trophy Points:
    0
    Here you have a list of plugins for downloading:

    http://ciberia.ya.com/eyagos/

    Note: I have noticed today that previous link to feed back destroyer was bad, and you where downloading a non-working plugin. It just reduced the gain, XDD. Probably the working plugin sounds worst... but it does what it is intended for.
     
  12. SUN

    SUN New Member

    Joined:
    Nov 27, 2004
    Messages:
    50
    Likes Received:
    0
    Trophy Points:
    0
    Hi eyagos,
    hi ROBSCIX,

    thanks for the UPDATE - will try it soon...

    I think about a miniforum or guestbook 4 all links updated and checked by me...
    I found some Flashsources - they will be helpfull

    What do you mean?

    SUN
     
  13. SUN

    SUN New Member

    Joined:
    Nov 27, 2004
    Messages:
    50
    Likes Received:
    0
    Trophy Points:
    0
    Hi eyagos,

    your new plugin looks good but - with the standart parameters there is no differenz to hear between "bypass" and active... :-(

    Please explain the three parameters!
    Best setup?

    P.S: How and in which "setup" do you use the DC-Filter?

    Thanks,
    SUN
     
  14. BODYPRINT

    BODYPRINT New Member

    Joined:
    Dec 29, 2003
    Messages:
    40
    Likes Received:
    0
    Trophy Points:
    0
    Hi Eyagos,

    The new plug does seem to do more, I thought the old one was a bit funny !! :)
    I can hear the frequencies drop , but they take to long to come back no matter where I set the velocity slider.

    e.g. If it picks up my vocals as a feedback frequency, I can hear the frequency drop, but it takes ages to get the dropped frequencies back. Leaves a very tinny sound.

    I am also unsure as to wether or not the correct frequencies are getting canceled.
    But I think you are pretty close to hitting the nail mate. Good job :)

    Can you explain exactly how the plugin should be setup?

    Is it very difficult to program a window filter into it so that vocals don't get picked up as a bad frequency? I imagine it would be hard.

    Here is a snippet from the website that I gave at the start of this thread

    Windowing


    This is the first step of the analysis and filtering of the signal. The processor uses a technique called windowing that basically cuts the signal into smaller pieces so that it can process the speech as a finite length signal. For our particular process we will be using a Hann window. This window of length n is described by the equation w[ k + 1 ] = 0.5( 1- cos(2*pi*k/(n-1)) where k = 0, 1, … n-1else w[n] = 0
    [​IMG]
    This window is multiplied in the time domain with the signal so that the only a piece of the signal comes through in the analysis. The reason we use a smooth filter like Hann instead of a triangle or square window is that it causes less distortion in the frequency domain. Once we have windowed this .1 second portion of the signal we begin analysis for the feedback filter.

    Does this make any sense to you because I see this as the most vital step in feedback detection.
    This info was on this page...
    http://www.owlnet.rice.edu/~elec301/Projects02/MFSS/OurFSS.html

    Thanks heaps for all your hard work

    Phil.
     
  15. eyagos

    eyagos New Member

    Joined:
    Dec 11, 2002
    Messages:
    259
    Likes Received:
    0
    Trophy Points:
    0
    Thanks for the testings.

    SUN:
    If you have enough information, you could make a post with a list of links to Webs or threads with plugins. You could ask someone with moderator privileges (or obligations, XD) to put a sticky.


    SUN, BODYPRINT:
    Umm, maybe that velocity is not enough. Well, this is how the plugin works:

    The plugin is only an adaptive IIR notch filter. It places a notch anywhere, and changes it's center frecuency looking for a minimum in the difference between input signal and filtered signal. You can find a full description here:
    http://www.aut.ac.nz/research_showc...as_iconip99.pdf

    Note: This plugin only has one section. It means that only a frecuency should be eliminated, wich is in theory suficient to eliminate low feedback situations.


    Parameters are:

    NotcBW: Bandwidth of the notch.
    100% = minimun BW. But the filter can suffer of quantization-overflow problems.
    0% = maximum BW. Not usable.
    92%-97% = working bandwidths. More BW is equivalent to mo more filtering.

    Depth: Depth of notch filter
    0% = Zero depth. The filter don't do anything.
    100% = Infinite depth. The frecuency at notch center frecuency is totally supressed. It shoud be set inicially at 100%. After feedback has been localized and reduced, you can try reduce depth, looking for a less agressive filtering. But if you set it at 0%, feedback sould come back.

    Velocity: This is the most probelmatic parameter. It controls the velocity at wich notch center frecuency is changed. If it is too high, the plugin becomes unstable, but if you set it too low, the center frecuency doesn't change and the plugin dont works.

    Velocity parameter is the key. But at the moment it is very primitive. I have changed its value in Feedback 1.2. Please, try it.

    BODYPRINT: Windowing could be a good idea, but I have never used it, and not sure about haow it works. I´ll try to try it.


    SUN:
    DC-Filter is a filter that eliminates the continous component os a signal. It can be placed between mic input and output to eliminate problems with bad-quality mics. It can be used too to avoid sending a continous componet to output in testing situations. It should save your speakers.


    Russ:
    You are true, I made an Automatic Gain Control. But I have a project for an imporved version...
     
  16. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    Ok, I will keep an eye out for it :) (if that makes any sense)

    -Russ
     
  17. SUN

    SUN New Member

    Joined:
    Nov 27, 2004
    Messages:
    50
    Likes Received:
    0
    Trophy Points:
    0
    Hi eyagos,

    thanks 4 your background-Info!

    I want 2 try v1.2 but it's always v1.1 on my bookmark-link:
    http://ciberia.ya.com/eyagos/

    Respect 4 your work and have a nice weekend!

    SUN
     
  18. eyagos

    eyagos New Member

    Joined:
    Dec 11, 2002
    Messages:
    259
    Likes Received:
    0
    Trophy Points:
    0
    Opss. I didn't upload the page. Try now.
     
  19. BODYPRINT

    BODYPRINT New Member

    Joined:
    Dec 29, 2003
    Messages:
    40
    Likes Received:
    0
    Trophy Points:
    0
    Thanks heaps eyagos for your continual work on this. I envy you guys that can program these things.
    I havn't had a chance yet to try FK 1.2 yet, but have a little question.

    What is the ot1 output for?
     
  20. eyagos

    eyagos New Member

    Joined:
    Dec 11, 2002
    Messages:
    259
    Likes Received:
    0
    Trophy Points:
    0
    ot1 is just a register for testing. It is useless: Just forgive it or, if you want, edit the source and eliminate the output 'ot1' and the instruction 'macs ot1,t1,0,0'.

    Sorry [​IMG]
     

Share This Page

visited