Home Information Classes Download Usage Mail List Requirements Links Tutorial

# VoicForm.h

    00001 /***************************************************/
    00026 /***************************************************/
    00027
    00028 #if !defined(__VOICFORM_H)
    00029 #define __VOICFORM_H
    00030
    00031 #include "Instrmnt.h"
    00032 #include "Envelope.h"
    00033 #include "Noise.h"
    00034 #include "SingWave.h"
    00035 #include "FormSwep.h"
    00036 #include "OnePole.h"
    00037 #include "OneZero.h"
    00038
    00039 class VoicForm : public Instrmnt
    00040 {
    00041   public:
    00043   VoicForm();
    00044
    00046   ~VoicForm();
    00047
    00049   void clear();
    00050
    00052   void setFrequency(MY_FLOAT frequency);
    00053
    00055   bool setPhoneme(const char* phoneme);
    00056
    00058   void setVoiced(MY_FLOAT vGain);
    00059
    00061   void setUnVoiced(MY_FLOAT nGain);
    00062
    00064   void setFilterSweepRate(int whichOne, MY_FLOAT rate);
    00065
    00067   void setPitchSweepRate(MY_FLOAT rate);
    00068
    00070   void speak();
    00071
    00073   void quiet();
    00074
    00076   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
    00077
    00079   void noteOff(MY_FLOAT amplitude);
    00080
    00082   MY_FLOAT tick();
    00083
    00085   void controlChange(int number, MY_FLOAT value);
    00086
    00087 protected:
    00088   SingWave *voiced;
    00089   Noise    *noise;
    00090   Envelope *noiseEnv;
    00091   FormSwep  *filters[4];
    00092   OnePole  *onepole;
    00093   OneZero  *onezero;
    00094
    00095 };
    00096
    00097 #endif

The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.