TVo Struct Reference

#include <vibrato.h>

Public Member Functions

void AllocateL (int AnL)
 
void ReAllocateL (int newL)
 
void AllocateP ()
 
void AllocatePK ()
 
void SaveToFile (char *filename)
 
void SaveToFileHandle (FILE *file)
 
void LoadFromFileHandle (FILE *file)
 
double GetOldP ()
 

Data Fields

int M
 number of partials
 
int L
 number of frames
 
int P
 number of F0 peaks
 
double h
 hop size
 
double * F0C
 [0:L-1] pitch carrier
 
double * A0C
 [0:L-1] amplitude carreir
 
int afres
 filter model bins
 
double LogAF [4096]
 [0:afres-1] filter model
 
int * peakfr
 [0:P-1] peak positions, in frames
 
double * lp
 [0:P-1] peak positions, refined to floating-point values in frames
 
double * Dp
 [1:P-1] single-cycle rms of F0D
 
int * Kp
 [1:P-1] order of single-cycle modulator shape descriptor
 
double ** fxr
 [1:P-1][0:2K] single-cycle modulator shape coefficients - cosine, sine, cosine, ...
 
double ** LogASp
 [1:P-1][0:M-1] single-cycle source model
 
int K
 
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] pitch
 
double * F0D
 [0:L-1] pitch modulator
 
double D
 rms of F0D,
 
double LogAS [100]
 [0:M-1] source model
 
double FXR [100]
 average cycle modulator shape coefficients
 
double FRes [50]
 average modulator residues
 
double ** fres
 [1:P-1][0:K-1] single-cycle modulator residues
 

Detailed Description

TVo is the data structure hosting descriptors of a vibrato representation of a harmonic sinusoid. Its basic framework is shared by the TSF object which hosts a more elaborate source-filter model than TVo, but does not look into vibrato-specific features such as modulator shape.

An analysis/sythesis cycle converts THS to TVo and back.

Member Function Documentation

void TVo::AllocateL ( int  AnL)

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

void TVo::AllocateP ( )

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

void TVo::AllocatePK ( )

method TVo::AllocatePK: allocates or reallocates storage space whose size depends on both P and K.

double TVo::GetOldP ( )

method TVo::GetOldP: returns the number of "equivalent" cycles of the whole duration. Although P-1 cycles are delineated by lp[P], the parts before lp[0] and after lp[P-1] are also a part of the harmonic sinusoid being modeled and therefore should be taken into account when necessary.

void TVo::LoadFromFileHandle ( FILE *  file)

methodTVo::LoadFromFileHandle: reads TVo object from a file stream.

void TVo::ReAllocateL ( int  newL)

method TVo::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 TVo::SaveToFile ( char *  filename)

method TVo::SaveToFile: saves a TVo object to a file.

In: filename: path to the destination file.

void TVo::SaveToFileHandle ( FILE *  file)

method TVo::SaveToFileHandle: saves a TVo object to an open file stream.


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