;************************************************ ;************************************************ ;*************PWCsound 1.0*********************** ;************************************************ ;************************************************ ;GEN gisine ftgen 0, 0, 65537, 10, 1 ; sine wave gibell ftgen 0, 0, 65537, 9, .56, 1, 0, .57, .67, 0, .92, 1.8, 0, .93, 1.8, 0, 1.19, 2.67, 0, 1.7, 1.67, 0, 2, 1.46, 0, 2.74, 1.33, 0, 3, 1.33, 0, 3.76, 1, 0, 4.07, 1.33, 0 gisquare ftgen 0, 0, 65537, 10, 1, 0 ,.333333 ,0 ,.2 ,0,.142857 ,0 ,.111111 ,0 ,.090909 ,0 ,.076923 gitri ftgen 0, 0, 65537, 10, 1, 0 ,.111 ,0 ,.04 ,0 ,.02 ,0 ,.012 ,0 ,.009 ,0 ,.007 gisaw ftgen 0,0,16384,7,1,16384,-1 gipt1 ftgen 0, 0, 65537, 10, 0, 0, 1 gipt2 ftgen 0, 0, 65537, 10, 0, 1 gipt3 ftgen 0, 0, 65537, 10, 0, 0, 0, 1 gipt4 ftgen 0, 0, 65537, 10, 0, 0, 0, 0, 0, 1 gipt5 ftgen 0, 0, 65537, 10, 0, 0, 0, 0, 0, 0, 0, 1 gipt6 ftgen 0, 0, 65537, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 gipt7 ftgen 0, 0, 65537, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 gipt8 ftgen 0, 0, 65537, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 gicosine ftgen 0, 0, 65537, 11, 1 gifof2 ftgen 0 ,0,4096, 7, 0, 4096, 1 ; Initial condition giinit ftgen 0,0, 128, 10, 1 ; Masses gimass ftgen 0,0 ,128, -7, 1, 128, 1 ; Spring matrices gispring ftgen 0,0, 16384, -23, "pwcs/string-128" ; Centering force giforce ftgen 0, 0, 128 ,-7 ,0, 128, 2 ; Damping gidamp ftgen 0, 0 ,128, -7, 1, 128, 1 ; Initial velocity givel ftgen 0, 0, 128, -7, 0, 128, 0 ; Trajectories gitraj ftgen 0, 0 ,128, -23, "pwcs/spiral-8,16,128,2,1over2" ;************************************************ ;************************************************ ;************************************************ ;************************************************ ;************************************************ gihamming ftgen 0,0,8192,20,1,1 gibartlett ftgen 0,0,8192,20,3,1 giblackman ftgen 0,0,8192,20,4,1 giBlackHarris ftgen 0,0,8192,20,5,1 gigaussian ftgen 0,0,8192,20,6,1 girectangle ftgen 0,0,8192,-20,8,.1 gisync ftgen 0,0,8192,-20,9,.75 ;************************************************ ;************************************************ ;partikkel giattack ftgen 6,0,8193,19,0.5,1,270,1 gidecay ftgen 7,0,8193,19,0.5,1,90,1 ;************************************************ ;************************************************ giblend ftgen 2, 0, 1024, -19, 1, 0.5, 270, 0.5 ;************************************************ ;platerev gipl1 ftgen 0,0,8, -2 , 0.3 , 0.3875 , 0.39274 ,0.32 , 0.85714 ,0.78548 gipl2 ftgen 0,0,8, -2 ,0.2 ,0.666667 ,1.57097 ,0.24 , 0.75 ,0.78548 ;prepiano girattle ftgen 0,0 ,8 ,2 ,1 ,0.6 ,10 ,100 ,0.001 ;; 1 rattle girubber ftgen 0,0 ,8 ,2 ,1 ,0.7 ,50 ,500 ,1000 ;; 1 rubber ;vectorial mixing opcode vectronrt,a,aaaakk ain1,ain2,ain3,ain4,kx,ky xin ;legge i parametri in entrata ;asig vectronx ain1,ain2,ain3,ain4,kx,ky k1 = (1-kx)*(1-ky) k2 = kx*(1-ky) k3 = (1-kx)*ky k4 = kx*ky k1port portk k1,.01 k2port portk k2,.01 k3port portk k3,.01 k4port portk k4,.01 aout = ((ain1*k1port + ain2*k2port + ain3*k3port + ain4*k4port)*.5) xout aout ; write output endop ;************************************************ ;Udo opcodes opcode vectron,a,aaaai ain1,ain2,ain3,ain4,irate xin ;legge i parametri in entrata ;asig vectronx ain1,ain2,ain3,ain4,irate kenvel linseg 1,p3*.45,.5,p3*.45,0 ka init 0 kx = sin(ka) ky = cos(ka) ka = ka + irate*.00001 k1 = (1-kx)*(1-ky) k2 = kx*(1-ky) k3 = (1-kx)*ky k4 = kx*ky aout = ((ain1*k1 + ain2*k2 + ain3*k3 + ain4*k4)*.5)*kenvel xout aout ; write output endop ;************************* opcode freeverbx ,a,aakkk asig1, asig2, ksize, kdamp, kdrywet xin denorm asig1 denorm asig2 aL, aR freeverb asig1, asig2, ksize, kdamp, sr, 0 aout1 = aL aout2 = ((aout1 * kdrywet ) + ((asig1*.5+asig2*.5) * (1-kdrywet)) ) xout aout2 endop ;************************* opcode vintagecho,a,aiik ;(code by Steven Cook) ;asig1,asig2 VintageEcho asource,ilevel,idelay,klowpass-filter asig,ilevl,iecho,kfilter xin idelay = 1 afdbk init 0 ; Initialize feedback ifdbk = .5 asig = asig + afdbk*ifdbk ;Sum input and feedback atemp delayr 1 ; Create 1s delay atap1 deltap .0396*idelay ; Tap 1 atap2 deltap .0662*idelay ; Tap 2 atap3 deltap .1194*idelay ; Tap 3 atap4 deltap .1726*idelay ; Tap 4 atap5 deltap .2790*idelay ; Tap 5 atap6 deltap .3328*idelay ; Tap 6 delayw asig afdbk butterlp atap6, kfilter ; Lopass filter feedback abbd1 sum atap1, atap2, atap3; Sum taps abbd2 sum atap4, atap5, atap6 ; Sum taps abbd3 butterlp abbd1, kfilter ; Lowpass filter output abbd4 butterlp abbd2, kfilter ; Lowpass filter output afxecho1 = (((abbd3*iecho) *.3)*ilevl ) afxecho2 = (((abbd4*iecho) *.3)*ilevl ) kfadecho linsegr 1, 0.01, 1, 0.33*idelay*(1+ifdbk)*(1+iecho), 0 afxL = afxecho1*kfadecho afxR = afxecho2*kfadecho xout afxL+afxR ; write output endop ;************************* opcode revsc ,a,aakkk asig1, asig2, kfb, kcut, kdrywet xin denorm asig1 denorm asig2 aL, aR reverbsc asig1, asig2, kfb, kcut, sr, 0.5,1 aout1 = aL aout2 = ((aout1 * kdrywet ) + ((asig1*.5+asig2*.5) * (1-kdrywet)) ) xout aout2 endop ;************************* opcode pan2channel ,aa,a asig xin kpan linseg 0,p3/2,1,p3/2,0 a1,a2 pan2 asig,kpan xout a1,a2 endop ;************************* opcode pan2jspline ,aa,a asig xin kpan jspline 1,1,3 a1,a2 pan2 asig,kpan xout a1,a2 endop ;************************************************ ;************************************************ ;************************************************ opcode freqshift,a,aki ain,kfreq,ifn xin ;legge i parametri in entrata areal, aimag hilbert ain asin oscili 1, kfreq, ifn acos oscili 1, kfreq , ifn, .25 amod1 = areal * acos amod2 = aimag * asin aupshift = (amod1 - amod2) * 0.7 adownshift = (amod1 + amod2) * 0.7 aout = (adownshift + aupshift)*.5 xout aout endop ;************************************************ ;************************************************ opcode simpledelay, a, aik ain, itime, kdrywet xin adel delay ain, itime aout = ((adel * kdrywet ) + (ain * (1-kdrywet)) ) *.5 ; stay triggerd until delay is nearly finished kfade linsegr 0, 0.01, 0, itime, 0 xout aout endop ;************************* opcode vcosaw ,a,kk kamp ,kcps xin asig vco2 kamp,kcps,0 xout asig endop ;************************* opcode vcosquare ,a,kkk kamp ,kcps,kpw xin asig vco2 kamp,kcps,2,kpw xout asig endop ;************************* opcode ring ,a,aa ain1,ain2 xin asig = ain1*ain2 xout asig endop ;************************* ;supercollider ugen ;((a*b) + a) ((a*b) + a + b) (a*a *b) ((a*a *b) - (a*b*b)) ;************************* opcode ring1 ,a,aa ain1,ain2 xin asig = (ain1*ain2)+ain1 xout asig endop ;************************* ;************************* opcode ring2 ,a,aa ain1,ain2 xin asig = ((ain1*ain2)+ain1+ain2) xout asig endop ;************************* opcode ring3 ,a,aa ain1,ain2 xin asig = (ain1*ain1*ain2) xout asig endop ;************************* opcode ring4 ,a,aa ain1,ain2 xin asig = ((ain1*ain1*ain2) - (ain1*ain2*ain2)) xout asig endop ;************************* opcode declick, a, a ain xin aenv linseg 0, 0.02, 1, p3 - 0.05, 1, 0.02, 0, 0.01, 0 xout ain * aenv ; apply envelope and write output endop ;************************* ;(a*a) + (b*b) opcode sumsqr ,a,aa ain1,ain2 xin asig = ((ain1*ain1) + (ain2*ain2)) xout asig endop ;************************* ;(a*a) - (b*b) opcode difsqr ,a,aa ain1,ain2 xin asig = ((ain1*ain1) - (ain2*ain2)) xout asig endop ;************************* opcode sqrsum ,a,aa ain1,ain2 xin a1 = ain1+ain2 a2 = a1*a1 xout a2 endop ;************************* opcode sqrdif ,a,aa ain1,ain2 xin a1 = ain1-ain2 a2 = a1*a1 xout a2 endop ;************************* opcode absdif ,a,aa ain1,ain2 xin asig = abs(ain1-ain2) xout asig endop ;******************************************** ;******************************************** ;***************RESONATORS OPCODES*********** ;******************************************** ;******************************************** opcode chladni_plates,a,akk ;[1, 1.72581, 5.80645, 7.41935, 13.91935] ratios asig,kpitch,kq xin a1 mode asig,kpitch*1,kq a2 mode asig,kpitch*1.72581,kq a3 mode asig,kpitch*5.80645,kq a4 mode asig,kpitch*7.41935,kq a5 mode asig,kpitch*13.91935,kq asum sum a1,a2,a3,a4,a5 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** opcode tibetan_bowl ,a,akk asig,kpitch,kq xin ;[1, 2.77828, 5.18099, 8.16289, 11.66063, 15.63801, 19.99 ratios a1 mode asig,kpitch*1,kq a2 mode asig,kpitch*2.77828,kq a3 mode asig,kpitch*5.18099,kq a4 mode asig,kpitch*8.16289,kq a5 mode asig,kpitch*11.66063,kq a6 mode asig,kpitch*15.63801,kq a7 mode asig,kpitch*19.99,kq asum sum a1,a2,a3,a4,a5,a6,a7 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** opcode tibetan_bowl2 ,a,akk asig,kpitch,kq xin ;[1, 2.66242, 4.83757, 7.51592, 10.64012, 14.21019, 18.14027] ratios a1 mode asig,kpitch*1,kq a2 mode asig,kpitch*2.66242,kq a3 mode asig,kpitch*4.83757,kq a4 mode asig,kpitch*7.51592,kq a5 mode asig,kpitch*10.64012,kq a6 mode asig,kpitch*14.21019,kq a7 mode asig,kpitch*18.14027,kq asum sum a1,a2,a3,a4,a5,a6,a7 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** opcode tibetan_bowl3 ,a,akk asig,kpitch,kq xin ;[1, 2.76515, 5.12121, 7.80681, 10.78409] ratios a1 mode asig,kpitch*1,kq a2 mode asig,kpitch*2.76515,kq a3 mode asig,kpitch*5.12121,kq a4 mode asig,kpitch*7.80681,kq a5 mode asig,kpitch*10.78409,kq asum sum a1,a2,a3,a4,a5 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** opcode small_handbell ,a,akk asig,kpitch,kq xin ;[ 1, 1.0019054878049, 1.7936737804878, 1.8009908536585, 2.5201981707317, 2.5224085365854, ; 2.9907012195122, 2.9940548780488, 3.7855182926829, 3.8061737804878, 4.5689024390244, ;4.5754573170732, 5.0296493902439, 5.0455030487805, 6.0759908536585, 5.9094512195122, ; 6.4124237804878, 6.4430640243902, 7.0826219512195, 7.0923780487805, 7.3188262195122, ;7.5551829268293 ] ratios a1 mode asig,kpitch*1,kq a2 mode asig,kpitch*1.0019054878049,kq a3 mode asig,kpitch*1.7936737804878,kq a4 mode asig,kpitch*1.8009908536585,kq a5 mode asig,kpitch*2.5201981707317,kq a6 mode asig,kpitch*2.5224085365854,kq a7 mode asig,kpitch*2.9907012195122,kq a8 mode asig,kpitch*2.9940548780488,kq a9 mode asig,kpitch*3.7855182926829,kq a10 mode asig,kpitch*3.8061737804878,kq a11 mode asig,kpitch*4.5689024390244,kq a12 mode asig,kpitch*4.5754573170732,kq a13 mode asig,kpitch*5.0296493902439,kq a14 mode asig,kpitch*5.0455030487805,kq a15 mode asig,kpitch*6.0759908536585,kq a16 mode asig,kpitch*5.9094512195122,kq a17 mode asig,kpitch*6.4124237804878,kq a18 mode asig,kpitch*6.4430640243902,kq a19 mode asig,kpitch*7.0826219512195,kq a20 mode asig,kpitch*7.0923780487805,kq a21 mode asig,kpitch*7.3188262195122,kq a22 mode asig,kpitch*7.5551829268293,kq aout = (a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15+a16+a17+a18+a19+a20+a21+a22+a22) aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** opcode spinel_sphere ,a,akk asig,kpitch,kq xin ;[ 1, 1.026513174725, 1.4224916858532, 1.4478690202098, 1.4661959580455, ; 1.499452545408, 1.7891839345101, 1.8768994627782, 1.9645945254541, 1.9786543873113, ; 2.0334612432847, 2.1452852391916, 2.1561524686621, 2.2533435661294,; ; 2.2905090816065, 2.3331798413917, 0, 2.4567715528268, 2.4925556408289, 2.5661806088514, ; 2.6055768738808, 2.6692760296751, 2.7140956766436, 2.7543617293425, 2.7710411870043 ] ratios a1 mode asig,kpitch*1,kq a2 mode asig,kpitch*1.026513174725,kq a3 mode asig,kpitch*1.4224916858532,kq a4 mode asig,kpitch*1.4478690202098,kq a5 mode asig,kpitch*1.4661959580455,kq a6 mode asig,kpitch*1.499452545408,kq a7 mode asig,kpitch*1.7891839345101,kq a8 mode asig,kpitch*1.8768994627782,kq a9 mode asig,kpitch*1.9645945254541,kq a10 mode asig,kpitch*1.9786543873113,kq a11 mode asig,kpitch*2.0334612432847,kq a12 mode asig,kpitch*2.1452852391916,kq a13 mode asig,kpitch*2.1561524686621,kq a14 mode asig,kpitch*2.2533435661294,kq a15 mode asig,kpitch*2.2905090816065,kq a16 mode asig,kpitch*2.3331798413917,kq ;a17 mode asig,kpitch*0,kq a18 mode asig,kpitch*2.4567715528268,kq a19 mode asig,kpitch*2.4925556408289,kq a20 mode asig,kpitch*2.5661806088514,kq a21 mode asig,kpitch*2.6055768738808,kq a22 mode asig,kpitch*2.6692760296751,kq a23 mode asig,kpitch*2.7140956766436,kq a24 mode asig,kpitch*2.7543617293425,kq a25 mode asig,kpitch*2.7710411870043,kq aout = (a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15+a16+a18+a19+a20+a21+a22+a22+a23+a24+a25) aout2 balance aout,asig xout aout2 ; write output endop ;********************************************************************* ;********************************************************************* ;********************************************************************* ;********************************************************************* ;********************************************************************* opcode vibraphone1 ,a,akk asig,kpitch,kq xin ;[1, 3.984, 10.668, 17.979, 23.679, 33.642] a1 mode asig,kpitch*1,kq a2 mode asig,kpitch*3.984,kq a3 mode asig,kpitch*10.668,kq a4 mode asig,kpitch*17.979,kq a5 mode asig,kpitch*23.679,kq a6 mode asig,kpitch*33.642,kq asum sum a1,a2,a3,a4,a5,a6 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************************** ;******************************************************* ;********************************************************************* ;********************************************************************* ;********************************************************************* ;********************************************************************* ;********************************************************************* opcode vibraphone2 ,a,akk asig,kpitch,kq xin ;[1, 3.997, 9.469, 15.566, 20.863, 29.440] a1 mode asig,kpitch*1,kq a2 mode asig,kpitch*3.997,kq a3 mode asig,kpitch*9.469,kq a4 mode asig,kpitch*15.566,kq a5 mode asig,kpitch*20.863,kq a6 mode asig,kpitch*29.440,kq asum sum a1,a2,a3,a4,a5,a6 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************************** ;******************************************************* opcode wine_glass ,a,akk asig,kpitch,kq xin ;[1, 2.32, 4.25, 6.63, 9.38] a1 mode asig,kpitch*1,kq a2 mode asig,kpitch*2.32,kq a3 mode asig,kpitch*4.25,kq a4 mode asig,kpitch*6.63,kq a5 mode asig,kpitch*9.38,kq asum sum a1,a2,a3,a4,a5 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;*********************************************** ;*********************************************** ;*********************************************** ;*********************************************** ;*********************************************** ;*********************************************** ;*********************************************** opcode membrane ,a,akk asig,kpitch,kq xin a1 mode asig,kpitch*1,kq a2 mode asig,kpitch*1.59334,kq a3 mode asig,kpitch*2.13555,kq a4 mode asig,kpitch*2.65307,kq a5 mode asig,kpitch*2.29542,kq a6 mode asig,kpitch*2.9173,kq a7 mode asig,kpitch*3.50015,kq a8 mode asig,kpitch*4.05893,kq a9 mode asig,kpitch*3.59848,kq a10 mode asig,kpitch*4.23044,kq a11 mode asig,kpitch*4.83189,kq a12 mode asig,kpitch*5.41212,kq a13 mode asig,kpitch*4.90328,kq a14 mode asig,kpitch*5.5404,kq a15 mode asig,kpitch*6.15261,kq a16 mode asig,kpitch*6.74621,kq aout = (a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15+a16)/15 aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;Dahina tabla ;[1, 2.89, 4.95, 6.99, 8.01, 9.02] opcode dahina_tabla,a,akk asig,kpitch,kq xin kfreq1 = 1 kfreq2 = 2.89 kfreq3 = 4.95 kfreq4 = 6.99 kfreq5 = 8.01 kfreq6 = 9.02 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq a5 mode asig,kpitch*kfreq5,kq a6 mode asig,kpitch*kfreq6,kq asum sum a1,a2,a3,a4,a5,a6 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;Bayan tabla ;[1, 2.0, 3.01, 4.01, 4.69, 5.63] opcode bayan_tabla,a,akk asig,kpitch,kq xin kfreq1 = 1 kfreq2 = 2.0 kfreq3 = 3.01 kfreq4 = 4.01 kfreq5 = 4.69 kfreq6 = 5.63 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq a5 mode asig,kpitch*kfreq5,kq a6 mode asig,kpitch*kfreq6,kq asum sum a1,a2,a3,a4,a5,a6 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;Red Cedar wood plate ;[1, 1.47, 2.09, 2.56] opcode red_cedar,a,akk asig,kpitch,kq xin kfreq1 = 1 kfreq2 = 1.47 kfreq3 = 2.09 kfreq4 = 2.56 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq asum sum a1,a2,a3,a4 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;Redwood wood plate ;[1, 1.47, 2.11, 2.57] opcode redwood,a,akk asig,kpitch,kq xin kfreq1 = 1 kfreq2 = 1.47 kfreq3 = 2.11 kfreq4 = 2.57 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq asum sum a1,a2,a3,a4 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;Douglas Fir wood plate ;[1, 1.42, 2.11, 2.47] opcode douglas_fir_wood,a,akk asig,kpitch,kq xin kfreq1 = 1 kfreq2 = 1.42 kfreq3 = 2.11 kfreq4 = 2.47 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq asum sum a1,a2,a3,a4 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;uniform wooden bar ;[1, 2.572, 4.644, 6.984, 9.723] opcode wooden_bar,a,akk asig,kpitch,kq xin kfreq1 = 1 kfreq2 = 2.572 kfreq3 = 4.644 kfreq4 = 6.984 kfreq5 = 9.723 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq a5 mode asig,kpitch*kfreq5,kq asum sum a1,a2,a3,a4,a5 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;uniform aluminum bar ;[1, 2.756, 5.423, 8.988, 13.448, 18.680] opcode aluminum_bar,a,akk asig,kpitch,kq xin kfreq1 = 1 kfreq2 = 2.756 kfreq3 = 5.423 kfreq4 = 8.988 kfreq5 = 13.448 kfreq6 = 18.680 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq a5 mode asig,kpitch*kfreq5,kq a6 mode asig,kpitch*kfreq6,kq asum sum a1,a2,a3,a4,a5,a6 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;Xylophone ;[1, 3.932, 9.538, 16.688, 24.566, 31.147] opcode xylophone,a,akk asig,kpitch,kq xin kfreq1 = 1 kfreq2 = 3.932 kfreq3 = 9.538 kfreq4 = 16.688 kfreq5 = 24.566 kfreq6 = 31.147 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq a5 mode asig,kpitch*kfreq5,kq a6 mode asig,kpitch*kfreq6,kq asum sum a1,a2,a3,a4,a5,a6 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;jegogan bars ;1 2.7 5.2 8.4 12.2 opcode jegogan_bars,a,akk asig,kpitch,kq xin kfreq1 = 1 kfreq2 = 2.7 kfreq3 = 5.2 kfreq4 = 8.4 kfreq5 = 12.2 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq a5 mode asig,kpitch*kfreq5,kq asum sum a1,a2,a3,a4,a5 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** opcode chime_tube1,a,akk asig,kpitch,kq xin kfreq1 = 0.22 kfreq2 = 0.61 kfreq3 = 1.21 kfreq4 = 2 kfreq5 = 2.99 kfreq6 = 4.17 kfreq7 = 5.56 kfreq8 = 7.14 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq a5 mode asig,kpitch*kfreq5,kq a6 mode asig,kpitch*kfreq6,kq a7 mode asig,kpitch*kfreq7,kq a8 mode asig,kpitch*kfreq8,kq asum sum a1,a2,a3,a4,a5,a6,a7,a8 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** opcode chime_tube2,a,akk asig,kpitch,kq xin kfreq1 = 0.24 kfreq2 = 0.64 kfreq3 = 1.23 kfreq4 = 2 kfreq5 = 2.91 kfreq6 = 3.96 kfreq7 = 5.12 kfreq8 = 6.37 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq a5 mode asig,kpitch*kfreq5,kq a6 mode asig,kpitch*kfreq6,kq a7 mode asig,kpitch*kfreq7,kq a8 mode asig,kpitch*kfreq8,kq asum sum a1,a2,a3,a4,a5,a6,a7,a8 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** opcode chime_tube3,a,akk asig,kpitch,kq xin kfreq1 = 0.24 kfreq2 = 0.63 kfreq3 = 1.22 kfreq4 = 2 kfreq5 = 2.93 kfreq6 = 4.01 kfreq7 = 5.21 kfreq8 = 6.50 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq a5 mode asig,kpitch*kfreq5,kq a6 mode asig,kpitch*kfreq6,kq a7 mode asig,kpitch*kfreq7,kq a8 mode asig,kpitch*kfreq8,kq asum sum a1,a2,a3,a4,a5,a6,a7,a8 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** opcode chime_tube4,a,akk asig,kpitch,kq xin kfreq1 = 0.5 kfreq2 = 1 kfreq3 = 1.2 kfreq4 = 2 kfreq5 = 2.5 kfreq6 = 3 kfreq7 = 4 kfreq8 = 5.33 kfreq9 = 6.67 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq a5 mode asig,kpitch*kfreq5,kq a6 mode asig,kpitch*kfreq6,kq a7 mode asig,kpitch*kfreq7,kq a8 mode asig,kpitch*kfreq8,kq a9 mode asig,kpitch*kfreq9,kq asum sum a1,a2,a3,a4,a5,a6,a7,a8,a9 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ;******************************************** ; ;[ 1, 3.2, 6.23, 6.27, 9.92, 14.15] ratios opcode pot_lit,a,akk asig,kpitch,kq xin kfreq1 = 1 kfreq2 = 3.2 kfreq3 = 6.23 kfreq4 = 6.27 kfreq5 = 9.92 kfreq6 = 14.15 a1 mode asig,kpitch*kfreq1,kq a2 mode asig,kpitch*kfreq2,kq a3 mode asig,kpitch*kfreq3,kq a4 mode asig,kpitch*kfreq4,kq a5 mode asig,kpitch*kfreq5,kq a6 mode asig,kpitch*kfreq6,kq asum sum a1,a2,a3,a4,a5,a6 aout = asum aout2 balance aout,asig xout aout2 ; write output endop ;******************************************** ;******************************************** ;******************************************** opcode scanned,a,kkiiiiiiii kamp, kfrq, irate, itraj,iinit,ivel,imass,ispring,iforce,idamp xin id = 2 ;scanu giinit,irate,givel,gimass,gispring,giforce,gidamp,kmass,kstif, \ ;kcentr,kdamp,ileft,iright,kpos,ky,ain,idisp,id ain = 0 scanu iinit,irate,ivel,imass,ispring,iforce,idamp,1,.1,.1,-.01,.5,.5,0,0,ain,1,id a1 scans kamp,kfrq,itraj,id xout a1 endop ;******************************************** ;******************************************** opcode scanned2,a,kkiiiiiiiia kamp, kfrq, irate, itraj,iinit,ivel,imass,ispring,iforce,idamp,ain xin id = 2 ;scanu giinit,irate,givel,gimass,gispring,giforce,gidamp,kmass,kstif, \ ;kcentr,kdamp,ileft,iright,kpos,ky,ain,idisp,id scanu iinit,irate,ivel,imass,ispring,iforce,idamp,1,.1,.1,-.01,.5,.5,0,0,ain,1,id a1 scans kamp,kfrq,itraj,id xout a1 endop ;******************************************** opcode phasemod, a,kkkkk kamp,kcar,kmodfreq,kindex,kfeedback xin gifn ftgenonce 1,0,16384,10,1 amod poscil kindex,kmodfreq,1 ;oscillatore modulante aphase phasor kcar ;generatore di frequenza per tablei acarrier init 0 ;inizializzo il carrier per il feedback acarrier tablei aphase+amod+(acarrier*kfeedback),1,1,0,1 ;car+mod+feedbk xout acarrier*kamp endop ;******************************************** opcode microsound ,a,kkkkkiiiiiiikkkk kamp,kwavfreq,krate,ksize,krndmask,iattack,idecay,icosine,iwave1,iwave2,iwave3,iwave4,kkey1 ,kkey2, kkey3, kkey4 xin kdistr = 0 ;distribuzione periodica dei grani idisttab = -1 ;(default)distribuzione dei grani(-1 si annulla) async = 0 ;no sync input kenv2amt = 0 ;nessun inviluppo secondario ienv2tab = -1 ;default inviluppo secondario ksus = 0.5 ;sustain per il singolo grano kratio = 0.5 ;bilanciamento tra attack and decay time igain = -1 ;(default) no gain per grano awavfm = 0 ksweep = 0 ;frequenza sweep (0=no sweep) istarttab = -1 ;default frequency sweep start ifreqendtab = -1 ;default frequency sweep end ifmamptab = -1 ;default FM scaling (=1) kfmenv = -1 ;default FM envelope (flat) kTrainCps = krate ;trainlet cps uguale a grain rate kpartials = 3 ;numero di parziali in trainlet kchroma = 1 ;bilanciamento di parziali in trainlet ichmasks = -1 ;(default)all grains to output 1 iwaveamp = -1 ;(default)quattro sorgenti mixate apos1 = 0 ;fase di ogni sorgente apos2 = 0 apos3 = 0 apos4 = 0 imax_grains = 100 ;massimo numero di grani a1 partikkel krate,kdistr,idisttab,async,kenv2amt,ienv2tab,\ iattack,idecay,ksus,kratio,ksize, kamp,igain,\ kwavfreq,ksweep,istarttab,ifreqendtab,awavfm,\ ifmamptab,kfmenv,icosine,kTrainCps,kpartials,\ kchroma,ichmasks,krndmask,iwave1,iwave2,iwave3,iwave4,\ iwaveamp,apos1,apos2,apos3,apos4,\ kkey1,kkey2,kkey3,kkey4,imax_grains xout a1 endop ;******************************************** ;*********************************************** ;*********************************************** opcode metalizer,a,akk asig1,kdepth,krvt xin klp1 = 1/8*kdepth klp2 = 1/13*kdepth klp3 = 1/546*kdepth klp4 = 1/739*kdepth klp5 = 1/1360 *kdepth klp6 = 1/2654*kdepth aecho1 vcomb asig1, krvt, klp1, 1 aecho2 vcomb asig1, krvt, klp2, 1 aecho1 = asig1+aecho1 aecho2 = asig1+aecho2 aecho3 vcomb aecho1, krvt, klp3, 1 aecho4 vcomb aecho1, krvt, klp4, 1 aecho5 vcomb aecho2, krvt, klp5, 1 aecho6 vcomb aecho2, krvt, klp6, 1 aout1 = (aecho1+aecho3+aecho5)*.1 aout2 = (aecho2+aecho4+aecho6)*.1 xout (aout1 +aout2)*.5 endop opcode fbkdelay, a, aki ain,kdelay,ifback xin abuf1 delayr 1000 adel1 deltap3 kdelay afeed1 = ifback * adel1 + ain delayw afeed1 xout adel1 ; write output endop ;******************************* ;******************************* opcode decimator, a, akk setksmps 1 ain, kbit, ksrate xin kbits = 2^kbit ; Bit depth (1 to 16) kfold = (sr/ksrate) ; Sample rate kin downsamp ain ; Convert to kr kin = (kin + 32768) ; Add DC to avoid (-) kin = kin*(kbits / 65536) ; Divide signal level kin = int(kin) ; Quantise aout upsamp kin ; Convert to sr aout = aout * (65536/kbits) - 32768 ; Scale and remove DC a0ut fold aout, kfold ; Resample xout a0ut endop ;******************************* ;******************************* opcode tapeloop, a, akkii asig, kpitch, ktrig, idur, ifad xin ; read input parameters aout,krec sndloop asig, kpitch, ktrig, idur, ifad xout aout ; write output endop ;******************************* ;******************************* Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here