Version 4.0

This commit is contained in:
Gary Scavone
2013-09-25 14:50:19 +02:00
committed by Stephen Sinclair
parent 3f126af4e5
commit 81475b04c5
473 changed files with 36355 additions and 28396 deletions

View File

@@ -1,21 +1,54 @@
/******************************************/
/* Tubular Bell (Orch. Chime) Subclass */
/* of Algorithm 5 (TX81Z) Subclass of */
/* 4 Operator FM Synth */
/* by Perry R. Cook, 1995-96 */
/******************************************/
/***************************************************/
/*! \class TubeBell
\brief STK tubular bell (orchestral chime) FM
synthesis instrument.
#if !defined(__TubeBell_h)
#define __TubeBell_h
This class implements two simple FM Pairs
summed together, also referred to as algorithm
5 of the TX81Z.
#include "FM4Alg5.h"
\code
Algorithm 5 is : 4->3--\
+ --> Out
2->1--/
\endcode
class TubeBell : public FM4Alg5
Control Change Numbers:
- Modulator Index One = 2
- Crossfade of Outputs = 4
- LFO Speed = 11
- LFO Depth = 1
- ADSR 2 & 4 Target = 128
The basic Chowning/Stanford FM patent expired
in 1995, but there exist follow-on patents,
mostly assigned to Yamaha. If you are of the
type who should worry about this (making
money) worry away.
by Perry R. Cook and Gary P. Scavone, 1995 - 2002.
*/
/***************************************************/
#if !defined(__TUBEBELL_H)
#define __TUBEBELL_H
#include "FM.h"
class TubeBell : public FM
{
public:
TubeBell();
virtual void setFreq(MY_FLOAT frequency);
virtual void noteOn(MY_FLOAT freq, MY_FLOAT amp);
public:
//! Class constructor.
TubeBell();
//! Class destructor.
~TubeBell();
//! Start a note with the given frequency and amplitude.
void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
//! Compute one output sample.
MY_FLOAT tick();
};
#endif