|
CLAM-Development
1.3
|
#include <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 |
| FloatInControl | mHybBPF |
| bool | mUseSynchronizeTime |
| FloatInControl | mSynchronizeTime |
| bool | mUseSinAmp |
| FloatInControl | mHybSinAmp |
| bool | mUseSinSpectralShape |
| FloatInControl | mHybSinSpectralShape |
| FloatInControl | mHybSinShapeW1 |
| FloatInControl | mHybSinShapeW2 |
| bool | mUsePitch |
| FloatInControl | mHybPitch |
| bool | mUseSinFreq |
| FloatInControl | mHybSinFreq |
| bool | mUseResAmp |
| FloatInControl | mHybResAmp |
| bool | mUseResSpectralShape |
| FloatInControl | mHybResSpectralShape |
| FloatInControl | mHybResShapeW1 |
| FloatInControl | 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. | |
Definition at line 37 of file SegmentSMSMorph.hxx.
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.
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] |
Destructor of the class.
Definition at line 62 of file SegmentSMSMorph.hxx.
| 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::Spectrum::Configure(), CLAM::Processing::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().
| bool CLAM::SegmentSMSMorph::Do | ( | const Segment & | in, |
| Segment & | out | ||
| ) | [virtual] |
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 Do(), and mHaveInternalSegment.
| bool CLAM::SegmentSMSMorph::Do | ( | const Segment & | in1, |
| Segment & | in2, | ||
| Segment & | out | ||
| ) |
Definition at line 224 of file SegmentSMSMorph.cxx.
References Do(), mHaveInternalSegment, and mpInput2.
| bool CLAM::SegmentSMSMorph::Do | ( | const Frame & | in1, |
| Frame & | out | ||
| ) | [virtual] |
Reimplemented from CLAM::SegmentTransformation.
Definition at line 163 of file SegmentSMSMorph.cxx.
References CLAM::FrameInterpolator::Do(), FindInterpolatedFrameFromSegment2Morph(), CLAM::Segment::GetFrame(), CLAM::InControl< ControlDataType >::GetLastValue(), 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 69 of file SegmentSMSMorph.hxx.
References CLAM_ASSERT.
Referenced by Do().
| bool CLAM::SegmentSMSMorph::FindInterpolatedFrameFromSegment2Morph | ( | Frame & | interpolatedFrame | ) | [protected] |
Definition at line 200 of file SegmentSMSMorph.cxx.
References CLAM::FrameInterpolator::Do(), CLAM::InControl< ControlDataType >::DoControl(), CLAM::Segment::GetFrame(), CLAM::InControl< ControlDataType >::GetLastValue(), CLAM::Segment::GetnFrames(), CLAM::Segment::mCurrentFrameIndex, mHybBPF, mpInput2, mPO_FrameInterpolator, mSynchronizeTime, and UpdateFrameInterpolatorFactors().
Referenced by Do().
| const char* CLAM::SegmentSMSMorph::GetClassName | ( | ) | const [inline, virtual] |
This method returns the name of the object.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 51 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 53 of file SegmentSMSMorph.hxx.
References mConfig.
| 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().
| bool CLAM::SegmentSMSMorph::LoadSDIF | ( | std::string | fileName, |
| Segment & | segment | ||
| ) | [protected] |
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().
| void CLAM::SegmentSMSMorph::SetSegmentToMorph | ( | Segment & | segmentToMorph | ) |
Definition at line 379 of file SegmentSMSMorph.cxx.
References mHaveInternalSegment, and mpInput2.
| bool CLAM::SegmentSMSMorph::UpdateControlValueFromBPF | ( | TData | pos | ) | [virtual] |
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 CLAM::InControl< ControlDataType >::DoControl(), CLAM::InControl< ControlDataType >::GetLastValue(), 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::UpdateFrameInterpolatorFactors | ( | bool | useFrameFactor = false | ) | [protected] |
Definition at line 148 of file SegmentSMSMorph.cxx.
References CLAM::InControl< ControlDataType >::DoControl(), CLAM::InControl< ControlDataType >::GetLastValue(), 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().
| 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::BPFTmpl< TX, TY >::GetValue(), CLAM::BPFTmpl< TX, TY >::GetValueFromIndex(), CLAM::BPFTmpl< TX, TY >::GetXValue(), CLAM::BPFTmpl< TX, TY >::Insert(), CLAM::Spectrum::SetSize(), and CLAM::BPFTmpl< TX, TY >::Size().
Referenced by UpdateControlValueFromBPF().
SegmentSMSMorphConfig CLAM::SegmentSMSMorph::mConfig [protected] |
Internally stored configuration.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 117 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), Do(), GetConfig(), InitializeFactorsToUse(), and UpdateControlValueFromBPF().
bool CLAM::SegmentSMSMorph::mHarmSpectralShapeMorph [protected] |
Definition at line 125 of file SegmentSMSMorph.hxx.
bool CLAM::SegmentSMSMorph::mHaveInternalSegment [protected] |
Definition at line 126 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), Do(), SegmentSMSMorph(), and SetSegmentToMorph().
Definition at line 80 of file SegmentSMSMorph.hxx.
Referenced by FindInterpolatedFrameFromSegment2Morph(), UpdateControlValueFromBPF(), and UpdateFrameInterpolatorFactors().
Definition at line 94 of file SegmentSMSMorph.hxx.
Referenced by UpdateControlValueFromBPF(), and UpdateFrameInterpolatorFactors().
Definition at line 100 of file SegmentSMSMorph.hxx.
Referenced by UpdateControlValueFromBPF(), and UpdateFrameInterpolatorFactors().
Definition at line 104 of file SegmentSMSMorph.hxx.
Definition at line 105 of file SegmentSMSMorph.hxx.
Definition at line 103 of file SegmentSMSMorph.hxx.
Referenced by UpdateControlValueFromBPF().
Definition at line 86 of file SegmentSMSMorph.hxx.
Referenced by UpdateControlValueFromBPF(), and UpdateFrameInterpolatorFactors().
Definition at line 97 of file SegmentSMSMorph.hxx.
Referenced by UpdateControlValueFromBPF(), and UpdateFrameInterpolatorFactors().
Definition at line 90 of file SegmentSMSMorph.hxx.
Definition at line 91 of file SegmentSMSMorph.hxx.
Definition at line 89 of file SegmentSMSMorph.hxx.
Referenced by 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 123 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), Do(), FindInterpolatedFrameFromSegment2Morph(), and SetSegmentToMorph().
Child processings.
Definition at line 136 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), ConcreteStart(), Do(), FindInterpolatedFrameFromSegment2Morph(), and UpdateFrameInterpolatorFactors().
Spectrum CLAM::SegmentSMSMorph::mResSpectralShape [protected] |
Definition at line 131 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), and UpdateControlValueFromBPF().
SDIFIn CLAM::SegmentSMSMorph::mSDIFReader [protected] |
Definition at line 116 of file SegmentSMSMorph.hxx.
Referenced by LoadSDIF().
Segment CLAM::SegmentSMSMorph::mSegment [protected] |
Definition at line 128 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure().
Spectrum CLAM::SegmentSMSMorph::mSpectralShape [protected] |
Definition at line 130 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), and UpdateControlValueFromBPF().
Definition at line 83 of file SegmentSMSMorph.hxx.
Referenced by Do(), FindInterpolatedFrameFromSegment2Morph(), and UpdateControlValueFromBPF().
Definition at line 79 of file SegmentSMSMorph.hxx.
Referenced by InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
Definition at line 93 of file SegmentSMSMorph.hxx.
Referenced by InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
Definition at line 99 of file SegmentSMSMorph.hxx.
Referenced by InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
Definition at line 102 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
Definition at line 85 of file SegmentSMSMorph.hxx.
Referenced by InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
Definition at line 96 of file SegmentSMSMorph.hxx.
Referenced by InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
Definition at line 88 of file SegmentSMSMorph.hxx.
Referenced by ConcreteConfigure(), InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
Definition at line 82 of file SegmentSMSMorph.hxx.
Referenced by InitializeFactorsToUse(), SegmentSMSMorph(), and UpdateControlValueFromBPF().
1.7.6.1