Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

SimpString.h

/* Simplified string model.               */ 
/* Compatible with STK version 4.2.1.     */

#if !defined(__SimpString_h)
#define __SimpString_h

#include "Instrmnt.h"
#include "Delay.h"
#include "DelayA.h"
#include "Filter.h"

class SimpString : public Instrmnt
{
 protected:  
  DelayA *delayLine;  // main string
  Delay *combDelay;   // pick-position simulation
  Filter *loopFilter; // string losses
  long length;
  StkFloat loopGain;
  StkFloat lastFreq;
  StkFloat lastLength;
  StkFloat pluckAmp;
  StkFloat pluckPos;
  StkFloat computeSample(StkFloat stringInput);
  StkFloat computeSample(void);
 public:
  SimpString(StkFloat lowestFreq);
  ~SimpString();
  void clear();
  void setPluckPos(StkFloat position);
  void pluck(StkFloat amplitude);
  void setFreq(StkFloat frequency);
  void pluck(StkFloat amplitude,StkFloat position);
  void noteOn(StkFloat freq, StkFloat amp);
  void noteOn(StkFloat freq, StkFloat amp, StkFloat position);
  StkFloat tick(StkFloat stringInput);
  StkFloat tick(void);
  void noteOff(StkFloat amp);
  void setBearing(StkFloat angle); /* -45 to +45 degrees */
};
#endif


Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

[How to cite and copy this work] 
``Physical Audio Signal Processing for Virtual Musical Instruments and Digital Audio Effects'', by Julius O. Smith III, (December 2005 Edition).
Copyright © 2006-07-01 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA  [Automatic-links disclaimer]