/Users/richardeakin/projects/libsms/trunk/src/fixTracks.c File Reference

functions for making smoothly evolving tracks (partial frequencies) More...

#include "sms.h"
Include dependency graph for fixTracks.c:

Functions

static void FillGap (int iCurrentFrame, int iTrack, int *pIState, SMS_AnalParams *pAnalParams)
 fill a gap in a given track
static void DeleteShortTrack (int iCurrentFrame, int iTrack, int *pIState, SMS_AnalParams *pAnalParams)
 delete a short track
void sms_cleanTracks (int iCurrentFrame, SMS_AnalParams *pAnalParams)
 fill gaps and delete short tracks
void sms_scaleDet (sfloat *pFSynthBuffer, sfloat *pFOriginalBuffer, sfloat *pFSinAmp, SMS_AnalParams *pAnalParams, int nTrack)
 scale deterministic magnitude if synthesis is larger than original

Detailed Description

functions for making smoothly evolving tracks (partial frequencies)

Tries to fix gaps and short tracks


Function Documentation

static void DeleteShortTrack ( int  iCurrentFrame,
int  iTrack,
int *  pIState,
SMS_AnalParams pAnalParams 
) [static]

delete a short track

this function is not exported to sms.h

Parameters:
iCurrentFrame current frame
iTrack track to be deleted
pIState pointer to the state of tracks
pAnalParams pointer to analysis parameters

References SMS_AnalFrame::deterministic, SMS_AnalParams::iDebugMode, SMS_AnalFrame::iFrameNum, SMS_AnalParams::iMaxSleepingTime, SMS_Data::pFSinAmp, SMS_Data::pFSinFreq, SMS_Data::pFSinPha, SMS_AnalParams::ppFrames, SMS_DBG_ALL, and SMS_DBG_CLEAN_TRAJ.

Referenced by sms_cleanTracks().

static void FillGap ( int  iCurrentFrame,
int  iTrack,
int *  pIState,
SMS_AnalParams pAnalParams 
) [static]

fill a gap in a given track

Parameters:
iCurrentFrame currrent frame number
iTrack track to be filled
pIState pointer to the state of tracks
pAnalParams pointer to analysis parameters

References SMS_AnalFrame::deterministic, SMS_AnalParams::fFreqDeviation, SMS_AnalParams::iDebugMode, SMS_AnalParams::iFormat, SMS_AnalFrame::iFrameNum, SMS_AnalParams::iMinTrackLength, SMS_AnalParams::iSamplingRate, MIN, SMS_Data::pFSinAmp, SMS_Data::pFSinFreq, SMS_Data::pFSinPha, SMS_AnalParams::ppFrames, sfloat, SMS_AnalParams::sizeHop, SMS_DBG_ALL, SMS_DBG_CLEAN_TRAJ, SMS_FORMAT_IH, SMS_FORMAT_IHP, and TWO_PI.

Referenced by sms_cleanTracks().

void sms_cleanTracks ( int  iCurrentFrame,
SMS_AnalParams pAnalParams 
)
void sms_scaleDet ( sfloat *  pFSynthBuffer,
sfloat *  pFOriginalBuffer,
sfloat *  pFSinAmp,
SMS_AnalParams pAnalParams,
int  nTrack 
)

scale deterministic magnitude if synthesis is larger than original

Parameters:
pFSynthBuffer synthesis buffer
pFOriginalBuffer original sound
pFSinAmp magnitudes to be scaled
pAnalParams pointer to analysis parameters
nTrack number of tracks

References SMS_AnalParams::iDebugMode, SMS_AnalFrame::iFrameNum, SMS_AnalParams::ppFrames, sfloat, SMS_AnalParams::sizeHop, SMS_DBG_ALL, SMS_DBG_CLEAN_TRAJ, sms_dBToMag(), and sms_magToDB().

Referenced by sms_analyze().

Here is the call graph for this function:

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on Thu Oct 29 04:08:07 2009 for libsms by  doxygen 1.6.1