Tracks the Magnitudes of N bins of an FFT and Reduces Output of those Bins whose magnitude exceeds a threshold for a finite period.
buffer0 |
Buffer created by the FFT when analysing the incoming signal. |
buffer1 |
Buffer to which PV_Control writes the alterations to be made to the magnitude of each bin. These values are scaled to be sent to MidEQ UGens, which will reduce the magnitude of the bins being attenuated. thresh=0.6, mulFactor=0.8, limiter=10, attackReleaseFrames=50, sustainZeroFrames= 100, waitGoFrames=50, tripCount=2, tripBlockFrames=500, highestBin |
thresh |
Magnitude is summed over time and multiplied by mulFactor. When a bin accumulates magnitude that crosses this threshold, it will be zeroed out. Lower numbers == quicker detection of feedback. |
mulFactor |
Summed amplitude over time is multiplied by this number. Lower numbers == quicker detection of feedback. |
limiter |
Limits the maximum magnitude of each of the bins. |
attackReleaseFrames |
The number of frames the algorithm takes to ramp the magnitude of the bin down from 1*mag to 0*mag. |
sustainZeroFrames |
The number of frames the bin is held to a magnitude of 0. |
waitGoFrames |
The number of frames algorithm waits before it starts to duck the incoming signal. |
tripCount |
After the algorithm ducks a bin this many times, it will then duck the bin for an extended period based on tripBlockFrames. This will force the algorithm to avoid oscillating between only 2 frequencies. |
tripBlockFrames |
After tripCount is reached, the bin will then be ducked for a different time period, based on this number of frames. |
highestBin |
The highest bin the algorithm will look at. Generally around 200-400. Frequencies above this bin should be removed from the signal. (In PV_Control, they are removed. With PV_Control2, the user should set a LFP at SampleRate.ir/2/numBins). |
A rather large SynthDef. Notice that input 0 is sent to output 0. I face a microphone right at the speaker. It should also work going through your internal mic and speakers.
Adjust the parameters to find the right setting. As with any feedback situation, it works differently every time.
Turn up the volume slowly!