home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 October / PCWorld_2006-10_cd.bin / audio-video / reaper / reaper105-install.exe / Effects / Misc / noisegate next >
Text File  |  2005-06-24  |  882b  |  45 lines

  1. // This effect Copyright (C) 2004 and later Cockos Incorporated
  2. // License: GPL - http://www.gnu.org/licenses/gpl.html
  3. desc: noise gate (simple)
  4. slider1:-60<-120,6,1>threshold (dB) 
  5. slider2:50<1,4000,10>silence length for fadeout (ms)
  6. slider3:10<1,100,5>fadein response (ms)
  7. slider4:100<1,1000,10>fadeout response (ms)
  8.  
  9. @init
  10. silentcnt=0;
  11. seekv=1; seekto=1;
  12.  
  13. @slider
  14. thresh=2 ^ (slider1/6);
  15. sillen=slider2*srate/1000;
  16. fadeout = 1/pow(10,1/(srate*slider4/1000));
  17. fadein  = 1/pow(10,1/(srate*slider3/1000));
  18.  
  19. @sample
  20.  
  21. a=abs(spl0) > thresh || abs(spl1) > thresh;
  22.  
  23. a ? 
  24. (
  25.    silentcnt=0; 
  26.    seekto=1;
  27. ) : (
  28.    (silentcnt+=1) > sillen ?  seekto=0;
  29. );
  30.  
  31. // we should make this better, me thinks
  32.  
  33. seekto > 0.5 ? 
  34. ( // fading in
  35.   seekv=seekv*fadein + (1-fadein);
  36. )
  37. :
  38. ( // fading out
  39.   seekv=seekv*fadeout;
  40. );
  41.  
  42.  
  43. spl0=spl0*seekv;
  44. spl1=spl1*seekv;
  45.