Developer Documentation
Centre for Vision, Speech & Signal Processing
USER IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
KlattSynthC::KlattSynthC(int)
KlattSynthC::SynthesisModel(void)
KlattSynthC::GlottalSource(void)
KlattSynthC::QuietFlag(void)
KlattSynthC::FlutterF0(void)
KlattSynthC::SampleRate(void)
KlattSynthC::NfCascade(void)
KlattSynthC::NoSamplesPerFrame(void)
KlattSynthC::ParWave(KlattFrameC &,SArray1dC &)
KlattSynthC::Flutter(KlattFrameC &)
KlattSynthC::ImpulsiveSource(long)
KlattSynthC::NaturalSource(long)
KlattSynthC::PitchSynchParReset(KlattFrameC &,long)
KlattSynthC::FrameInit(KlattFrameC &)
KlattSynthC::DBtoLIN(long int)
KlattSynthC::OverloadWarning(long int)
KlattSynthC::dBconvert(long int)
KlattSynthC::ParWaveInit(void)
KlattSynthC
 
Klatt synthesiser.
 
include "amma/Speech/KlattSynth.hh"
User Level:Default
Library:Msignal
Example:exBnd.cc
Section:Signal Processing
In Scope:StdSpeechN

Variables:

SynthesisModelT synthesis_model;

GlottalSourceT glsource;

bool quietFlag;

int f0_flutter;

long sampleRate;
Samples per second.

long nfcascade;


long nspfr;
Number of samples per frame. State variables.

int time_count;

bool warnsw;
JPI added for f0 flutter COUNTERS

long nper;
Current loc in voicing period 40000 samp/s COUNTER LIMITS

long T0;
Fundamental period in output samples times 4

long nopen;
Number of samples in open phase of period

long nmod;
Position in period to begin noise amp. modul Variables that have to stick around for awhile, and thus locals are not appropriate Incoming parameter Variables which need to be updated synchronously

long F0hz10;
Voicing fund freq in Hz

long AVdb;
Amp of voicing in dB, 0 to 70

long Kskew;
Skewness of alternate periods,0 to 40 Various amplitude variables used in main loop

float amp_voice;
AVdb converted to linear gain

float amp_bypas;
AB converted to linear gain

float par_amp_voice;
AVpdb converted to linear gain

float amp_aspir;
AP converted to linear gain

float amp_frica;
AF converted to linear gain

float amp_breth;
ATURB converted to linear gain State variables of sound sources

long skew;
Alternating jitter, in half-period units

float natglot_a;
Makes waveshape of glottal pulse when open

float natglot_b;
Makes waveshape of glottal pulse when open

float vwave;
Ditto, but before multiplication by AVdb

float vlast;
Previous output of voice

float nlast;
Previous output of random number generator

float glotlast;
Previous value of glotout

float decay;
TLTdb converted to exponential time const

float onemd;
in voicing one-pole low-pass filter Digital resonators and antiresonators.

ResonatorC rnpp;
parallel nasal pole

ResonatorC r1p;
parallel 1st formant

ResonatorC r2p;
parallel 2nd formant

ResonatorC r3p;
parallel 3rd formant

ResonatorC r4p;
parallel 4th formant

ResonatorC r5p;
parallel 5th formant

ResonatorC r6p;
parallel 6th formant

ResonatorC r1c;
cascade 1st formant

ResonatorC r2c;
cascade 2nd formant

ResonatorC r3c;
cascade 3rd formant

ResonatorC r4c;
cascade 4th formant

ResonatorC r5c;
cascade 5th formant

ResonatorC r6c;
cascade 6th formant

ResonatorC r7c;
cascade 7th formant

ResonatorC r8c;
cascade 8th formant

ResonatorC rnpc;
cascade nasal pole

ResonatorC rnz;
cascade nasal zero

ResonatorC rgl;
crit-damped glot low-pass filter

ResonatorC rlp;
downsamp low-pass filter

ResonatorC rout;
output low-pass

Methods:
KlattSynthC(int sampleRate)

SynthesisModelT & SynthesisModel()
Access synthesis model

GlottalSourceT & GlottalSource()
Access glottal source.

bool & QuietFlag()
Quiet flag.
if this is false, extra checks are performed and warnings issued.

int & FlutterF0()
Access flutter paramiter.

long & SampleRate()
Samples per second.

long & NfCascade()
Cascade

long & NoSamplesPerFrame()
Number of samples per frame.

void ParWave(KlattFrameC & frame,SArray1dC<short> & jwave)
Convert frame of paramiter data to a waveform chunk.
Synthesize nspfr samples of waveform and store in jwave

void Flutter(KlattFrameC & frame)
This function adds F0 flutter, as specified in:
"Analysis, synthesis and perception of voice quality variations among female and male talkers" D.H. Klatt and L.C. Klatt JASA 87(2) February 1990. Flutter is added by applying a quasi-random element constructed from three slowly varying sine waves.

float ImpulsiveSource(long nper)
Impulsive source.

float NaturalSource(long nper)
Natural source.

void PitchSynchParReset(KlattFrameC & frame,long ns)
Reset selected parameters pitch-synchronously

void FrameInit(KlattFrameC & frame)
Get variable parameters from host computer
initially also get definition of fixed pars

float DBtoLIN(long int dB)
Convert from decibels to a linear scale factor.

void OverloadWarning(long int arg)
Warn if value range exceeded.

float dBconvert(long int arg)
Convert from db.

void ParWaveInit()
Do init stuff.


Programmer:Radek Marik, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001