Limits the spectrum magnitude to different threshold for each of three bands. More...
#include <3BandCompressor.hxx>
Public Member Functions | |
const char * | GetClassName () const |
Override it in every subclass and retur the name of that class. | |
ThreeBandCompressor () | |
~ThreeBandCompressor () | |
virtual bool | InitControls () |
Virtual function to override when needing to give different default values to the controls. | |
bool | Do (const Frame &in, Frame &out) |
bool | Do (const Spectrum &in, Spectrum &out) |
bool | Do () |
Supervised mode execution method (using ports). |
Limits the spectrum magnitude to different threshold for each of three bands.
Notice that despite the name, this is a Limiter not a Compressor. Cutoff frequencies are normalized in the interval 0,1 which maps into the full spectral range of the input spectrum.
[in] | In Spectrum | [Port] Input spectrum |
[out] | Out Spectrum | [Port] Output spectrum |
[in] | LowCutoff | [Control] Normalized frequency that separes the first and second bands. [0..1] |
[in] | HighCutoff | [Control] Normalized frequency that separes the second and third bands. [0..1] |
[in] | LowThreshold | [Control] Threshold in dB's for the first band. |
[in] | MidThreshold | [Control] Threshold in dB's for the second band. |
[in] | HighThreshold | [Control] Threshold in dB's for the third band. |
Definition at line 49 of file 3BandCompressor.hxx.
CLAM::ThreeBandCompressor::ThreeBandCompressor | ( | ) | [inline] |
Definition at line 65 of file 3BandCompressor.hxx.
References CLAM::Processing::Configure(), and CLAM::InControlBase::SetBounds().
CLAM::ThreeBandCompressor::~ThreeBandCompressor | ( | ) | [inline] |
Definition at line 79 of file 3BandCompressor.hxx.
bool CLAM::ThreeBandCompressor::Do | ( | ) | [inline, virtual] |
Supervised mode execution method (using ports).
Implements CLAM::Processing.
Definition at line 100 of file 3BandCompressor.hxx.
References CLAM::InPort< Token >::Consume(), CLAM::OutPort< Token >::GetData(), CLAM::InPort< Token >::GetData(), and CLAM::OutPort< Token >::Produce().
Referenced by Do().
Implements CLAM::FrameTransformationTmpl< Spectrum >.
Definition at line 36 of file 3BandCompressor.cxx.
Implements CLAM::FrameTransformation.
Definition at line 93 of file 3BandCompressor.hxx.
References Do().
const char* CLAM::ThreeBandCompressor::GetClassName | ( | ) | const [inline, virtual] |
Override it in every subclass and retur the name of that class.
Implements CLAM::Processing.
Definition at line 60 of file 3BandCompressor.hxx.
virtual bool CLAM::ThreeBandCompressor::InitControls | ( | ) | [inline, virtual] |
Virtual function to override when needing to give different default values to the controls.
Reimplemented from CLAM::FrameTransformation.
Definition at line 81 of file 3BandCompressor.hxx.
References CLAM::InControl< ControlDataType >::DoControl().