Sorry, 1/p3 is calculated 4 times in the previous csd file sr = 44100 ksmps = 10 nchnls = 2 instr 1 iamp = ampdb(p4) itransp = powoftwo(p5/120) ; p5 is halftones/10 ichunk = p6*0.001 iprecession = p7*0.01 ilooplen = p8*0.001 ; p8 in msec idur = 1/p3 achunk oscili ichunk, idur, 2 aprecession oscili iprecession, idur, 3 alooplen oscili ilooplen, idur, 4 atransp oscili itransp, idur, 5 afrq = (atransp-aprecession) / achunk aphs1 phasor afrq ; phasor 1 aphs2 wrap aphs1+0.5, 0, 1 ; phasor 2 aphs3 phasor aprecession / alooplen ; phasor for the read position areadpt = aphs3*alooplen ; read position atrig1 diff -aphs1 ; trigger 1 atrig2 diff -aphs2 ; trigger 2 achunk1 samphold achunk, atrig1 achunk2 samphold achunk, atrig2 ;; cos envs in sync aenv1 = iamp*cos((aphs1-0.5)*$M_PI) aenv2 = iamp*cos((aphs2-0.5)*$M_PI) a1 table3 (achunk1*aphs1+areadpt)*sr, 1 a2 table3 (achunk2*aphs2+areadpt)*sr, 1 aout butterhp a1*aenv1+a2*aenv2, 5 outs aout, aout endin ;; table lookup f1 0 [@44100] 1 "voice.wav" 0 0 0 ;; chunk size f2 0 8 7 .25 3 .25 3 1 2 .25 ;; precession f3 0 8 7 0 8 1 ;; loop length f4 0 8 7 1 2 1 4 0.25 2 1 ;; trasposition f5 0 8 7 0 5 50 2 -50 1 0 ;; amp transp chunk prec looplen i1 0 60 80 1 100 100 900 e tito Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"