home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 February / PCWorld_2008-02_cd.bin / audio-video / reaper / reaper2028-install.exe / Effects / Synthesis / sine_sweep < prev    next >
Text File  |  2007-12-11  |  516b  |  26 lines

  1. desc:sine sweep generator
  2. /*
  3. Copyright (C) 2007 Cockos Incorporated
  4. License: GPL - http://www.gnu.org/licenses/gpl.html
  5. */
  6.  
  7.  
  8. slider1:8<1,100,1>approx sweep length (s)
  9.  
  10. @init
  11. @slider
  12. cpos=0;
  13. dcpos=0;
  14. dir=0;
  15. // after srate*slider1 samples, dcpos should be pi/2
  16. len=srate*slider1;
  17. idcpos=dcpos=$pi*16.0/srate;
  18. ddcpos=exp($pi*2/len);
  19. iddcpos=1/ddcpos;
  20.  
  21. @sample
  22. spl0=spl1=sin(cpos);
  23. cpos+=dcpos;
  24. dir ? dcpos *= iddcpos : dcpos*=ddcpos;
  25.  
  26. dcpos >= $pi && !dir ? dir=1 : dcpos<idcpos && dir ? dir=0;