forked from thestk/stk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Phonemes.h
55 lines (37 loc) · 1.52 KB
/
Phonemes.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#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--2023.
*/
/***************************************************/
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