home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 July & August / PCWorld_2007-07-08_cd.bin / audio-video / reaper / reaper1861-install.exe / Effects / Guitar / phaser < prev    next >
Text File  |  2007-02-12  |  1KB  |  48 lines

  1. // This effect Copyright (C) 2004 and later Cockos Incorporated
  2. // License: GPL - http://www.gnu.org/licenses/gpl.html
  3.  
  4. desc:phaser (4 allpass filter, stereo)
  5.  
  6. slider1:0.5<0,10>rate (hz)
  7. slider2:440<40,20000>range min (hz)
  8. slider3:1600<40,20000>range max (hz)
  9. slider4:-3<-120,-1,1>feedback (dB)
  10. slider5:0<-120,12,1>wet mix (dB)
  11.  
  12. @init
  13.  
  14. @slider
  15. feedback=2 ^ (slider4/6);
  16. lfoPhase=0;
  17. wetmix =2 ^ (slider5/6);
  18. dmin=slider2 * 2 / srate;
  19. dmax=slider3 * 2 / srate;
  20. dsc=abs(dmax-dmin) * 0.5;
  21. dmin=min(dmin,dmax);
  22. lfoInc = 2 * $pi * slider1 / srate;
  23.  
  24. @sample
  25.  
  26. d = dmin + dsc * (sin(lfoPhase) + 1);
  27. lfoPhase += lfoInc;
  28. lfoPhase >= 2*$pi ? lfoPhase -= 2*$pi;
  29.  
  30. coef=(1-d)/(1+d);
  31.  
  32. x1=spl0 + ly4 * feedback;
  33. ly1 = coef * (ly1 + x1) - lx1;  lx1 = x1;
  34. ly2 = coef * (ly2 + ly1) - lx2; lx2 = ly1;
  35. ly3 = coef * (ly3 + ly2) - lx3; lx3 = ly2;
  36. ly4 = coef * (ly4 + ly3) - lx4; lx4 = ly3;
  37. spl0 += ly4*wetmix;
  38.  
  39.  
  40. // right channel, can comment this out if you
  41. // want mono for 2x the speed :)
  42. rx=spl1 + ry4 * feedback;
  43. ry1 = coef * (ry1 + rx) - rx1;  rx1 = rx;
  44. ry2 = coef * (ry2 + ry1) - rx2; rx2 = ry1;
  45. ry3 = coef * (ry3 + ry2) - rx3; rx3 = ry2;
  46. ry4 = coef * (ry4 + ry3) - rx4; rx4 = ry3;
  47. spl1 += ry4*wetmix;
  48.