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

Less Predictable Delay Line in FAUST


import("stdfaust.lib");
maxDelay = 16;
process(x) = de.delay(maxDelay, x);

Generated C++ Code:


class mydsp : public dsp {
 private:
  int IOTA;
  float fVec0[32];
  ...
  virtual void compute( ... 
    ...
    for (int i = 0; (i < count); i = (i + 1)) {
      fVec0[(IOTA & 31)] = float(input1[i]);
      output0[i] = FAUSTFLOAT(fVec0[((IOTA
        - int(std::min<float>(16.0f, 
              std::max<float>(0.0f,
                float(input0[i]))))) & 31)]);
      IOTA = (IOTA + 1);
    }
  }
};


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

Download Delay.pdf
Download Delay_2up.pdf
Download Delay_4up.pdf

``Computational Acoustic Modeling with Digital Delay'', by Julius O. Smith III, (From Lecture Overheads, Music 420).
Copyright © 2020-02-11 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA  [Automatic-links disclaimer]