;--------------------------------; ; Pinkston Delay Instruments 8-9 ; ;--------------------------------; sr = 22050 kr = 2205 ksmps = 10 nchnls = 1 instr 8 ;soundin instrument gasend init 0 ;init the global var idry = p4 ;amt of signal to out iwet = p5 ;amt of signal to effect ainput soundin p6 out ainput*idry gasend = gasend+ainput*iwet endin ;========================================================= instr 9 ;harmonizer instr igain = p4 ;overall gain idelay = p5 ;n seconds delay insemis = p6 ;n semitones to shift ifeed = p7 ;feedback factor ilfohz = p8 ;LFO freq ifract = insemis/12 ;fraction of an oct ibasehz = cpsoct(8) ;middle c as basis inewhz = cpsoct(8+ifract) ;desired rel pitch iratio = inewhz/ibasehz ;ratio new hz to old irate = (iratio-1)/idelay ;subtract 1/1 speed krate init irate ;copy to kvar if (ilfohz==0) goto continue krate oscili irate,ilfohz,2 ;LFO sine fn continue: kenv linen igain,.01,p3,.05 ;overall env control actl1 phasor -irate ;moving phase 1-0 agate1 tablei actl1,1,1,0,1 ;triangle window func actl2 phasor -irate,.5 ;phase offset of .5 agate2 tablei actl2,1,1,0,1 ;triangle window func ajunk delayr idelay ;alloc delay line asig1 deltapi actl1*idelay ;2 variable taps asig2 deltapi actl2*idelay ;offset 1/2 buff len asig1 = asig1*agate1 ;gate tap outputs asig2 = asig2*agate2 ;separately asum = asig1+asig2 ;and sum ainput = gasend+asum*ifeed delayw ainput out asum*kenv ;overall envelope gasend = 0 ;zero global variable endin
;Sample Score for Pinkston Delay Chapter Instruments 8-9 f01 0 513 20 3 ;triangle window fn f02 0 513 10 1 ;sine fn ; Play soundin.890 - a single cello sample ; st dur dry wet soundin# i08 0 2 0 1 890 ; arpeggio: harmonize up 5 semitones with feedback ; st dur gain delay nsemis ifeed lfohz i09 0 4 .45 .33 5 .9 0 ; Play soundin.891 - a single timpani stroke ; st dur dry wet soundin# i08 4 2 0 1 891 ; gliss: harmonize down .1 semitones with max feedback ; st dur gain delay nsemis ifeed lfohz i09 4 4 .4 .0123 -.1 .99 0 ; Play soundin.892 - a single bass sample ; st dur dry wet soundin# i08 8 4 .5 .8 892 ; flange: +/- .2 semitones with feedback and slow lfo ; st dur gain delay nsemis ifeed lfohz i09 8 4.5 .75 .05 -.2 .7 .5 e