~ubuntu-branches/ubuntu/raring/muse/raring-proposed

« back to all changes in this revision

Viewing changes to synti/stklib/VoicForm.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Kobras
  • Date: 2004-02-07 15:18:22 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040207151822-es27xxkzbcxkebjm
Tags: 0.6.3-1
* New upstream version.
* Added patches:
  + [10_alsa_init_fix] New, from upstream CVS.
    Initialize direction variable when setting Alsa parameters.
  + [10_canvas_translation_fix] New, from upstream CVS.
    Do not translate tooltips twice in canvas popup.
  + [10_checkbox_fix] New, from upstream CVS.
    Use proper set/test methods on metronome checkboxes.
  + [10_html_doc_cleanup] New.
    Fix links and HTML errors in documentation.
  + [20_allow_system_timer] New.
    The new upstream version fails by default if the real-time clock
    could not be accessed (usually the case when not running suid-root).
    This patch reverts the old behaviour of falling back to the more
    inaccurate system timer.
* Updated patches:
  + [11_PIC_fixes_fixup] Rediffed.
* Removed patches:
  + [20_no_atomic_asm] Merged upstream.
* debian/compat: Splice out debhelper compatibility level from rules file.
* debian/control: Build-depend on latest jack release by default.
  Closes: #228788
* debian/control: Bump standards version.
* debian/control: Use auto-generated debconf dependency via misc:Depends.
* debian/control: Minor tweaks to the long description.
* debian/control: Tighten fluidsynth build dependency to sane version.
* debian/muse.doc-base: New. Register HTML documentation with doc-base.
* debian/templates: Tiny rewording, and typo fix.
* debian/templates, debian/po/*: Switch to po-debconf for translations.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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. */
9
 
/*                                         */
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.       */
16
 
/*                                         */
17
 
/*******************************************/
18
 
 
19
 
#if !defined(__VoicForm_h)
20
 
#define __VoicForm_h
21
 
 
22
 
#include "Instrmnt.h"
23
 
#include "Envelope.h"
24
 
#include "Noise.h"
25
 
#include "SingWave.h"
26
 
#include "FormSwep.h"
27
 
#include "OnePole.h"
28
 
#include "OneZero.h"
29
 
 
30
 
class VoicForm : public Instrmnt
31
 
{
32
 
  protected:  
33
 
    SingWave *voiced;
34
 
    Noise    *noise;
35
 
    Envelope *noiseEnv;
36
 
    FormSwep  *filters[4];
37
 
    OnePole  *onepole;
38
 
    OneZero  *onezero;
39
 
    MY_FLOAT lastFreq;
40
 
    MY_FLOAT lastGain;
41
 
  public:
42
 
    VoicForm();
43
 
    ~VoicForm();
44
 
    void clear();
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);
53
 
    void speak();
54
 
    void quiet();
55
 
    virtual void noteOn(MY_FLOAT freq, MY_FLOAT amp);
56
 
    virtual void noteOff(MY_FLOAT amp);
57
 
    MY_FLOAT tick();
58
 
    virtual void controlChange(int number, MY_FLOAT value);
59
 
};
60
 
 
61
 
#endif