home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 February / PCWorld_2008-02_cd.bin / audio-video / reaper / reaper2028-install.exe / Effects / LOSER / 4BandEQ < prev    next >
Text File  |  2007-12-03  |  2KB  |  79 lines

  1. // (C) 2006, Michael Gruhn.
  2.  
  3. // NO WARRANTY IS GRANTED. THIS PLUG-IN IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
  4. // WARRANTY OF ANY KIND. NO LIABILITY IS GRANTED, INCLUDING, BUT NOT LIMITED TO,
  5. // ANY DIRECT OR INDIRECT,  SPECIAL,  INCIDENTAL OR CONSEQUENTIAL DAMAGE ARISING
  6. // OUT OF  THE  USE  OR INABILITY  TO  USE  THIS PLUG-IN,  COMPUTER FAILTURE  OF
  7. // MALFUNCTION INCLUDED.  THE USE OF THE SOURCE CODE,  EITHER  PARTIALLY  OR  IN
  8. // TOTAL, IS ONLY GRANTED,  IF USED IN THE SENSE OF THE AUTHOR'S INTENTION,  AND
  9. // USED WITH ACKNOWLEDGEMENT OF THE AUTHOR. FURTHERMORE IS THIS PLUG-IN A  THIRD
  10. // PARTY CONTRIBUTION,  EVEN IF INCLUDED IN REAPER(TM),  COCKOS INCORPORATED  OR
  11. // ITS AFFILIATES HAVE NOTHING TO DO WITH IT.  LAST BUT NOT LEAST, BY USING THIS
  12. // PLUG-IN YOU RELINQUISH YOUR CLAIM TO SUE IT'S AUTHOR, AS WELL AS THE CLAIM TO
  13. // ENTRUST SOMEBODY ELSE WITH DOING SO.
  14.  
  15.  
  16. desc:4-Band EQ
  17. slider1:0<-24,24,1>Low (dB)
  18. slider2:200<0,22000,1>Frequency (Hz)
  19. slider3:0<-24,24,1>Low Mid (dB)
  20. slider4:2000<0,22000,1>Frequency (Hz)
  21. slider5:0<-24,24,1>High Mid (dB)
  22. slider6:5000<0,22000,1>Frequency (Hz)
  23. slider7:0<-24,24,1>High (dB)
  24. slider8:0<-24,24,1>Output (dB)
  25.  
  26. @init
  27. cDenorm=10^-30;
  28. cAmpDB = 8.65617025;
  29.  
  30. @slider
  31.  
  32. lVol = exp(slider1/cAmpDB); 
  33. lmVol = exp(slider3/cAmpDB); 
  34. hmVol = exp(slider5/cAmpDB); 
  35. hVol = exp(slider7/cAmpDB); 
  36. outVol = exp(slider8/cAmpDB); 
  37.  
  38. freqHI = max(min(slider6,srate),slider4);
  39. xHI = exp(-2.0*$pi*freqHI/srate);
  40. a0HI = 1.0-xHI;
  41. b1HI = -xHI;
  42.  
  43. freqMID = max(min(min(slider4,srate),slider6),slider2);
  44. xMID = exp(-2.0*$pi*freqMID/srate);
  45. a0MID = 1.0-xMID;
  46. b1MID = -xMID;
  47.  
  48. freqLOW = min(min(slider2,srate),slider4);
  49. xLOW = exp(-2.0*$pi*freqLOW/srate);
  50. a0LOW = 1.0-xLOW;
  51. b1LOW = -xLOW;
  52.  
  53. @sample
  54.  
  55. s0 = spl0;
  56. s1 = spl1;
  57.  
  58. low0 = (tmplMID = a0MID*s0 - b1MID*tmplMID + cDenorm);
  59. low1 = (tmprMID = a0MID*s1 - b1MID*tmprMID + cDenorm);
  60.  
  61. spl0 = (tmplLOW = a0LOW*low0 - b1LOW*tmplLOW + cDenorm);
  62. spl1 = (tmprLOW = a0LOW*low1 - b1LOW*tmprLOW + cDenorm);
  63.  
  64. lowS0 = low0 - spl0;
  65. lowS1 = low1 - spl1;
  66.  
  67. hi0 = s0 - low0;
  68. hi1 = s1 - low1;
  69.  
  70. midS0 = (tmplHI = a0HI*hi0 - b1HI*tmplHI + cDenorm);
  71. midS1 = (tmprHI = a0HI*hi1 - b1HI*tmprHI + cDenorm);
  72.  
  73. highS0 = hi0 - midS0;
  74. highS1 = hi1 - midS1;
  75.  
  76. spl0 = (spl0*lVol + lowS0*lmVol + midS0*hmVol + highS0*hVol)*outVol;
  77. spl1 = (spl1*lVol + lowS1*lmVol + midS1*hmVol + highS1*hVol)*outVol;
  78.  
  79.