-m2 -d -W -o mosquiz.wav Before 4.30 After 4.23 sr=44100 kr=4410 ksmps=10 nchnls=2 ; synth waveform giwave ftgen 1, 0, 1024, 10, 1, 1, 1, 1 ; blending window giblend ftgen 2, 0, 1024, -19, 1, 0.5, 270, 0.5 opcode PathCircle, kk, ikkkk ilen,kf1,kf2,ka1,ka2 xin kt line 0,ilen,ilen-1 kx = ka1*sin(2*3.1416*kf1*kt+3.1416/2) ky = ka2*cos(2*3.1416*kf2*kt+3.1416/2) xout kx, ky endop opcode PathSpline, kk, iiiiiiiii ilen,ix0,iy0,ix1,iy1,ix2,iy2,ix3,iy3 xin ; orig endpoint (x0,y0),orig controlpoint (x1,y1),dest controlpoint (x2,y2),dest endpoint (x3,y3) icx = 3*(ix1 - ix0) ; coefficient values ibx = 3*(ix2 - ix1) - icx iax = ix3 - ix0 - icx - ibx icy = 3*(iy1 - iy0) iby = 3*(iy2 - iy1) - icy iay = iy3 - iy0 - icy - iby kmu line 0, p3, 1 kmu2 = kmu*kmu kmu3 = kmu2*kmu kx = iax*kmu3 + ibx*kmu2 + icx*kmu + ix0 ky = iay*kmu3 + iby*kmu2 + icy*kmu + iy0 xout kx, ky endop opcode Doppler, aa, akk idlen init .5 ; length of the delay line iphaz init .01 ; phase difference between right and left ears kdoplr init idlen/2 asamp, kx, ky xin kdx diff kx kdy diff ky ; Calculate deltap increment for use in doppler effect ;------------------------------------------------------------- kdist = sqrt(kx*kx+ky*ky) ; find the distance to the source kddoplr = (kx*kdx+ky*kdy)/(kdist+0.001) ; doppler effect or deltap increment kdoplr = kdoplr+kddoplr/40000 ; Calculate pan modifiers for use in attenuation and spatialization effect ;------------------------------------------------------------- kpanl = 1/(1+exp(kx/150)) ; compute pan left kpanr = 1/(1+exp(-kx/150)) ; compute pan right ; Apply doppler effects ;------------------------------------------------------------- adel1 delayr idlen ;There has to be enough room for atap1 deltap3 kdoplr ;an object coming from a long ways atap2 deltap3 kdoplr+iphaz ;away. Take two taps for right and delayw asamp/(kdist+100) ;left ears. ; Apply attenuation and spatialization effect ;------------------------------------------------------------- aleft = atap1*kpanl aright = atap2*kpanr xout aleft, aright endop ;------------------------------------------------------------- ; Plays a sound following a 2d bézier path taking into account doppler effect. ;------------------------------------------------------------- instr 1 ; Initializations (sound source) ;-------------------------------------------------------------- ilen = p3 ; length of the note iamp = p4 ; amplitude of the sound source ifqc = cpspch(p5) ; convert pitch to frequency ; Sound source ;------------------------------------------------------------- ; Mosquito ;-------------------------- kmod jspline 4,20,22 kenv linseg 0, ilen*0.4, 1, ilen-ilen*0.4, 1, ilen*0.1, 0 asamp buzz (2000*iamp)*kenv, ifqc, 10, 2 ; Path and Doppler ;------------------------------------------------------------- kx, ky PathSpline ilen,p6,p7,p6,p7,p6,-p7,p6,-p7 kmodx jspline 30,2,20 kmody jspline 30,2,20 kxa = kx + kmodx kya = ky + kmody aleft, aright Doppler asamp,kxa,kya ; Scale and output ;------------------------------------------------------------- kenv linseg 0, ilen*0.4, iamp/100, ilen-ilen*0.8, iamp/100, ilen*0.4, 0 outs kenv*aleft,kenv*aright endin instr 2 ; p4 = freq of fundamental (Hz) ; p5 = amp ; p6 = initial offset of freq - .03 Hz ; init values correspond to freq. ; offsets for oscillators based on original p6 i1 = p6 i2 = 2*p6 i3 = 3*p6 i4 = 4*p6 ; A de-click envelope ampenv linen p5,0.0001,p3,0.6*p3 ; Nine oscillators with the same amplitude env ; and waveform, but slightly different ; frequencies to create the beating effect a1 oscili 1,p4,1 ; 65.41 Hz. a2 oscili 1,p4+i1,1 ; 65.41 +.03 = 65.44 Hz. a3 oscili 1,p4+i2,1 ; 65.41 +.06 = 65.47 Hz. a4 oscili 1,p4+i3,1 ; 65.41 +.09 = 65.50 Hz. a5 oscili 1,p4+i4,1 ; 65.41 +.12 = 65.53 Hz. a6 oscili 1,p4-i1,1 ; 65.41 -.03 = 65.38 Hz. a7 oscili 1,p4-i2,1 ; 65.41 -.06 = 65.35 Hz. a8 oscili 1,p4-i3,1 ; 65.41 -.09 = 65.32 Hz. a9 oscili 1,p4-i4,1 ; 65.41 -.12 = 65.29 Hz. outs ampenv*(a1+a2+a3+a4+a5+a6+a7+a8+a9)/2, ampenv*(a1+a2+a3+a4+a5+a6+a7+a8+a9)/2 endin ; Instrument #3 - produces Risset's glissando. instr 3 iatt init p5 idec init p6 kamp = p4 kbrite = -0.5 ibasfreq = 12 ioctcnt = 5 ; Change ktone linearly from 0 to 1, ; over the period defined by p3. kmod jspline 0.05,1,4 ktone line 0, p3, 1 a1 hsboscil kamp, ktone+kmod, kbrite, ibasfreq, giwave, giblend, ioctcnt, -1 ampenv linen 1,p3*iatt,p3,p3*idec outs a1/2*ampenv,a1/2*ampenv endin instr 4 ; Sound source ;------------------------------------------------------------- ; p4 = freq of fundamental (Hz) ; p5 = amp ; p6 = initial offset of freq - .03 Hz ; init values correspond to freq. ; offsets for oscillators based on original p6 i1 = p6 i2 = 2*p6 i3 = 3*p6 i4 = 4*p6 ; A de-click envelope ampenv linen p5,0.0001,p3,0.6*p3 ; Nine oscillators with the same amplitude env ; and waveform, but slightly different ; frequencies to create the beating effect a1 oscili 1,p4,1 ; 65.41 Hz. a2 oscili 1,p4+i1,1 ; 65.41 +.03 = 65.44 Hz. a3 oscili 1,p4+i2,1 ; 65.41 +.06 = 65.47 Hz. a4 oscili 1,p4+i3,1 ; 65.41 +.09 = 65.50 Hz. a5 oscili 1,p4+i4,1 ; 65.41 +.12 = 65.53 Hz. a6 oscili 1,p4-i1,1 ; 65.41 -.03 = 65.38 Hz. a7 oscili 1,p4-i2,1 ; 65.41 -.06 = 65.35 Hz. a8 oscili 1,p4-i3,1 ; 65.41 -.09 = 65.32 Hz. a9 oscili 1,p4-i4,1 ; 65.41 -.12 = 65.29 Hz. asamp = ampenv*(a1+a2+a3+a4+a5+a6+a7+a8+a9)/2 ; Path and Doppler ;------------------------------------------------------------- kx, ky PathCircle p3,sqrt(1.5)/3,sqrt(2)/3,200,150 kmodx jspline 40,2,3 kmody jspline 40,2,3 kxa = kx + kmodx kya = ky + kmody aleft, aright Doppler asamp,kxa,kya ; Scale and output ;------------------------------------------------------------- kenv linseg p5/1.8, p3*0.4, p5/1.8, p3-p3*0.8, p5/1.8, p3*0.4, 0 outs kenv*aleft,kenv*aright endin instr 5 ; Wind iamp init p4 iatt init p7 idec init p8 asig rand p4 kmodfq jspline 50,1,3 kmodbw jspline 10,2,3 abp butterbp asig, p5+kmodfq, p6+kmodbw ampenv linen 1,p3*iatt,p3,p3*idec outs abp*ampenv,abp*ampenv endin f1 0 1024 10 1 0 0 0 .8 .8 .8 .8 .8 .8 f2 0 4096 10 1000 t 0 180 ; ------- begin of field background --- seconds: 0.00 - 120.00 -------- Motor i3 0 100 15 0.1 0 i3 + 27 15 0 0 ; ------- begin of field background --- seconds: 0.00 - 120.00 -------- Arpeggio i4 126.1 160 65.41 1500 .03 ; ------- begin of field 1 --- seconds: 12.00 - 120.00 -------- ;ins time dur p4 p5 p6 p7 i1 12 20.49038 294.766 5.4 -200 2228.004 i1 35.71 14.35194 264.0971 5.43 -50 2322.733 i1 48.5 19.61471 187.2318 5.48 -100 2208.747 i1 54.76 16.50229 153.2303 5.42 100 2235.115 i1 59.86 15.53759 121.2509 5.49 200 2135.502 i1 63.53 12.96877 152.9630 5.45 300 2236.549 i1 64.7 6.6637 110.5866 5.49 -300 2612.049 i1 67.99 12.04802 147.5536 5.38 -50 2286.538 i1 71.2 9.24606 164.1038 5.49 -100 2195.715 i1 72.46 19.13753 108.815 5.4 100 2506.943 i1 75.58 15.91429 186.8783 5.4 200 2003.204 i1 78.13 18.57804 182.7522 5.34 100 2664.907 i1 83.71 6.51651 121.7396 5.41 -300 2461.989 i1 85.57 7.37936 128.3361 5.49 -200 2214.148 i1 87.54 13.9771 153.8817 5.5 300 2625.874 i1 90.06 16.42615 182.2715 5.46 -200 2516.251 i1 91.1 10.19885 128.2263 5.49 300 2547.105 i1 96.8 11.6464 142.9499 5.47 100 2177.831 i1 98.18 13.74552 197.3034 5.41 50 2718.070 i1 103.41 15.49131 141.8741 5.33 -300 2111.301 i1 109.36 17.88353 139.9271 5.44 -300 2539.933 i1 110.9 8.32702 180.4038 5.43 50 2360.302 i1 112.06 9.57633 117.8988 5.46 200 2634.510 i1 112.63 9.79124 135.2654 5.35 50 2335.368 i1 116.81 19.11959 141.2226 5.42 -200 2823.328 i1 117.84 9.83995 198.6096 5.46 300 2601.978 i1 118.92 6.04375 148.9300 5.33 -300 2116.52 ; ------- end of field 1 --- number of events: 27 ------- ; ------- begin of field background --- seconds: 0.00 - 120.00 -------- Arpeggio i5 0 126.1 1200 700 50 0.1 0 i5 127 160 3200 1000 20 0 0.5