CLAM::Frame Class Reference

#include <Frame.hxx>

Inheritance diagram for CLAM::Frame:

CLAM::ProcessingData CLAM::DynamicType CLAM::Component

List of all members.


Detailed Description

Processing Data class to encapsulate a frame and all its related information.

A Frame has an associated time tag that points to the center of the audio chunk being used in the analysis and a duration. It also holds audio data in 4 attributes: AudioFrame is the input audio used for analysis; SynthAudioFrame is the synthesized audio after analysis and possible transformation; SinusoidalAudioFrame is the synthesized only sinusoidal component; ResidualAudioFrame is the synthesized only resiual component. A Frame also has three associated spectrums: Spectrum is the result of the STFT applied to the input audio; SinusoidalSpec is the spectrum of the sinusoidal component; ResidualSpec is the spectrum of the residual. Finally, a frame has SpectralPeakArray that holds the output of the Spectral Peak Detection algorithm and possibly a peak continuation.The Fundamental attribute holds the data of the output of the Fundamental detection algorithm. Note: There are some Getters and Setters, but for efficiency you need to work directly on the dynamic attributes

See also:
Spectrum, SpectralPeakArray, Fundamental, Audio

Definition at line 55 of file Frame.hxx.


Public Member Functions

 DYNAMIC_TYPE_USING_INTERFACE (Frame, 14, ProcessingData)
 DYN_ATTRIBUTE (0, public, TData, CenterTime)
 Value of time in the center of the frame in miliseconds.
 DYN_ATTRIBUTE (1, public, TData, Duration)
 Duration of the Frame in miliseconds.
 DYN_ATTRIBUTE (2, public, Spectrum, Spectrum)
 Spectrum analyzed from the Audio input (in SMS with Residual Window).
 DYN_ATTRIBUTE (3, public, Spectrum, SinusoidalAnalSpectrum)
 Spectrum analyzed from the Audio input (in SMS with Sinusoidal Window).
 DYN_ATTRIBUTE (4, public, SpectralPeakArray, SpectralPeakArray)
 Vector of peaks in spectral analysis.
 DYN_ATTRIBUTE (5, public, Fundamental, Fundamental)
 Fundamental frequency of the information being analyzed.
 DYN_ATTRIBUTE (6, public, Spectrum, OutSpec)
 Output global spectrum.
 DYN_ATTRIBUTE (7, public, Spectrum, ResidualSpec)
 Residual spectrum of the Audio.
 DYN_ATTRIBUTE (8, public, Spectrum, SinusoidalSpec)
 Sinusoidal spectrum of the Audio.
 DYN_ATTRIBUTE (9, public, Audio, AudioFrame)
 Audio chunk we want to analyze.
 DYN_ATTRIBUTE (10, public, Audio, SinusoidalAudioFrame)
 Sinusoidal synthesized Audio.
 DYN_ATTRIBUTE (11, public, Audio, ResidualAudioFrame)
 Residual synthesized Audio.
 DYN_ATTRIBUTE (12, public, Audio, SynthAudioFrame)
 Global synthesized Audio.
 DYN_ATTRIBUTE (13, public, bool, IsHarmonic)
 Is a harmonic frame or not.
TData GetMag (TData freq) const
 Returns the Magnitude of a given frequency.
TData GetMag (TIndex pos) const
 Returns the Magnitude given a position in the Spectrum array.
TData GetPhase (TData freq) const
 Returns the Phase of a given frequency.
TData GetPhase (TIndex pos) const
 Returns the Phase of the spectrum related to a position in the Spectrum array.
void SetMag (TData freq, TData newMag)
 Replaces the Magnitude of the specified Frequency in the Spectrum with the value indicated.
void SetMag (TIndex pos, TData newMag)
 Replaces the Magnitude of the specified position in the Spectrum array with the value indicated.
void SetPhase (TData freq, TData newPhase)
 Replaces the Phase of the specified Frequency in the Spectrum with the value indicated.
void SetPhase (TIndex pos, TData newPhase)
 Replaces the Phase of the specified position in the Spectrum array with the value indicated.
SpectralPeak GetSpectralPeak (TIndex pos) const
 Returns the Spectral peak located in the given position.
SpectralPeak GetThruIndexSpectralPeak (TIndex pos) const
 Returns the Spectral peak located in the given position of the Spectral Array.
void SetSpectralPeak (TIndex pos, const SpectralPeak &spectralPeak, TIndex index=-1)
 This method allows to change values of a Spectral Peak given its position in the array.
void InsertSpectralPeak (TIndex pos, const SpectralPeak &spectralPeak, bool insertIndex=false, TIndex index=-1)
 Inserts a peak at the given position.
void AddSpectralPeak (const SpectralPeak &spectralPeak, bool addIndex=false, TIndex index=-1)
 Inserts a peak at the end of Spectral Array.
void DeleteSpectralPeak (TIndex pos, bool deleteIndex=false)
 Deletes a peak of Spectral Array.
TData GetResMag (TData freq) const
 Returns the Magnitude of a given frequency in residual Spectrum.
TData GetResMag (TIndex pos) const
 Returns the Magnitude given a position in the Residual Spectrum array.
TData GetResPhase (TData freq) const
 Returns the Phase of a given frequency in residual Spectrum.
TData GetResPhase (TIndex pos) const
 Returns the Phase of the spectrum related to a position in the residual Spectrum array.
void SetResMag (TData freq, TData newMag)
 Replaces the Magnitude of the specified Frequency in the residual Spectrum with the value indicated.
void SetResMag (TIndex pos, TData newMag)
 Replaces the Magnitude of the specified position in the residual Spectrum array with the value indicated.
void SetResPhase (TData freq, TData newPhase)
 Replaces the Phase of the specified Frequency in the residual Spectrum with the value indicated.
void SetResPhase (TIndex pos, TData newPhase)
 Replaces the Phase of the specified position in the residual Spectrum array with the value indicated.
TData GetFundamentalFreq (TIndex pos=0) const
 Returns the fundamental frequency at a given index.
TData GetFundamentalErr (TIndex pos=0)
 Returns the error of the candidate of a given index.
void SetFundamentalFreq (TIndex pos, TData newFreq) const
 Modifies the frequency of a candidate at a given index.
void SetFundamentalErr (TIndex pos, TData newErr) const
 Modifies the error of a candidate at a given index.
bool operator== (const Frame &newFrame) const
 If both frames have the same center time (value of time in the center of the frame this method will return true; false otherwise.
bool operator!= (const Frame &newFrame) const
 If center time of two frames is different will return true.
bool operator< (const Frame &newFrame) const
 If this frame is centered in a time inferior relative to the frame passed by parameter will return true; false otherwise.
bool operator<= (const Frame &newFrame) const
 If this frame is centered in a time inferior or equal in relation with the frame passed by parameter will return true; false otherwise.
bool operator> (const Frame &newFrame) const
 If this frame is centered in a time superior relative to the frame passed by parameter will return true; false otherwise.
bool operator>= (const Frame &newFrame) const
 If this frame is centered in a time superior or equal in relation with the frame passed by parameter will return true; false otherwise.

Protected Member Functions

void DefaultInit ()
 The concrete dynamic type constructor calls DefaultInit().

Member Function Documentation

CLAM::Frame::DYNAMIC_TYPE_USING_INTERFACE ( Frame  ,
14  ,
ProcessingData   
)

CLAM::Frame::DYN_ATTRIBUTE ( ,
public  ,
TData  ,
CenterTime   
)

Value of time in the center of the frame in miliseconds.

CLAM::Frame::DYN_ATTRIBUTE ( ,
public  ,
TData  ,
Duration   
)

Duration of the Frame in miliseconds.

CLAM::Frame::DYN_ATTRIBUTE ( ,
public  ,
Spectrum  ,
Spectrum   
)

Spectrum analyzed from the Audio input (in SMS with Residual Window).

CLAM::Frame::DYN_ATTRIBUTE ( ,
public  ,
Spectrum  ,
SinusoidalAnalSpectrum   
)

Spectrum analyzed from the Audio input (in SMS with Sinusoidal Window).

CLAM::Frame::DYN_ATTRIBUTE ( ,
public  ,
SpectralPeakArray  ,
SpectralPeakArray   
)

Vector of peaks in spectral analysis.

CLAM::Frame::DYN_ATTRIBUTE ( ,
public  ,
Fundamental  ,
Fundamental   
)

Fundamental frequency of the information being analyzed.

CLAM::Frame::DYN_ATTRIBUTE ( ,
public  ,
Spectrum  ,
OutSpec   
)

Output global spectrum.

CLAM::Frame::DYN_ATTRIBUTE ( ,
public  ,
Spectrum  ,
ResidualSpec   
)

Residual spectrum of the Audio.

CLAM::Frame::DYN_ATTRIBUTE ( ,
public  ,
Spectrum  ,
SinusoidalSpec   
)

Sinusoidal spectrum of the Audio.

CLAM::Frame::DYN_ATTRIBUTE ( ,
public  ,
Audio  ,
AudioFrame   
)

Audio chunk we want to analyze.

CLAM::Frame::DYN_ATTRIBUTE ( 10  ,
public  ,
Audio  ,
SinusoidalAudioFrame   
)

Sinusoidal synthesized Audio.

CLAM::Frame::DYN_ATTRIBUTE ( 11  ,
public  ,
Audio  ,
ResidualAudioFrame   
)

Residual synthesized Audio.

CLAM::Frame::DYN_ATTRIBUTE ( 12  ,
public  ,
Audio  ,
SynthAudioFrame   
)

Global synthesized Audio.

CLAM::Frame::DYN_ATTRIBUTE ( 13  ,
public  ,
bool  ,
IsHarmonic   
)

Is a harmonic frame or not.

void CLAM::Frame::DefaultInit ( void   )  [protected]

The concrete dynamic type constructor calls DefaultInit().

This allows user to initialize his/her object. But we define DefaultInit() here because we don't want to force writting one DefaultInit() function for each concrete dynamic type. If a dynamic type concrete class defines some (not-default) constructors, this should also call the DefaultInit().

See also:
CopyInit()

Reimplemented from CLAM::DynamicType.

Definition at line 34 of file Frame.cxx.

References CLAM::DynamicType::UpdateData().

TData CLAM::Frame::GetMag ( TData  freq  )  const

Returns the Magnitude of a given frequency.

Parameters:
freq The Frequency we want to know the Magnitude
Returns:
The Magnitude of spectrum in the frequency indicated

Definition at line 46 of file Frame.cxx.

TData CLAM::Frame::GetMag ( TIndex  pos  )  const

Returns the Magnitude given a position in the Spectrum array.

Parameters:
pos The position we want to know the Magnitude
Returns:
The Magnitude of spectrum in the index indicated

Definition at line 50 of file Frame.cxx.

TData CLAM::Frame::GetPhase ( TData  freq  )  const

Returns the Phase of a given frequency.

Parameters:
freq The Frequency we want to know the Phase
Returns:
The Phase of spectrum in the frequency indicated

Definition at line 54 of file Frame.cxx.

TData CLAM::Frame::GetPhase ( TIndex  pos  )  const

Returns the Phase of the spectrum related to a position in the Spectrum array.

Parameters:
pos The position we want to know the Phase
Returns:
The Phase of spectrum in the position indicated

Definition at line 58 of file Frame.cxx.

void CLAM::Frame::SetMag ( TData  freq,
TData  newMag 
)

Replaces the Magnitude of the specified Frequency in the Spectrum with the value indicated.

Parameters:
freq The Frequency which we want to change Magnitude
newMag The new value of Magnitude

Definition at line 63 of file Frame.cxx.

void CLAM::Frame::SetMag ( TIndex  pos,
TData  newMag 
)

Replaces the Magnitude of the specified position in the Spectrum array with the value indicated.

Parameters:
pos The position where we want to change Magnitude
newMag The new value of Magnitude

Definition at line 67 of file Frame.cxx.

void CLAM::Frame::SetPhase ( TData  freq,
TData  newPhase 
)

Replaces the Phase of the specified Frequency in the Spectrum with the value indicated.

Parameters:
freq The Frequency which we want to change Phase
newPhase The new value of Phase

Definition at line 71 of file Frame.cxx.

void CLAM::Frame::SetPhase ( TIndex  pos,
TData  newPhase 
)

Replaces the Phase of the specified position in the Spectrum array with the value indicated.

Parameters:
pos The position where we want to change Phase
newPhase The new value of Phase

Definition at line 75 of file Frame.cxx.

SpectralPeak CLAM::Frame::GetSpectralPeak ( TIndex  pos  )  const

Returns the Spectral peak located in the given position.

Parameters:
pos The position we want to obtain the Spectral peak
Returns:
The Spectral peak in the position indicated

Definition at line 81 of file Frame.cxx.

SpectralPeak CLAM::Frame::GetThruIndexSpectralPeak ( TIndex  pos  )  const

Returns the Spectral peak located in the given position of the Spectral Array.

Parameters:
pos The position of Peak Array we want to obtain the Spectral peak
Returns:
The Spectral peak in the position indicated

Definition at line 85 of file Frame.cxx.

void CLAM::Frame::SetSpectralPeak ( TIndex  pos,
const SpectralPeak spectralPeak,
TIndex  index = -1 
)

This method allows to change values of a Spectral Peak given its position in the array.

Parameters:
pos Position of Peak Array to modify
spectralPeak New spectralPeak
inde Index value of the given SpectralPeak, set by default to -1

Definition at line 89 of file Frame.cxx.

void CLAM::Frame::InsertSpectralPeak ( TIndex  pos,
const SpectralPeak spectralPeak,
bool  insertIndex = false,
TIndex  index = -1 
)

Inserts a peak at the given position.

Parameters:
pos Position in the array where we want to insert the new peak
spectralPeak New spectralPeak to insert
insertIndex Value indicating if the index array should be modified, set by default to false
index Value of the given SpectralPeak, set by default to -1

Definition at line 93 of file Frame.cxx.

void CLAM::Frame::AddSpectralPeak ( const SpectralPeak spectralPeak,
bool  addIndex = false,
TIndex  index = -1 
)

Inserts a peak at the end of Spectral Array.

Parameters:
spectralPeak New spectralPeak to insert
addIndex Value indicating if the index array should be modified, set by default to false
index Value of the given SpectralPeak, set by default to -1

Definition at line 98 of file Frame.cxx.

void CLAM::Frame::DeleteSpectralPeak ( TIndex  pos,
bool  deleteIndex = false 
)

Deletes a peak of Spectral Array.

Parameters:
pos Position of the Peak Array we want to delete
deleteIndex Value indicating if the index array should be modified, set by default to false

Definition at line 103 of file Frame.cxx.

TData CLAM::Frame::GetResMag ( TData  freq  )  const

Returns the Magnitude of a given frequency in residual Spectrum.

Parameters:
freq The Frequency we want to know the Magnitude
Returns:
The Magnitude of spectrum in the frequency indicated

Definition at line 109 of file Frame.cxx.

TData CLAM::Frame::GetResMag ( TIndex  pos  )  const

Returns the Magnitude given a position in the Residual Spectrum array.

Parameters:
pos The position we want to know the Magnitude
Returns:
The Magnitude of spectrum in the index indicated

Definition at line 113 of file Frame.cxx.

TData CLAM::Frame::GetResPhase ( TData  freq  )  const

Returns the Phase of a given frequency in residual Spectrum.

Parameters:
freq The Frequency we want to know the Phase
Returns:
The Phase of spectrum in the frequency indicated

Definition at line 117 of file Frame.cxx.

TData CLAM::Frame::GetResPhase ( TIndex  pos  )  const

Returns the Phase of the spectrum related to a position in the residual Spectrum array.

Parameters:
pos The position we want to know the Phase
Returns:
The Phase of spectrum in the position indicated

Definition at line 121 of file Frame.cxx.

void CLAM::Frame::SetResMag ( TData  freq,
TData  newMag 
)

Replaces the Magnitude of the specified Frequency in the residual Spectrum with the value indicated.

Parameters:
freq The Frequency which we want to change Magnitude
newMag The new value of Magnitude

Definition at line 126 of file Frame.cxx.

void CLAM::Frame::SetResMag ( TIndex  pos,
TData  newMag 
)

Replaces the Magnitude of the specified position in the residual Spectrum array with the value indicated.

Parameters:
pos The position where we want to change Magnitude
newMag The new value of Magnitude

Definition at line 130 of file Frame.cxx.

void CLAM::Frame::SetResPhase ( TData  freq,
TData  newPhase 
)

Replaces the Phase of the specified Frequency in the residual Spectrum with the value indicated.

Parameters:
freq The Frequency which we want to change Phase
newPhase The new value of Phase

Definition at line 134 of file Frame.cxx.

void CLAM::Frame::SetResPhase ( TIndex  pos,
TData  newPhase 
)

Replaces the Phase of the specified position in the residual Spectrum array with the value indicated.

Parameters:
pos The position where we want to change Phase
newPhase The new value of Phase

Definition at line 138 of file Frame.cxx.

TData CLAM::Frame::GetFundamentalFreq ( TIndex  pos = 0  )  const

Returns the fundamental frequency at a given index.

Parameters:
pos Position of candidate we want to get frequency value
Returns:
Value of Frequency in the position given

Definition at line 144 of file Frame.cxx.

Referenced by CLAM::FrameInterpolator::Do().

TData CLAM::Frame::GetFundamentalErr ( TIndex  pos = 0  ) 

Returns the error of the candidate of a given index.

Parameters:
pos Position of candidate we want to get error value
Returns:
Value of Error in the position

Definition at line 148 of file Frame.cxx.

void CLAM::Frame::SetFundamentalFreq ( TIndex  pos,
TData  newFreq 
) const

Modifies the frequency of a candidate at a given index.

Parameters:
pos Position to change the frequency
newFreq New value of this position

Definition at line 152 of file Frame.cxx.

void CLAM::Frame::SetFundamentalErr ( TIndex  pos,
TData  newErr 
) const

Modifies the error of a candidate at a given index.

Parameters:
pos Position to change the error
newFreq New value of this position

Definition at line 156 of file Frame.cxx.

bool CLAM::Frame::operator== ( const Frame newFrame  )  const

If both frames have the same center time (value of time in the center of the frame this method will return true; false otherwise.

Parameters:
newFrame Frame to be compared
Returns:
A boolean value, true is the condition is validated

Definition at line 162 of file Frame.cxx.

bool CLAM::Frame::operator!= ( const Frame newFrame  )  const

If center time of two frames is different will return true.

Parameters:
newFrame Frame to be compared
Returns:
A boolean value, true is the condition is validated

Definition at line 166 of file Frame.cxx.

bool CLAM::Frame::operator< ( const Frame newFrame  )  const

If this frame is centered in a time inferior relative to the frame passed by parameter will return true; false otherwise.

Parameters:
newFrame Frame to be compared
Returns:
A boolean value, true is the condition is validated

Definition at line 170 of file Frame.cxx.

bool CLAM::Frame::operator<= ( const Frame newFrame  )  const

If this frame is centered in a time inferior or equal in relation with the frame passed by parameter will return true; false otherwise.

Parameters:
newFrame Frame to be compared
Returns:
A boolean value, true is the condition is validated

Definition at line 174 of file Frame.cxx.

bool CLAM::Frame::operator> ( const Frame newFrame  )  const

If this frame is centered in a time superior relative to the frame passed by parameter will return true; false otherwise.

Parameters:
newFrame Frame to be compared
Returns:
A boolean value, true is the condition is validated

Definition at line 178 of file Frame.cxx.

bool CLAM::Frame::operator>= ( const Frame newFrame  )  const

If this frame is centered in a time superior or equal in relation with the frame passed by parameter will return true; false otherwise.

Parameters:
newFrame Frame to be compared
Returns:
A boolean value, true is the condition is validated

Definition at line 182 of file Frame.cxx.


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

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