Page 1 of 1

Process signal within range

Posted: Thu Feb 07, 2013 7:51 pm
by Drnkhobo
Hey guys, im trying to do this idea I have.

I want to process (compress) my signal only between 100-500hz

I was thinking to get the array of points from a FFT, then range(100..500) then somehow
apply this to my compressor...but im unsure of how to do this properly.


Does anyone know a way to process in a freq range?? maybe in dsp module??


:lol:

Re: Process signal within range

Posted: Thu Feb 07, 2013 8:19 pm
by trogluddite
The old SynthMaker would be worth a search for a few answers - there have been a few multi-band compressors made over there. (search for de-essers too - de-essing is a very closely related task to what you are looking for).

In general though, it would be very, very hard to do using FFT in FS. For years, it has been dreamed of by SM users - but the standard green FFT, iFFT are not practical for a real-time stream, and the DSP code and assembly primitives don't really have many of the features needed to implement it easily - though I wouldn't say that it is completely impossible.
So the usual approach is to split the audio using low and high pass filters - treat each band with a regular compressor, and then re-combine them. Even if FFT were possible, band-splitting usually uses much less CPU power, and also has less processing latency (accurate FFTs introduce quite a delay). The downside, of course, is that the splitting filters may introduce phase problems near to the cross-over frequencies.

Re: Process signal within range

Posted: Thu Feb 07, 2013 8:27 pm
by Drnkhobo
;)
Thanks Trog, you have saved me many hours !

I think ill look into the mutiband compression on SM (by the way will they ever remove the site/forums?)
- do you think its possible to detect which freq is strongest???? - hmmm im thinking. . . .