Mercurial > hg > x
diff hssf.h @ 5:5f3c32dc6e17
* Adjust comment syntax to permit Doxygen to generate HTML documentation; add Doxyfile
author | Chris Cannam |
---|---|
date | Wed, 06 Oct 2010 15:19:49 +0100 |
parents | 6422640a802f |
children | 977f541d6683 |
line wrap: on
line diff
--- a/hssf.h Tue Oct 05 17:03:27 2010 +0100 +++ b/hssf.h Wed Oct 06 15:19:49 2010 +0100 @@ -1,8 +1,8 @@ #ifndef hssfH #define hssfH -/* - hssf.cpp - source-filter modeling for harmonic sinusoids +/** + \file hssf.h - source-filter modeling for harmonic sinusoids Further reading: Wen X. and M. Sandler, "Source-filter modeling in sinusoid domain," in Proc. AES 126th Convention, Munich, 2009. @@ -17,7 +17,7 @@ const bool useA0=true; //if true, use A0D+A0C instead of A0C in S-F decomposition as pre-normalizer -/* +/** 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. @@ -28,39 +28,39 @@ struct TSF { //basic characteristics - 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 + 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* 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 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 //other properties - 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 + 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 TSF(); ~TSF();