sr=44100 kr=441;110.25;441 ksmps=100;25 nchnls=2 gkatte init 0 gkatt init 0 gao init 0 ;ga1 init 0 ga2 init 0 ga3 init 0 ga4 init 0 ga5 init 0 ga6 init 0 ga7 init 0 ga8 init 0 ;ga111 init 0 ;ga222 init 0 ga333 init 0 ga444 init 0 gikir=1/kr ;gas init 0 instr 1 ;DATI PER CORDA IDEALE, SINTETIZZATI DA INSTR 2 IN SINTESI ADDITIVA ;git=p4 gkarm linseg p14,p4,p5,gikir,p5;ARMONICO PREVALENTE (PUNTO DI SFIORAMENTO ;DELLA CORDA) gkd linseg p10,p4,p6,gikir,p6; port p5,p4,1;PUNTO DI ECCITAZIONE (TASTO-PONTE) gkh linseg p11,p4,p7,gikir,p7;AMPIEZZA DELLE VIBRAZIONI gka linseg p12,p4,p8,gikir,p8;AMPIEZZA DELLE VIBRAZIONI NEL PUNTO DI ECCITAZIONE gkl linseg 1/p13,p4,1/p9,gikir,1/p9;EVENTUALE MUTAMENTO DI LUNGHEZZA (FREQUENZA) endin instr 2 ifreq=cpspch(p8) ;ifml=p9;formula freq ;in=p4 ;; print p4,p5,p6 ;idtn=p7 if p9=1 igoto invp ;SELEZIONE DI DIVERSE FORMULE CON CUI CALCOLARE LE ARMONICHE if p9=2 igoto dtn ;if p9=3 igoto log if p9=4 igoto ciclo ifrml=p7+ifreq*p4*.5;FORMULA PER ARMONICHE NORMALI + DETUNE igoto calc invp: ifrml=ifreq*p4*(p7-p4)*.5; SERIE DIAGONALI DI TAVOLA PITAGORICA igoto calc dtn: ifrml=ifreq*p4+p7*(p4-1)*.5; ARMONICHE CON DETUNE PROPORZIONALE ALL'ARMONICA -1 igoto calc ;log:ifrml=log(p4) ;igoto calc ciclo:ifrml=.5*ifreq/p4+p7;;;ARMONICHE INVERTITE + DETUNE calc:kk=(gka*p4*9.86);modif*p4;FORMULE PER L'AMPIEZZA DI OGNI PARZIALE kk1=sin((p4*3.14*(gkd+gka))/gkl) kk2=sin((p4*3.14*(gkd-gka))/gkl) if frac(p4/gkarm)<.04 goto sfiora ;selettivit… nel tempo katp=300;attenua freq estranee kgoto calcola sfiora: katp=100000 ;COEFF. AMPIEZZA FREQUENZE NON IMPEDITE DA SFIORAMENTO ;if in*cpspch(p8)>sr/2 igoto protect calcola:;katt linseg 0,.9/p4,ikatp,p3-1.8/p4,ikatp,.9/p4,0; katt port katp,.2,1;000 ;L'AMPIEZZA VIENE RAGGIUNTA CON UN'INERZIA DI .2 SEC as oscil katt*(2*gkh*gkl)/kk*(2*sin((p4*3.14*gkd)/gkl)-kk1-kk2),ifrml/gkl+7*gkh*p4,1,-1 suona:;a1,a2,a3,a4 pan as,p5,p6,3,1,0;OGNI COMPONENTE HA UNA COLLOCAZIONE ;NELLO SPAZIO QUADRIFONICO ;;I QUATTRO CANALI VENGONO ASSEGNATI AL SECONDO BUS (FINALE) il=(1-p5)*(1-p6) ir=p5*(1-p6) ;ga1=ga1+as*il ga2=ga2+as;*ir ga3=ga3+as*il ga4=ga4+as*ir ; protect:;as=0 endin instr 3 ; BUZZ: SUONO ARMONICO CON COMPONENTI IN PROPORZIONE ESPONENZIALE ifr=cpspch(p9) kf line (p14+1)/2,p3,(p13+1)/2;FREQUENZA print p14+1,p13+1 kqr expon p5,p3,p6 ;RISPOSTA IN FREQ. ARMONICHE:kr da 2(centro sin) a 0.1 (molto brill) ke expseg .01,p7/2+gikir,p4*.7,p7/2+gikir,p4,p3-p7-p8-4*gikir,p4,p8/2+gikir,p4*.7,p8/2,.01 ;AMPIEZZA CON INVILUPPO as gbuzz ke,kf*ifr,.5*sr/ifr-p10,p10,2-kqr,1,-1 a1,a2,a3,a4 pan as,p11,p12,3,1,0 ga5=ga5+a1 ;ASSEGNATO AL PRIMO BUS PER EVENTUALI ALTRI PROCESSI DI ELABORAZIONE ga6=ga6+a2 ga7=ga7+a3 ga8=ga8+a4 endin instr 4;RUMORE BIANCO ; ke expseg .01,p5+gikir,p4,p3-p5-p6,p4,p6+gikir,.01,1,.01 ; if p9=0 igoto white ; ke expseg .01,p5+gikir,p4,p3-p5-p6,p4,p6+gikir,.01 ; kf expon p9,p3,p10+p9 ;ke expseg .01,p5+gikir,p4,p3-p5-p6,p4,p6+gikir,.01,1,.01 ; ar randi (1-p11)*ke,cpspch(kf);*kf?? ; arr randi p11*ke,1/(1-1/kf)*cpspch(kf) ;as=ar+arr ;goto fin ; white: ke1 expseg .01,p5+gikir,p4,p3-p5-p6,p4,p6+gikir,.01,1,.01;INVILUPPO AMPIEZZA as rand ke1 ;fin: a1,a2,a3,a4 pan as,p7,p8,3,1,0 ga5=ga5+a1;ASSEGNATO AL PRIMO BUS PER EVENTUALI ALTRI PROCESSI DI ELABORAZIONE ga6=ga6+a2 ga7=ga7+a3 ga8=ga8+a4 endin instr 5;RUMORE CON INTERPOLAZIONE LINEARE (ZERI PERIODICI CONTROLLABILI) kf expon cpspch(p5),p3,cpspch(p8+p5);sr*.5,p3,cpspch(p5);FREQUENZA FOND. ESCLUSA ke expseg .01,p6+gikir,p4,p3-p7-p6,p4,p7+gikir,.01,1,.01;INVILUPPO D'AMPIEZZA ar randi (1-p9)*ke,kf;PRIMO GENERATORE kar=1-1/kf;ALTRO GENERATORE CON FREQ.INVERSA arr randi p9*ke,1/kar*kf;p9 =BILANCIAMENTO TRA I DUE GENERATORI a1,a2,a3,a4 pan arr+ar,p10,p11,3,1,0 ga5=ga5+a1;ASSEGNATO AL PRIMO BUS PER EVENTUALI ALTRI PROCESSI DI ELABORAZIONE ga6=ga6+a2 ga7=ga7+a3 ga8=ga8+a4 endin instr 7 if=p5+p13;FREQ. FINALE kf expseg cpspch(p5),p14+gikir,cpspch(if),1,cpspch(if);INVILUPPO FREQ. ka expseg .01,p8/2+gikir,p4*.7,p8/2+gikir,p4,p3-p9-p8-4*gikir,p4,p9/2+gikir,p4*.7,p9/2+gikir,.01 ab loscil ka,kf,p6,cpspch(7.07),p15,p16+1,p7 a1,a2,a3,a4 pan ab,p10,p11,3,1,0 ga5=ga5+a1 ga6=ga6+a2 ga7=ga7+a3 ga8=ga8+a4 endin instr 8 ;FM kar randi p10,30; kf line p5+p14,p3,p5;SFUMATURA ALEATORIA PER L'INDICE DI MODULAZIONE ke expseg .01,p11/2+gikir,p8*.7,p11/2+gikir,p8,p3-p12-p11,p8,p12/2,p8*.7,p12/2,.01 ;INVILUPPO D'AMPIEZZA E DI MODULAZIONE ;af reson ar,p5*cpspch(p9),(2-ke)*(2-ke)*p10,1 ;km linseg 0,p11,p13,p3-p11-p12,p13,p12,0 ar foscili ke,cpspch(p9)/2,p4,p5,1.5*ke/p8+p10+kar*(.205-ke/(p8*10)),2,-1;ex kar*(1.2-ke) ;a1,a2,a3,a4 pan ar,p6,p7,3,1,0 il=(1-p6)*(1-p7) ir=p6*(1-p7) ;ga1=ga1+ar*il ga2=ga2+ar ga3=ga3+ar*il ga4=ga4+ar*ir endin ; instr 9 ;appiattitore di risp. in freq in 0 0 ; af reson ga7,p4*100,p4*60 ; ab balance af,ga7 ; gab=gab+ab ; a1,a2,a3,a4 pan gab,p6,p7,3,1,0 ; ga5=ga5+a1 ; ga6=ga6+a2 ; ga7=p5*ga7+a3 ; ga8=ga8+a4 ; endin instr 10 ;LPC con pitch follow e v/uv kt linseg p5,p3,p4;PUNTO DEL FILE DI ANALISI ktr line p10,p3,p9 kre,ka,ks,kf lpread kt,p7 ;kff port kf,9,1 ;res: abs oscili (1-ks)*(1-p14),(kf+ktr)*p15,p8;OSCILLATORE PER FILTRAGGIO ; CON FREQUENZA CONTROLLATA DA LPC MA TRASPONIBILE E "SHIFTABILE" ar rand ks*p14;RUMORE PER LA COMPONENTE RUMOROSA ao lpfreson (ar+abs),p11 kenv linseg 0,.2,p6,p3-.3,p6,.1,0;INVILUPPO D'AMPIEZZA ar1 gain ao,ka a1,a2,a3,a4 pan ar1*kenv,p12,p13,3,1,0 ; ga1=ga1+a1 ga2=ga2+a2+a1 ga3=ga3+a3 ga4=ga4+a4 endin ; instr 13;bell con trasp appross tritono ; kin oscil 1,.5,1 ; as foscili 30000,p6,1,p4/p5,kin+2.5,1,-1 ; a1,a2,a3,a4 pan as,p11,p12,3,1,0 ; ga5=ga5+a1 ; ga6=ga6+a2 ; ga7=ga7+a3 ; ga8=ga8+a4 ; endin instr 14 ifr=cpspch(p8) ; ibeg=p6*sr;punto inizio in sec kif linseg ifr*p4,p3-.4,ifr*p7,1,ifr*p7 ;frequenza ;irapp=p5*sr; line irp,p3,irp2;rall. 0=orig 1=loop senza avanzamento al line 0,1,(1-p5) a1 phasor kif,p13 a2=(a1*p5/kif+al+p6)*sr at tablei a2,31,0,0,1 am table a1,32,1 ae linseg 0,.001+p12,1,p3-.4998-p12,1,.1,1.6,.3,1;INVILUPPO D'AMPIEZZA ;am table aph,2,1 ;out at*20000*am*ae a1,a2,a3,a4 pan at*p9*am*ae,p10,p11,3,1,0 ga5=ga5+a1;ASSEGNATO AL PRIMO BUS PER EVENTUALI ALTRI PROCESSI DI ELABORAZIONE ga6=ga6+a2 ga7=ga7+a3 ga8=ga8+a4 endin instr 15 ;LPC con portam in 0 0 suono 1 1 rumore k1 linseg p6,p3-(p5+.05),p4-(p4-p6)*.23,p5+.05,p4 ;kp1 port k1,.1+p9,p6 kf linseg p16+1,p3-p5,p7,1,p7 klr line p12,p3,p10 kar line p13,p3,p11 krmsr,krmso,kerr,kcps lpread k1,p14 ar randh 20*p15,2*kcps krmp port krmso,.0512+p9,0;1 ;a1= ;buzz 30 ,cpspch(7.07),44,2 a2 lpfreson ga6*kerr+ar+ga7*(kerr-1),kf;(ar+a1) a33 gain a2,krmp,20 kenv linseg 0,.01,p8/2,.02,p8,p3-.06,p8,.02,p8/2,.01,0;INVILUPPO D'AMPIEZZA a1,a2,a3,a4 pan a33*kenv,klr,kar,3,1,0 ;ga1=ga1+a1 ga2=ga2+a2+a1 ga3=ga3+a3 ga4=ga4+a4 endin instr 19 ;bandpass farey in 0 1 ifr=cpspch(p5) kt linseg 1/20,p3/20,1/20,p3-p3/20,1 kk linseg 1,p3-p3/20,1/20,p3/20,1/20 a6 reson ga5,p4*ifr/kt,12 k6 rms a6 a7 reson ga5,p4*ifr/kk,12 k7 rms a7 kd linseg 1,p3/2,1/20,p3/2,1 adis oscili ga5,2*ifr,2 a8 reson adis,ifr/kd,12 k8 rms a8 kenv linseg 0,p3/12,p6,p3-p3/6,p6,p3/12,0;INVILUPPO D'AMPIEZZA a11,a22,a33,a44 pan a8*.25+a8*k8*2,kd,1-p4/8,3,1,0 aa1,aa2,aa3,aa4 pan a7*.25+a7*k7,kk,p4/8,3,1,0;modif a1,a2,a3,a4 pan a6*.25+a6*k6,kt,1-p4/8,3,1,0 ;modif ;ga1=ga1+(a1+aa1+a11)*kenv ga2=ga2+(a2+aa2+a22)*kenv ga3=ga3+(a3+aa3+a33)*kenv ;? ga4=ga4+(a4+aa4+a44)*kenv endin instr 21 ; COMB in 1 0 ;it tival ifr=cpspch(p9)/2 ak linseg p4,p3/p8,p5,1,p5 ;ex linseg! kz linseg p14,p3/p8,p15,1,p15 ksig linseg p6,p3/p8,p7,1,p7 kt table ksig/4+.25,2,1,.75,1;kpan linseg p3/8;as randh 32000,.5*ifr;,kk*ifr;as gbuzz 30000,ifr,(.5*sr)/ifr,1,1,1 afeed1 delayr 1;p3;,it ex p3*2 at deltapi 1/(ifr*ak) delayw ga8+at*kt afn delayr .1;p3;,it an deltapi 1/(ifr*ak) delayw ga8 ao=(ga8-an*(1-p16))*kz+at/3*(1-kz) ke expseg .01,p12+gikir,1.01+p13,p3-p12-.08-gikir,1.01+p13,.08,.01;INVILUPPO D'AMPIEZZA kp line p17,p3,p10 kpp line p18,p3,p11 a1,a2,a3,a4 pan ao*ke,kp,kpp,3,1,0 ;ga1=ga1+a1 ga2=ga2+a2+a1 ga3=ga3+a3 ga4=ga4+a4 endin instr 22 ;comb con ring m ifr=cpspch(p9)/2 ksel linseg 1,p8,1,.1,0,1,0 kt linseg p6,p8,p7,1,p7 ;kt table kt1/4+.25,2,1,.75,1 atd1 delayr .1;p3; .5 atd deltap 1/(ifr*p5) at1 areson atd,ifr*p4*p12,3000 at balance at1,atd ;atr1 atone atd,.4*p14;reson atd,ifr*p5,p14;ifr*p4 ;atr tone atr1,p14 ;at balance atr,ga8 delayw ksel*ga8+at*kt ke expseg .01,.1,1.01+p13,p3-.2,1.01+p13,.1,.01;INVILUPPO D'AMPIEZZA ;kf expseg .5,p3/3,p14,p3/3,p14,p3/3,.1 ;at atone at,ifr*p4-p14 ao oscili atd*ke,p4*ifr,2 ;kp line p14,p3,p10 ;kpp line p15,p3,p11 a1,a2,a3,a4 pan ao,p10,p11,3,1,0 ;ga1=ga1+a1 ga2=ga2+ao ga3=ga3+a3 ga4=ga4+a4 endin instr 43 ;IDEM PER INSTR 54, CHE Š UN BANCO DI FILTRI gkarm1 linseg p14,p4,p5,gikir,p5 gkd1 linseg p10,p4,p6,gikir,p6 gkh1 linseg p11,p4,p7,gikir,p7 gka1 linseg p12,p4,p8,gikir,p8 gkl1 linseg 1/p13,p4,1/p9,gikir,1/p9 endin instr 44;input per addvocoder gkvol expseg p4+.01,p5+gikir,p6+.01,p3-p5,p6+.01,.3,.01;VOLUME GLOBALE INSTR54 gkband expseg p7,p8,p9,1,p9;AMPIEZZA DI BANDA DEI FILTRI ;gas=ga5*gkvol endin instr 54 ;ADDVOCOD in 0 1;BANCO DI FILTRI PASSABANDA(ANALOGO AL BANCO DI OSCILLATORI INSTR 2) ifreq=cpspch(p8) ;in=p4 ;idtn=p7 kk=(gka1*p4*9.86) ;ex *in ; kk1=sin((p4*3.14*(gkd1+gka1))/gkl1) ; kk2=sin((p4*3.14*(gkd1-gka1))/gkl1) if frac(p4/gkarm1)<.0024 goto sfiora ;selettivit… nel tempo katp=120;attenua freq estranee kgoto calcola sfiora: katp=40000 ;if idtn+in*cpspch(p8)>sr/2 igoto protect calcola:katt port katp,.93/p4,0;1000 kvlm=gkvol*katt*(.07*gkh1*gkl1)/kk*(2*sin((p4*3.14*gkd1)/gkl1)) ar reson ga5*kvlm,p7+(ifreq*p4/2)/gkl1,gkband,2+p9;3,0,1 ; as = gkvol*ga5*katt*(.06*gkh1*gkl1)/kk*(2*sin((p4*3.14*gkd1)/gkl1)-kk1-kk2);,25,1 ;igoto suona suona:;a1,a2,a3,a4 pan ar,p5,p6,3,1,0 il=(1-p5)*(1-p6) ir=p5*(1-p6) ; ga1=ga1+ar*il ga2=ga2+ar ga3=ga3+ar*il ga4=ga4+ar*ir ;protect:as=0 endin ;instr 12; LPC FM in 0 0 ; if p10=2 igoto fm ;a1 rand 31 ;;if p10=1 igoto afono ;k1 line p4,p3,p5 ; krmsr,krmso,kerr,kcps lpread k1,p6;"fmfarlpc" "lpfilvoc"; ; ad delayr .1 ; at deltapi 1/kcps ; delayw (ga7+at*.9)*.5 ; ad1 delayr .1 ; at1 deltapi 1/kcps ; delayw ga7*.5 ; as lpreson (at*(1-kerr)+(ga7-at1*kerr))*p7;*krmso*;.0009 ;goto panp ;fm: ;k1 line p4,p3,p5 ; ; krmsr,krmso,kerr,kcps lpread k1,"lpfilvoc";p6;"fmfarlpc" ;;a1 buzz krmso*.013,kcps,34,2 ;; as lpreson a1*p7 ;panp: a1,a2,a3,a4 pan as,p8,p9,3,1,0 ; ga1=ga1+a1 ; ga2=ga2+a2 ; ga3=ga3+a3 ; ga4=ga4+a4 ;endin ;instr 11 ;lpc afono in 0 0 ; k1 line p4,p3,p5 ; krmsr,krmso,kerr,kcps lpread k1,"lpfilvoc" ;ad delayr .1 ;at deltapi 1/kcps ;delayw ga7+at*kerr ;as lpreson at*krmso*p7 ; a1,a2,a3,a4 pan as,p8,p9,3,1,0 ; ga1=ga1+a1 ; ga2=ga2+a2 ; ga3=ga3+a3 ; ga4=ga4+a4 ;endin ;instr 16 ;LPC GLISS VL ;k1 line p4,p3,p5 ; krmsr,krmso,kerr,kcps lpread k1,"gliarm.m11" ;ar rand krmso*kerr ; a1 buzz krmso+krmsr,kcps*p7+p6,44,2 ; a2 lpreson a1;(ar+a1) ;a1,a2,a3,a4 pan a2/50,p11,p12,3,1,0 ; ga1=ga1+a1 ; ga2=ga2+a2 ; ga3=ga3+a3 ; ga4=ga4+a4 ; outs a2/50,a2/50;display krmso,p3/3;display kcps,p3/3 ;endin instr 55 ;inerzia corde vuote in 1 1 it tival katt line p6,p3,p6+p10 ; ifr=cpspch(p4);asig pluck 24000,ifr,ifr,0,5,.1,.1 ;asig+ain*.2+ga6 aivdl delayr 2/cpspch(p4),it;ex 1,it iw=(cpspch(p4))/2 print iw ;aivd deltap 1/cpspch(p4) aiv tone aivdl,p7/1.5 delayw ga6+aiv*katt kenv linseg 0,.01,p5/32000,p3-.02,p5/32000,.01,0;INVILUPPO D'AMPIEZZA a1,a2,a3,a4 pan aiv*kenv,p8,p9,3,1,0 ;ga1=ga1+a1 ga2=ga2+a2+a1 ga3=ga3+a3 ga4=ga4+a4 ;outs (aiv+aiii+ai+aii)/10 ;+ain/3 endin instr 56 ;ga1= ga1+ga5*p4 ga2= ga2+(ga6+ga5)*p4 ga3= ga3+ga7*p4 ga4= ga4+ga8*p4 endin instr 58; risonanze formantiche ; as=ga1+ga3;ex ga5 7 at reson ga3,196/2,40/2 ae reson ga3,273/2,30/2 ad reson ga3,494/2,28/2 aw reson ga3,719/2,25/2 aq reson ga3,1300/2,50/2 ah atone ga3,3500/2,0 ab balance aq+aw+ad+ae+at+ah,ga3*p4;.9;.4 ;as1=ga2+ga4 at1 reson ga4,196/2,40/2 ae1 reson ga4,273/2,30/2 ad1 reson ga4,494/2,28/2 aw1 reson ga4,719/2,25/2 aq1 reson ga4,1300/2,50/2 ah1 atone ga4,3500/2,0 ab1 balance aq1+aw1+ad1+ae1+at1+ah1,ga4*p4;.9;.4 ;ga1=ga1+ab ga2=ga2+ab1+ab ga3=ga3+ab ga4=ga4+ab1 endin instr 66 gkatt=p16; kenv linseg 0,.02,1-p16,p3-.04,1-p16,.02,0 ; iatte=(1-p16);/1.4 ii=1.4 isum=abs(p4)+abs(p5) if isum!=0 goto rifletti print isum turnoff ;outs (ga1+ga3)*gkatte,gkatte*(ga2+ga4) ;igoto endg rifletti: gidimx=p14 ;dimens amb gidimy=p15 ;gas=gas/150;+as1/1500 ; it tival ;inix=p4 ;n riflessione ;reset: ;iniy=p5 ;cominc: if frac(p4/2)=0 igoto vai iesp=-1 igoto comincy;prosegui vai:iesp=1 comincy:if frac(p5/2)=0 igoto vay iespy=-1 igoto prosegui vay:iespy=1 prosegui:;ix=iesp*p6+p4*gidimx-.5 ;iy=iespy*p7+p5*gidimy-.5 ;idist=sqrt(ix*ix+iy*iy) ;; print p4,p5,ix,iy,idist ix2=iesp*p8+p4*gidimx-.5 iy2=iespy*p9+p5*gidimy-.5 idist2=sqrt(ix2*ix2+iy2*iy2) ix3=iesp*p10+p4*gidimx-.5 iy3=iespy*p11+p5*gidimy-.5 idist3=sqrt(ix3*ix3+iy3*iy3) ix4=iesp*p12+p4*gidimx-.5 iy4=iespy*p13+p5*gidimy-.5 idist4=sqrt(ix4*ix4+iy4*iy4) ;isum=abs(p4)+abs(p5) ;ad delay kenv*ga1,idist/345;,1;,it ;NB in questo e nei delay successivi tolto /2 ; adt tone ad,sr/(sqrt(idist)*(1+isum*ii)); )-kdist*3;(1-(4*kdist*kdist*.009)) ; ids=4/idist/idist ; iloc=(1-1/idist) ad2 delay kenv*ga2,idist2/345;,1;,it adt2 tone ad2,sr/(sqrt(idist2)*(1+isum*ii)) ;; a12,a22,a32,a42 pan adt2,ix2+.5,iy2+.5,3,1,0 ids2=4/idist2/idist2 iloc2=(1-1/idist2) ids3=2/idist3/idist3 iloc3=(1-1/idist3) ad3 delay kenv*ga3,idist3/345;,1;,it adt3 tone ad3,sr/(sqrt(idist3)*(1+isum*ii)) ;; a13,a23,a33,a43 pan adt3,ix3+.5,iy3+.5,3,1,0 ids4=2/idist4/idist4 iloc4=(1-1/idist4) ad4 delay kenv*ga4,idist4/345;,1;,it adt4 tone ad4,sr/(sqrt(idist4)*(1+isum*ii)) ;; a14,a24,a34,a44 pan adt4,ix4+.5,iy4+.5,3,1,0 ;gao=gao+(adt2/(idist2)+adt3/(idist3)+adt4/(idist4));riv globale atten di .3 ;ga111=ga111+adt*iloc;+a12*iloc2+a13*iloc3+a14*iloc4 ;ga222=ga222+adt2*iloc2;+a23*iloc3+a24*iloc4;riv locale enfatizz. ga333=ga333+adt3*iloc3;+a34*iloc4 ga444=ga444+adt4*iloc4;+a41*iloc+a42*iloc2+a43*iloc3 ;ga555=gao+ga111+ga333 ;ga666=gao+ga222+ga444 ; aa1=a11*ids+a12*ids2+a13*ids3+a14*ids4 ; dispfft aa1,p3/2,4096;aa2=a21*ids+a22*ids2+a23*ids3+a24*ids4 ;aa3=a31*ids+a32*ids2+a33*ids3+a34*ids4 ;aa4=a41*ids+a42*ids2+a43*ids3+a44*ids4 ;outs ((a11*ids+a12*ids2+a13*ids3+a14*ids4)+(a31*ids+a32*ids2+a33*ids3+a34*ids4))*iatte,(a21*ids+a22*ids2+a23*ids3+a24*ids4+a41*ids+a42*ids2+a43*ids3+a44*ids4)*iatte; outs (a33+a11)*(ids)*2,2*(a44+a22)*(ids);secco ;direct: outs (ga1+ga3)*gkatte,gkatte*(ga2+ga4) outs adt3*ids3,adt4*ids4+adt2*ids2*.3 ;endg:ii=1.4 endin instr 77 ;SEGNALE SECCO print i(gkatt) katte=(1-gkatt)*(.3+p4);VOLUME DRY print i(gkatt),i(katte) ;;display katte,1 ;adl=ga3*katte ;adr=katte*ga4 gadl atone ga3*katte,16;ANTI DC gadr atone ga4*katte,16 outs gadl,gadr ;display gadl,2 endin instr 99 ; gkatte=(1-gkatt)/140;ex50 ; iatt=.1+p4 i5=p5+gidimx*gidimy/2450+.5 gkvolr linseg p7+p9*p10/2450+.5,p6,i5,1,i5;port gidimx*gidimy/2450+p5,.5+p6 gkfin expseg .01+p8/100,p6,.01+p4/100,1,.01+p4/100 ;ex p6/2 time ; gkfin=kamp*gkatte ;gaad delayr .05,1 print i5,(p8+.1)/140,(p4+.1)/140 endin instr 100 gagg=ga2*(1-gkatt)*.09 adl delay gadr+gagg,gidimx/345+.07;,1 adr delay gadl+gagg,gidimx/345+.0516;,1 af1 tone adl+3*gadl+ga333*55,16000 af2 tone adr+3*gadr+ga444*55,16000 arl reverb af1,gkvolr;,1 ;gaat tone garl,8000;delayw gaat+gaad*.1056;gaad1 delayr .0707,1 arlr reverb af2,gkvolr;,1 ;gaat1 tone garl,8000 ;delayw gaat1+gaad1*.126;print gidimx*gidimy/1450+.15+p7,2*p6+.5,gidimx*gidimy/1450+.15+p5 outs gkfin*arl,gkfin*arlr endin instr 200 ;arl= 0 ;arlr= 0 ;gao= 0 ;ga1= 0 ga2= 0 ga3= 0 ga4= 0 ;ga111= 0 ;ga222= 0 ga333= 0 ga444= 0 ;ga555=0 ;ga666=0 gadl=0 gadr=0 ; gal= 0 ;gar= 0 ;gas= 0 ga5= 0 ga6= 0 ga7= 0 ga8= 0 endin