overte-HifiExperiments/externals/stk/include/Phonemes.h
2013-05-30 12:25:29 -07:00

55 lines
1.5 KiB
C++

#ifndef STK_PHONEMES_H
#define STK_PHONEMES_H
#include "Stk.h"
namespace stk {
/***************************************************/
/*! \class Phonemes
\brief STK phonemes table.
This class does nothing other than declare a
set of 32 static phoneme formant parameters
and provide access to those values.
by Perry R. Cook and Gary P. Scavone, 1995-2012.
*/
/***************************************************/
class Phonemes : public Stk
{
public:
Phonemes( void );
~Phonemes( void );
//! Returns the phoneme name for the given index (0-31).
static const char *name( unsigned int index );
//! Returns the voiced component gain for the given phoneme index (0-31).
static StkFloat voiceGain( unsigned int index );
//! Returns the unvoiced component gain for the given phoneme index (0-31).
static StkFloat noiseGain( unsigned int index );
//! Returns the formant frequency for the given phoneme index (0-31) and partial (0-3).
static StkFloat formantFrequency( unsigned int index, unsigned int partial );
//! Returns the formant radius for the given phoneme index (0-31) and partial (0-3).
static StkFloat formantRadius( unsigned int index, unsigned int partial );
//! Returns the formant gain for the given phoneme index (0-31) and partial (0-3).
static StkFloat formantGain( unsigned int index, unsigned int partial );
private:
static const char phonemeNames[][4];
static const StkFloat phonemeGains[][2];
static const StkFloat phonemeParameters[][4][3];
};
} // stk namespace
#endif