CLAM-Development
1.4.0
|
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.
|
inline |
Definition at line 65 of file 3BandCompressor.hxx.
References CLAM::Processing::Configure(), and CLAM::InControlBase::SetBounds().
|
inline |
Definition at line 79 of file 3BandCompressor.hxx.
Implements CLAM::FrameTransformation.
Definition at line 93 of file 3BandCompressor.hxx.
References Do().
Implements CLAM::FrameTransformationTmpl< Spectrum >.
Definition at line 39 of file 3BandCompressor.cxx.
References CLAM::InControl< ControlDataType >::GetLastValue(), CLAM::Spectrum::GetSize(), log2lin(), and Round().
|
inlinevirtual |
Supervised mode execution method (using ports)
Implements CLAM::Processing.
Definition at line 100 of file 3BandCompressor.hxx.
References CLAM::InPort< Token >::Consume(), CLAM::InPort< Token >::GetData(), CLAM::OutPort< Token >::GetData(), and CLAM::OutPort< Token >::Produce().
Referenced by Do().
|
inlinevirtual |
Override it in every subclass and retur the name of that class.
Implements CLAM::Processing.
Definition at line 60 of file 3BandCompressor.hxx.
|
inlinevirtual |
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().