structure with useful information for analysis functions More...
#include <sms.h>
Data Fields | |
int | iDebugMode |
int | iFormat |
int | iSoundType |
int | iStochasticType |
int | iFrameRate |
int | nStochasticCoeff |
sfloat | fLowestFundamental |
sfloat | fHighestFundamental |
sfloat | fDefaultFundamental |
sfloat | fPeakContToGuide |
sfloat | fFundContToGuide |
sfloat | fFreqDeviation |
int | iSamplingRate |
int | iDefaultSizeWindow |
int | sizeHop |
sfloat | fSizeWindow |
int | nTracks |
int | nGuides |
int | iCleanTracks |
sfloat | fMinRefHarmMag |
sfloat | fRefHarmMagDiffFromMax |
int | iRefHarmonic |
int | iMinTrackLength |
int | iMaxSleepingTime |
sfloat | fHighestFreq |
sfloat | fMinPeakMag |
int | iAnalysisDirection |
int | iSizeSound |
int | nFrames |
int | iWindowType |
int | iMaxDelayFrames |
sfloat | fResidualAccumPerc |
int | sizeNextRead |
SMS_PeakParams | peakParams |
SMS_Data | prevFrame |
SMS_SEnvParams | specEnvParams |
SMS_SndBuffer | soundBuffer |
SMS_SndBuffer | synthBuffer |
SMS_AnalFrame * | pFrames |
SMS_AnalFrame ** | ppFrames |
structure with useful information for analysis functions
Each analysis needs one of these, which contains all settings, sound data, deterministic synthesis data, and every other piece of data that needs to be shared between functions.
There is an array of already analyzed frames (hardcoded to 50 right now -
default fundamental in Hz
Referenced by sms_analyze(), sms_fillHeader(), sms_initAnalParams(), sms_initAnalysis(), and sms_peakContinuation().
maximum deviation from peak to peak
Referenced by FillGap(), GetBestPeak(), sms_fillHeader(), sms_initAnalParams(), and sms_peakContinuation().
contribution of current fundamental to current guide (between 0 and 1)
Referenced by sms_fillHeader(), sms_initAnalParams(), and sms_peakContinuation().
sfloat SMS_AnalParams::fHighestFreq |
highest frequency to be searched
Referenced by sms_fillHeader(), sms_initAnalParams(), sms_initAnalysis(), and sms_peakContinuation().
highest fundamental frequency in Hz
Referenced by sms_fillHeader(), sms_initAnalParams(), and sms_initAnalysis().
lowest fundamental frequency in Hz
Referenced by sms_fillHeader(), sms_initAnalParams(), and sms_initAnalysis().
sfloat SMS_AnalParams::fMinPeakMag |
minimum magnitude in dB for a good peak
Referenced by sms_fillHeader(), sms_initAnalParams(), and sms_initAnalysis().
minimum magnitude in dB for reference peak
Referenced by sms_fillHeader(), sms_initAnalParams(), and sms_initAnalysis().
contribution of previous peak to current guide (between 0 and 1)
Referenced by sms_fillHeader(), sms_initAnalParams(), and sms_peakContinuation().
maximum magnitude difference from reference peak to highest peak
Referenced by sms_fillHeader(), sms_initAnalParams(), and sms_initAnalysis().
accumalitive residual percentage
Referenced by sms_analyze(), and sms_initAnalParams().
sfloat SMS_AnalParams::fSizeWindow |
size of analysis window in number of periods
Referenced by ReAnalyzeFrame(), sms_fillHeader(), sms_initAnalParams(), sms_initAnalysis(), and sms_sizeNextWindow().
analysis direction, direct or reverse
Referenced by sms_fillHeader(), sms_fillSoundBuffer(), and sms_initAnalParams().
whether or not to clean sinusoidal tracks
Referenced by sms_analyze(), sms_fillHeader(), and sms_initAnalParams().
debug codes enumerated by SMS_DBG
Referenced by DeleteShortTrack(), FillGap(), GetBestPeak(), sms_cleanTracks(), sms_initAnalParams(), sms_peakContinuation(), and sms_scaleDet().
sampling rate of sound to be analyzed default size of analysis window in samples
Referenced by sms_analyze(), sms_initAnalParams(), sms_initAnalysis(), and sms_sizeNextWindow().
analysis format code defined by SMS_Format
Referenced by FillGap(), sms_analyze(), sms_analyzeFrame(), sms_cleanTracks(), sms_fillHeader(), sms_initAnalParams(), and sms_peakContinuation().
rate in Hz of data frames
Referenced by sms_fillHeader(), sms_initAnalParams(), and sms_initAnalysis().
maximum number of frames to delay before peak continuation
Referenced by sms_analyze(), sms_freeAnalysis(), sms_initAnalParams(), and sms_initAnalysis().
maximum sleeping time for a track
Referenced by DeleteShortTrack(), sms_cleanTracks(), sms_fillHeader(), sms_initAnalParams(), and sms_peakContinuation().
minimum length in samples of a given track
Referenced by FillGap(), sms_cleanTracks(), sms_fillHeader(), and sms_initAnalParams().
reference harmonic to use in the fundamental detection
Referenced by sms_fillHeader(), sms_initAnalParams(), and sms_initAnalysis().
Referenced by FillGap(), ReAnalyzeFrame(), sms_analyze(), sms_fillHeader(), sms_initAnalParams(), sms_initAnalysis(), and sms_sizeNextWindow().
total size of sound to be analyzed in samples
Referenced by sms_initAnalParams(), sms_initAnalysis(), and sms_initFrame().
type of sound to be analyzed
Referenced by sms_analyze(), sms_fillHeader(), sms_initAnalParams(), and sms_initAnalysis().
type of stochastic model defined by SMS_StocSynthType
Referenced by sms_analyze(), sms_fillHeader(), sms_initAnalParams(), and sms_initAnalysis().
type of FFT analysis window
Referenced by sms_analyzeFrame(), sms_fillHeader(), and sms_initAnalParams().
total number of frames that will be analyzed
Referenced by sms_fillHeader(), sms_initAnalParams(), and sms_initAnalysis().
number of guides used for peak detection and continuation
Referenced by GetBestPeak(), sms_cleanTracks(), sms_fillHeader(), sms_initAnalParams(), sms_initAnalysis(), sms_initFrame(), and sms_peakContinuation().
number of stochastic coefficients per frame
Referenced by sms_fillHeader(), sms_initAnalParams(), and sms_initAnalysis().
number of sinusoidal tracks in frame
Referenced by sms_fillHeader(), and sms_initAnalParams().
structure with parameters for spectral peaks
Referenced by sms_analyzeFrame(), and sms_initAnalysis().
an array of frames that have already been analyzed
Referenced by sms_freeAnalysis(), and sms_initAnalysis().
pointers to the frames analyzed (it is circular-shifted once the array is full
Referenced by DeleteShortTrack(), FillGap(), ReAnalyzeFrame(), sms_analyze(), sms_analyzeFrame(), sms_cleanTracks(), sms_freeAnalysis(), sms_fundDeviation(), sms_initAnalysis(), sms_initFrame(), sms_peakContinuation(), sms_scaleDet(), and sms_sizeNextWindow().
the previous analysis frame
Referenced by sms_analyze(), sms_freeAnalysis(), and sms_initAnalysis().
hop size of analysis window in samples
Referenced by FillGap(), sms_analyze(), sms_initAnalParams(), sms_initAnalysis(), sms_initFrame(), and sms_scaleDet().
size of samples to read from sound file next analysis
Referenced by sms_analyze(), and sms_initAnalysis().
signal to be analyzed
Referenced by sms_analyze(), sms_analyzeFrame(), sms_fillSoundBuffer(), sms_freeAnalysis(), sms_initAnalysis(), and sms_initFrame().
all data for spectral enveloping
Referenced by sms_analyze(), sms_fillHeader(), sms_initAnalParams(), and sms_initAnalysis().
resynthesized signal used to create the residual
Referenced by sms_analyze(), sms_freeAnalysis(), and sms_initAnalysis().