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

Faust Code For Lagrange Fractional Delay

For an intro to Faust, see, e.g.,

http://ccrma.stanford.edu/~jos/spf/

// Fourth-order case - delay d should be at least 1.5

fdelay4(n,d,x) = 
    delay(n,id,x) * fdm1*fdm2*fdm3*fdm4/24 
  + delay(n,id+1,x) * (0-fd*fdm2*fdm3*fdm4)/6
  + delay(n,id+2,x) * fd*fdm1*fdm3*fdm4/4
  + delay(n,id+3,x) * (0-fd*fdm1*fdm2*fdm4)/6
  + delay(n,id+4,x) * fd*fdm1*fdm2*fdm3/24
with {
  o = 1.49999;
  dmo = d - o; // assumed nonnegative
  id = int(dmo);
  fd = o + frac(dmo);
  fdm1 = fd-1;
  fdm2 = fd-2;
  fdm3 = fd-3;
  fdm4 = fd-4;
};


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

Download Interpolation.pdf
Download Interpolation_2up.pdf
Download Interpolation_4up.pdf
Visit the online book containing this material.

``Bandlimited Interpolation, Fractional Delay Filtering, and Optimal FIR Filter Design'', by Julius O. Smith III, (From Lecture Overheads, Music 420).
Copyright © 2014-03-24 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA  [Automatic-links disclaimer]