CLAM::SegmentSMSMorph Class Reference

#include <SegmentSMSMorph.hxx>

Inheritance diagram for CLAM::SegmentSMSMorph:

CLAM::SegmentTransformation CLAM::Processing

List of all members.


Detailed Description

Todo:
: introduce interpolation of spectral shapes, before that, interpolations may be extracted to external Processing's

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 ProcessingConfigGetConfig () 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.
SegmentmpInput2
 Input Port.
bool mHarmSpectralShapeMorph
bool mHaveInternalSegment
Segment mSegment
Spectrum mSpectralShape
Spectrum mResSpectralShape
FrameInterpolator mPO_FrameInterpolator
 Child processings.

Constructor & Destructor Documentation

CLAM::SegmentSMSMorph::SegmentSMSMorph (  ) 

CLAM::SegmentSMSMorph::SegmentSMSMorph ( const SegmentSMSMorphConfig c  ) 

CLAM::SegmentSMSMorph::~SegmentSMSMorph (  )  [inline]

Destructor of the class.

Definition at line 64 of file SegmentSMSMorph.hxx.


Member Function Documentation

const char* CLAM::SegmentSMSMorph::GetClassName (  )  const [inline, virtual]

This method returns the name of the object.

Returns:
Char pointer with the name of 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.

Returns:
Const reference to the configuration object. The usual way to perform a configuration change in the processing object is to take a copy of this reference, to change it and to send it with the Configure method. If not overriden, it returns a NullProcessingConfig.

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.

Parameters:
The ProcessingConfig object
Returns:
True if the cast has been commited correctly

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().

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.

Parameters:
input the Segment that is input to the transformation
out the Segment that is output from the transformation.
Returns:
Boolean value, whether the process has finished successfully or not.

Reimplemented from CLAM::SegmentTransformation.

Definition at line 218 of file SegmentSMSMorph.cxx.

References CLAM::SegmentTransformation::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]

bool CLAM::SegmentSMSMorph::Do (  )  [inline, virtual]

Supervised mode execution method (using ports).

Returns:
A boolean telling whether it has been output

Reimplemented from CLAM::SegmentTransformation.

Definition at line 71 of file SegmentSMSMorph.hxx.

References CLAM_ASSERT.

Referenced by Do().

bool CLAM::SegmentSMSMorph::UpdateControlValueFromBPF ( TData  pos  )  [virtual]

void CLAM::SegmentSMSMorph::SetSegmentToMorph ( Segment segmentToMorph  ) 

Definition at line 379 of file SegmentSMSMorph.cxx.

References mHaveInternalSegment, and mpInput2.

void CLAM::SegmentSMSMorph::UpdateFrameInterpolatorFactors ( bool  useFrameFactor = false  )  [protected]

bool CLAM::SegmentSMSMorph::FindInterpolatedFrameFromSegment2Morph ( Frame interpolatedFrame  )  [protected]

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]

bool CLAM::SegmentSMSMorph::LoadSDIF ( std::string  fileName,
Segment segment 
) [protected]


Member Data Documentation

SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybBPF

SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybSinAmp

Definition at line 91 of file SegmentSMSMorph.hxx.

Referenced by UpdateControlValueFromBPF().

Definition at line 92 of file SegmentSMSMorph.hxx.

Definition at line 93 of file SegmentSMSMorph.hxx.

SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybPitch

SegmentSMSMorphCtrl CLAM::SegmentSMSMorph::mHybResAmp

Definition at line 105 of file SegmentSMSMorph.hxx.

Referenced by UpdateControlValueFromBPF().

Definition at line 106 of file SegmentSMSMorph.hxx.

Definition at line 107 of file SegmentSMSMorph.hxx.

Definition at line 118 of file SegmentSMSMorph.hxx.

Referenced by LoadSDIF().

Internally stored configuration.

Reimplemented from CLAM::SegmentTransformation.

Definition at line 119 of file SegmentSMSMorph.hxx.

Referenced by ConcreteConfigure(), Do(), GetConfig(), InitializeFactorsToUse(), and UpdateControlValueFromBPF().

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().

Definition at line 127 of file SegmentSMSMorph.hxx.

Definition at line 128 of file SegmentSMSMorph.hxx.

Referenced by ConcreteConfigure(), Do(), SegmentSMSMorph(), and SetSegmentToMorph().

Definition at line 130 of file SegmentSMSMorph.hxx.

Referenced by ConcreteConfigure().

Definition at line 132 of file SegmentSMSMorph.hxx.

Referenced by ConcreteConfigure(), and UpdateControlValueFromBPF().

Definition at line 133 of file SegmentSMSMorph.hxx.

Referenced by ConcreteConfigure(), and UpdateControlValueFromBPF().


The documentation for this class was generated from the following files:

Generated on Tue Aug 12 22:33:49 2008 for CLAM by  doxygen 1.5.5