TSF Struct Reference

#include <hssf.h>

Public Member Functions

void Duplicate (TSF &SF)
 
double LogAF (double f)
 
double LogAF (double f, int fr)
 
double LogAS (int m, int fr)
 
void AllocateL (int AnL)
 
void ReAllocateL (int newL)
 
void AllocateP ()
 
void AllocateSF ()
 
void SaveSFToFileHandle (FILE *f)
 
void SaveToFileHandle (FILE *f)
 
void LoadSFFromFileHandle (FILE *f)
 
void LoadFromFileHandle (FILE *f)
 
void SaveToFile (char *filename)
 
void ShiftFilterByDB (double dB)
 

Data Fields

int M
 number of partials
 
int L
 number of frames
 
int P
 number of segmentation points
 
double offst
 hop size
 
double * F0C
 [0:L-1] pitch carrier
 
double * F0D
 [0:L-1] pitch modulator
 
double * logA0C
 [0:L-1] amplitude carreir
 
double * logA0D
 [0:L-1] amplitude modulator
 
double * lp
 [0:P-1] peak positions
 
double F
 filter: band with (linear or mel) associated to each b[][]
 
double Fs
 sampling frequency
 
int FScaleMode
 linear or mel
 
int K
 number of filter bands
 
double ** b
 [0:L-1][0:M-1] single-frame source, in dB
 
double ** h
 [0:L-1][0:K+1] single-frame filter, in dB
 
double * avgb
 [0:M-1] average source
 
double * avgh
 [0:K+1] average filter
 
double rate
 vibrato rate
 
double regularity
 vibrato regularity
 
double F0max
 maximal fundamental frequency
 
double F0min
 minimal fundamental frequency
 
double F0Cmax
 maximal fundamental carrier frequency
 
double F0Cmin
 minimal fundamental carrier frequency
 
double F0Overall
 overall average fundamental frequency
 
double F0Dmax
 maximal fundamental modulator frequency
 
double F0Dmin
 minimal fundamental modulator frequency
 
double * F0
 [0:L-1] fundamental frequency
 
double * logA0
 [0:L-1] log amplitude
 

Detailed Description

TSF is the class implementing source-filter model for harmonic sinusoids. TSF shares the basic framework of the vibrato description class TVo, but implements a more compact source-filter representation. It does not go into detailed vibrato analysis such as extraction modulator shape.

An analysis/synthesis cycle converts THS to TSF and back.

Member Function Documentation

void TSF::AllocateL ( int  AnL)

method TSF::AllocateL: allocates or reallocates storage space whose size depends on L. This uses an external L value for allocation and updates L itself.

void TSF::AllocateP ( )

method TSF::AllocateP: allocates or reallocates storage space whose size depends on P, using the interal P.

void TSF::AllocateSF ( )

method TSF::AllocateSF: allocates or reallocates storage space for source-filter coefficients.

void TSF::Duplicate ( TSF SF)

method TSF::Duplicate: copies the complete contents from another SF object

In: SF: source object

void TSF::LoadFromFileHandle ( FILE *  f)

method TSF::LoadFromFileHandle: reads SF object from file

void TSF::LoadSFFromFileHandle ( FILE *  f)

method TSF::LoadSFFromFileHandle: reads SF coefficients from file

double TSF::LogAF ( double  f)

method TSF::LogAF: average filter response

In: f: frequency

Returns the average response of the filter model at f

double TSF::LogAF ( double  f,
int  fr 
)

method TSF::LogAF: filter response

In: f: frequency fr: frame index

Returns the response of the filter model at f for frame fr

double TSF::LogAS ( int  m,
int  fr 
)

method TSF::LogAS: source response

In: m: partial index fr: frame index

Returns response of the source model for partial m at frame fr

void TSF::ReAllocateL ( int  newL)

method TSF::ReAllocateL: reallocates storage space whose size depends on L, and transfer the contents. This uses an external L value for allocation but does not update L itself.

void TSF::SaveSFToFileHandle ( FILE *  f)

method TSF::SaveSFToFileHandle: writes SF coefficients to file

void TSF::SaveToFile ( char *  filename)

method TSF::SaveToFile: save SF object to file

In: filename: full path of destination file

void TSF::SaveToFileHandle ( FILE *  f)

method TSF::SaveToFileHandle: writes SF object to file

void TSF::ShiftFilterByDB ( double  dB)

method TSF::ShiftFilterByDB: adds a given number of dBs to the filter model.

In: dB: amount to add.


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