#include <SegmentSMSMorph.hxx>
Definition at line 37 of file SegmentSMSMorph.hxx.
Public Member Functions | |
SegmentSMSMorph () | |
Base constructor of class. | |
SegmentSMSMorph (const SegmentSMSMorphConfig &c) | |
Constructor with an object of SegmentTransformationConfig class by parameter. | |
const char * | GetClassName () const |
This method returns the name of the object. | |
const ProcessingConfig & | GetConfig () const |
Configuration getter. | |
bool | ConcreteConfigure (const ProcessingConfig &c) |
Configuration change method. | |
bool | ConcreteStart () |
Overriding default method to initialize input frame counter. | |
~SegmentSMSMorph () | |
Destructor of the class. | |
bool | Do (const Segment &in1, Segment &out) |
Unsupervised Do function, receives a Segment as input and output. | |
bool | Do (const Segment &in1, Segment &in2, Segment &out) |
bool | Do (const Frame &in1, Frame &out) |
bool | Do () |
Supervised mode execution method (using ports). | |
virtual bool | UpdateControlValueFromBPF (TData pos) |
Method to update the Amount control from an existing BPF configured in the configuration phase. | |
void | SetSegmentToMorph (Segment &segmentToMorph) |
Public Attributes | |
bool | mUseGlobalFactor |
SegmentSMSMorphCtrl | mHybBPF |
bool | mUseSynchronizeTime |
SegmentSMSMorphCtrl | mSynchronizeTime |
bool | mUseSinAmp |
SegmentSMSMorphCtrl | mHybSinAmp |
bool | mUseSinSpectralShape |
SegmentSMSMorphCtrl | mHybSinSpectralShape |
SegmentSMSMorphCtrl | mHybSinShapeW1 |
SegmentSMSMorphCtrl | mHybSinShapeW2 |
bool | mUsePitch |
SegmentSMSMorphCtrl | mHybPitch |
bool | mUseSinFreq |
SegmentSMSMorphCtrl | mHybSinFreq |
bool | mUseResAmp |
SegmentSMSMorphCtrl | mHybResAmp |
bool | mUseResSpectralShape |
SegmentSMSMorphCtrl | mHybResSpectralShape |
SegmentSMSMorphCtrl | mHybResShapeW1 |
SegmentSMSMorphCtrl | mHybResShapeW2 |
Protected Member Functions | |
void | UpdateFrameInterpolatorFactors (bool useFrameFactor) |
bool | FindInterpolatedFrameFromSegment2Morph (Frame &interpolatedFrame) |
void | UpdateSpectralShape (const BPF &weightBPF1, const BPF &weightBPF2, TData interpFactor, Spectrum &spectralShape) |
void | InitializeFactorsToUse () |
bool | LoadSDIF (std::string fileName, Segment &segment) |
Protected Attributes | |
SDIFIn | mSDIFReader |
SegmentSMSMorphConfig | mConfig |
Internally stored configuration. | |
Segment * | mpInput2 |
Input Port. | |
bool | mHarmSpectralShapeMorph |
bool | mHaveInternalSegment |
Segment | mSegment |
Spectrum | mSpectralShape |
Spectrum | mResSpectralShape |
FrameInterpolator | mPO_FrameInterpolator |
Child processings. |
CLAM::SegmentSMSMorph::SegmentSMSMorph | ( | ) |
Base constructor of class.
Calls Configure method with a SegmentTransformationConfig initialised by default
Definition at line 39 of file SegmentSMSMorph.cxx.
References mHaveInternalSegment, mUseGlobalFactor, mUsePitch, mUseResAmp, mUseResSpectralShape, mUseSinAmp, mUseSinFreq, mUseSinSpectralShape, mUseSynchronizeTime, and CLAM::SegmentTransformation::mUseTemporalBPF.
CLAM::SegmentSMSMorph::SegmentSMSMorph | ( | const SegmentSMSMorphConfig & | c | ) |
Constructor with an object of SegmentTransformationConfig class by parameter.
c | SegmentTransformationConfig object created by the user |
Definition at line 68 of file SegmentSMSMorph.cxx.
References CLAM::Processing::Configure(), mHaveInternalSegment, mUseGlobalFactor, mUsePitch, mUseResAmp, mUseResSpectralShape, mUseSinAmp, mUseSinFreq, mUseSinSpectralShape, mUseSynchronizeTime, and CLAM::SegmentTransformation::mUseTemporalBPF.
CLAM::SegmentSMSMorph::~SegmentSMSMorph | ( | ) | [inline] |
const char* CLAM::SegmentSMSMorph::GetClassName | ( | ) | const [inline, virtual] |
This method returns the name of the object.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 53 of file SegmentSMSMorph.hxx.
const ProcessingConfig& CLAM::SegmentSMSMorph::GetConfig | ( | ) | const [inline, virtual] |
Configuration getter.
Gets the configuration parameters used to create the object.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 55 of file SegmentSMSMorph.hxx.
References mConfig.
bool CLAM::SegmentSMSMorph::ConcreteConfigure | ( | const ProcessingConfig & | c | ) | [virtual] |
Configuration change method.
Note that the Amount Control is initialized from the the values in the configuration. Appart from that the member boolean variable that indicates whether a BPF is used is also initialized and the On/Off control also.
The | ProcessingConfig object |
Reimplemented from CLAM::SegmentTransformation.
Definition at line 99 of file SegmentSMSMorph.cxx.
References CLAM::FrameInterpolator::AttachSpectralShape(), CLAM::SpecTypeFlags::bMagPhase, CLAM::SpecTypeFlags::bMagPhaseBPF, CLAM_ASSERT, CLAM::Processing::Configure(), CLAM::Spectrum::Configure(), CLAM::Processing::CopyAsConcreteConfig(), InitializeFactorsToUse(), LoadSDIF(), mConfig, mHaveInternalSegment, mpInput2, mPO_FrameInterpolator, mResSpectralShape, mSegment, mSpectralShape, mUseResSpectralShape, mUseSinSpectralShape, and UpdateControlValueFromBPF().
bool CLAM::SegmentSMSMorph::ConcreteStart | ( | void | ) | [virtual] |
Overriding default method to initialize input frame counter.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 142 of file SegmentSMSMorph.cxx.
References mPO_FrameInterpolator, and CLAM::Processing::Start().
Unsupervised Do function, receives a Segment as input and output.
This overload is the one called from the supervised Do(). Note that if BPF parameter is used, the Amount control is also updated.
input | the Segment that is input to the transformation | |
out | the Segment that is output from the transformation. |
Reimplemented from CLAM::SegmentTransformation.
Definition at line 218 of file SegmentSMSMorph.cxx.
References CLAM::SegmentTransformation::Do(), and mHaveInternalSegment.
Definition at line 224 of file SegmentSMSMorph.cxx.
References Do(), mHaveInternalSegment, and mpInput2.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 163 of file SegmentSMSMorph.cxx.
References CLAM::FrameInterpolator::Do(), FindInterpolatedFrameFromSegment2Morph(), CLAM::Segment::GetFrame(), CLAM::Segment::GetnFrames(), mConfig, mpInput2, mPO_FrameInterpolator, mSynchronizeTime, and UpdateFrameInterpolatorFactors().
bool CLAM::SegmentSMSMorph::Do | ( | ) | [inline, virtual] |
Supervised mode execution method (using ports).
Reimplemented from CLAM::SegmentTransformation.
Definition at line 71 of file SegmentSMSMorph.hxx.
References CLAM_ASSERT.
Referenced by Do().
Method to update the Amount control from an existing BPF configured in the configuration phase.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 232 of file SegmentSMSMorph.cxx.
References mConfig, mHybBPF, mHybPitch, mHybResAmp, mHybResSpectralShape, mHybSinAmp, mHybSinFreq, mHybSinSpectralShape, mResSpectralShape, mSpectralShape, mSynchronizeTime, mUseGlobalFactor, mUsePitch, mUseResAmp, mUseResSpectralShape, mUseSinAmp, mUseSinFreq, mUseSinSpectralShape, mUseSynchronizeTime, and UpdateSpectralShape().
Referenced by ConcreteConfigure().
void CLAM::SegmentSMSMorph::SetSegmentToMorph | ( | Segment & | segmentToMorph | ) |
void CLAM::SegmentSMSMorph::UpdateFrameInterpolatorFactors | ( | bool | useFrameFactor = false |
) | [protected] |
Definition at line 148 of file SegmentSMSMorph.cxx.
References CLAM::FrameInterpolator::mFrameInterpolationFactorCtl, CLAM::FrameInterpolator::mFreqInterpolationFactorCtl, mHybBPF, mHybPitch, mHybResAmp, mHybSinAmp, mHybSinFreq, CLAM::FrameInterpolator::mMagInterpolationFactorCtl, CLAM::FrameInterpolator::mPitchInterpolationFactorCtl, mPO_FrameInterpolator, and CLAM::FrameInterpolator::mResidualInterpolationFactorCtl.
Referenced by Do(), and FindInterpolatedFrameFromSegment2Morph().
bool CLAM::SegmentSMSMorph::FindInterpolatedFrameFromSegment2Morph | ( | Frame & | interpolatedFrame | ) | [protected] |
Definition at line 200 of file SegmentSMSMorph.cxx.
References CLAM::FrameInterpolator::Do(), CLAM::Segment::GetFrame(), CLAM::Segment::GetnFrames(), CLAM::Segment::mCurrentFrameIndex, mHybBPF, mpInput2, mPO_FrameInterpolator, mSynchronizeTime, and UpdateFrameInterpolatorFactors().
Referenced by Do().
void CLAM::SegmentSMSMorph::UpdateSpectralShape | ( | const BPF & | weightBPF1, | |
const BPF & | weightBPF2, | |||
TData | interpFactor, | |||
Spectrum & | spectralShape | |||
) | [protected] |
Definition at line 316 of file SegmentSMSMorph.cxx.
References CLAM::Spectrum::SetSize().
Referenced by UpdateControlValueFromBPF().
void CLAM::SegmentSMSMorph::InitializeFactorsToUse | ( | ) | [protected] |
Definition at line 292 of file SegmentSMSMorph.cxx.
References mConfig, mUseGlobalFactor, mUsePitch, mUseResAmp, mUseResSpectralShape, mUseSinAmp, mUseSinFreq, mUseSinSpectralShape, and mUseSynchronizeTime.
Referenced by ConcreteConfigure().
Definition at line 356 of file SegmentSMSMorph.cxx.
References CLAM::Processing::Configure(), CLAM::SDIFIn::Do(), mSDIFReader, CLAM::Processing::Start(), CLAM::Processing::Stop(), and CLAM::DynamicType::UpdateData().
Referenced by ConcreteConfigure().
Definition at line 81 of file SegmentSMSMorph.hxx.
Referenced by InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybBPF |
Definition at line 82 of file SegmentSMSMorph.hxx.
Referenced by FindInterpolatedFrameFromSegment2Morph(), UpdateControlValueFromBPF(), and UpdateFrameInterpolatorFactors().
Definition at line 84 of file SegmentSMSMorph.hxx.
Referenced by InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mSynchronizeTime |
Definition at line 85 of file SegmentSMSMorph.hxx.
Referenced by Do(), FindInterpolatedFrameFromSegment2Morph(), and UpdateControlValueFromBPF().
Definition at line 87 of file SegmentSMSMorph.hxx.
Referenced by InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybSinAmp |
Definition at line 88 of file SegmentSMSMorph.hxx.
Referenced by UpdateControlValueFromBPF(), and UpdateFrameInterpolatorFactors().
Definition at line 90 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybSinSpectralShape |
SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybSinShapeW1 |
Definition at line 92 of file SegmentSMSMorph.hxx.
SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybSinShapeW2 |
Definition at line 93 of file SegmentSMSMorph.hxx.
Definition at line 95 of file SegmentSMSMorph.hxx.
Referenced by InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybPitch |
Definition at line 96 of file SegmentSMSMorph.hxx.
Referenced by UpdateControlValueFromBPF(), and UpdateFrameInterpolatorFactors().
Definition at line 98 of file SegmentSMSMorph.hxx.
Referenced by InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybSinFreq |
Definition at line 99 of file SegmentSMSMorph.hxx.
Referenced by UpdateControlValueFromBPF(), and UpdateFrameInterpolatorFactors().
Definition at line 101 of file SegmentSMSMorph.hxx.
Referenced by InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybResAmp |
Definition at line 102 of file SegmentSMSMorph.hxx.
Referenced by UpdateControlValueFromBPF(), and UpdateFrameInterpolatorFactors().
Definition at line 104 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybResSpectralShape |
SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybResShapeW1 |
Definition at line 106 of file SegmentSMSMorph.hxx.
SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybResShapeW2 |
Definition at line 107 of file SegmentSMSMorph.hxx.
SDIFIn CLAM::SegmentSMSMorph::mSDIFReader [protected] |
SegmentSMSMorphConfig CLAM::SegmentSMSMorph::mConfig [protected] |
Internally stored configuration.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 119 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), Do(), GetConfig(), InitializeFactorsToUse(), and UpdateControlValueFromBPF().
Segment* CLAM::SegmentSMSMorph::mpInput2 [protected] |
Input Port.
Note that all SegmentTransformations will have segment as input and output, regartheless on what particular "unwrapped" Processing Data they implement the transformation. Here we add a second segment for the sound to morph.
Definition at line 125 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), Do(), FindInterpolatedFrameFromSegment2Morph(), and SetSegmentToMorph().
bool CLAM::SegmentSMSMorph::mHarmSpectralShapeMorph [protected] |
Definition at line 127 of file SegmentSMSMorph.hxx.
bool CLAM::SegmentSMSMorph::mHaveInternalSegment [protected] |
Definition at line 128 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), Do(), SegmentSMSMorph(), and SetSegmentToMorph().
Segment CLAM::SegmentSMSMorph::mSegment [protected] |
Spectrum CLAM::SegmentSMSMorph::mSpectralShape [protected] |
Definition at line 132 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), and UpdateControlValueFromBPF().
Spectrum CLAM::SegmentSMSMorph::mResSpectralShape [protected] |
Definition at line 133 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), and UpdateControlValueFromBPF().
Child processings.
Definition at line 138 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), ConcreteStart(), Do(), FindInterpolatedFrameFromSegment2Morph(), and UpdateFrameInterpolatorFactors().