1
/*******************************************/
2
/* 4 Formant Synthesis Instrument */
3
/* by Perry R. Cook, 1995-96 */
4
/* This instrument contains an excitation */
5
/* singing wavetable (looping wave with */
6
/* random and periodic vibrato, smoothing */
7
/* on frequency, etc.), excitation noise, */
8
/* and four sweepable complex resonances. */
10
/* Measured Formant data (from me) is */
11
/* included, and enough data is there to */
12
/* support either parallel or cascade */
13
/* synthesis. In the floating point case */
14
/* cascade synthesis is the most natural */
15
/* so that's what you'll find here. */
17
/*******************************************/
19
#if !defined(__VoicForm_h)
30
class VoicForm : public Instrmnt
45
void setFreq(MY_FLOAT frequency);
46
void setFormantAll(int whichOne, MY_FLOAT freq, MY_FLOAT reson, MY_FLOAT gain);
47
int setPhoneme(char* phoneme);
48
void setVoiced(MY_FLOAT vGain);
49
void setUnVoiced(MY_FLOAT nGain);
50
void setVoicedUnVoiced(MY_FLOAT vGain, MY_FLOAT nGain);
51
void setFiltSweepRate(int whichOne,MY_FLOAT rate);
52
void setPitchSweepRate(MY_FLOAT rate);
55
virtual void noteOn(MY_FLOAT freq, MY_FLOAT amp);
56
virtual void noteOff(MY_FLOAT amp);
58
virtual void controlChange(int number, MY_FLOAT value);