1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-06 14:52:34 +02:00
2010-01-24 09:19:39 +00:00

65 lines
1.4 KiB
C++

/***************************************************/
/*! \class ReedTable
\brief STK reed table class.
This class implements a simple one breakpoint,
non-linear reed function, as described by
Smith (1986). This function is based on a
memoryless non-linear spring model of the reed
(the reed mass is ignored) which saturates when
the reed collides with the mouthpiece facing.
See McIntyre, Schumacher, & Woodhouse (1983),
Smith (1986), Hirschman, Cook, Scavone, and
others for more information.
by Perry R. Cook and Gary P. Scavone, 1995 - 2005.
*/
/***************************************************/
#ifndef STK_REEDTABLE_H
#define STK_REEDTABLE_H
#include "Function.h"
namespace Nyq
{
class ReedTable : public Function
{
public:
//! Default constructor.
ReedTable();
//! Class destructor.
~ReedTable();
//! Set the table offset value.
/*!
The table offset roughly corresponds to the size
of the initial reed tip opening (a greater offset
represents a smaller opening).
*/
void setOffset(StkFloat offset);
//! Set the table slope value.
/*!
The table slope roughly corresponds to the reed
stiffness (a greater slope represents a harder
reed).
*/
void setSlope(StkFloat slope);
protected:
StkFloat computeSample( StkFloat input );
StkFloat offset_;
StkFloat slope_;
};
} // namespace Nyq
#endif