sr = 44100
kr = 4410
ksmps = 10.0
nchnls = 2
instr 1 ;fix cf and sweep bw icps = cpspch(p5) ibwmin = p6 ibwvar = p7 iwavefn = p8 ibwfn = p9 kbw oscil1i 0,ibwvar,p3,ibwfn asig1 oscili p4,icps,iwavefn kbw = (kbw) + (ibwmin) afltsig butterbp asig1,icps,kbw afltsig butterbp afltsig,icps,kbw afltsig butterbp afltsig,icps,kbw abalsig balance afltsig,asig1 afinal linen abalsig,.5,p3,.5 outs afinal,afinal endin
instr 2 ;fix bw and sweep cf icps = cpspch(p5) icfmin = octpch(p6) ;p6 is initial cf in pch icfvar = p7 ; p7 is max cf var in oct ibw = (p8 > 0 ? icps/p8 : 0) ; p8 is Q of filter iwavefn = p9 icffn = p10 kcfoct oscil1i 0,icfvar,p3,icffn asig1 oscili p4,icps,iwavefn kcfoct = (kcfoct) + (icfmin) kcf = cpsoct(kcfoct) afltsig butterbp asig1,kcf,ibw afltsig butterbp afltsig,kcf,ibw afltsig butterbp afltsig,kcf,ibw abalsig balance afltsig,asig1 afinal linen abalsig,.5,p3,.5 outs afinal,afinal endin
instr 3 ;fix q and sweep cf icps = cpspch(p5) icfmin = octpch(p6) ;p6 is initial cf in pch icfvar = p7 ;p7 is max cf var in oct iq = (p8 == 0 ? 1 : p8) ;p8 is Q of filter iwavefn = p9 icffn = p10 kcfoct oscil1i 0,icfvar,p3,icffn asig1 oscili p4,icps,iwavefn kcfoct = (kcfoct) + (icfmin) kcf = cpsoct(kcfoct) kbw = kcf/iq ;bw varies with cf afltsig butterbp asig1,kcf,kbw afltsig butterbp afltsig,kcf,kbw afltsig butterbp afltsig,kcf,kbw abalsig balance afltsig,asig1 afinal linen abalsig,.5,p3,.5 outs afinal,afinal endin
;generate a set of cosine partials f01 0 8192 11 32 ;the bw control function (exponential) f02 0 513 5 .01 256 1 257 .01 ;the cf control function (linear) f03 0 513 7 0 256 1 257 0 ;nn st dur amp pch bwmin bwvar oscfn bwfn i01 0 4 20000 8.00 0 2500 1 2 ;nn st dur amp pch cf1 cfvar Q oscfn cffn i02 5 4 20000 8.00 7.00 4 2 1 3 ;nn st dur amp pch cf1 cfvar Q oscfn cffn i03 10 4 20000 8.00 7.00 4 6 1 3 e