Vibraphone (kind of basic)

instr 1
; parameters names
; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1
; i st dur amp ft1 ft2 atk rel fq1 hm1 hm2 pa1 pa2 del rvn rvs pcd
;;Csgrouper param recognition: 
; CSGF=3:dur=1; CSGF=4:amp=60; CSGF=5:ft1=10; CSGF=6:ft2=24; CSGF=7:atk=0; CSGF=8:rel=1; CSGF=9:fq1=440; CSGF=10:hm1=2;
; CSGF=11:hm2=-1; CSGF=12:car=1; CSGF=13:mod=11; CSGF=14:pa1=0.7; CSGF=15:pa2=0.3; CSGF=16:del=0.3; CSGF=17:rvn=0; CSGF=18:rvs=0; CSGF=19:pcd=1;
idur = p3
iamp = ampdb(p4);
ifn1 = p5 ; 
ifn2 = p6 ;
iatk = p7*idur
irel = p8*idur
ifq1 = p9;
ihm1 = p10
ihm2 = p11 
icar = p12
imod = p13 
ipn1 = abs(p14);
ipn2 = abs(p15);
idel = p16*idur; 
irvn = p17; fxnmbr.
irvs = p18; fxsend.
ipcd = p19; precedence.

kenv envlpx iamp, iatk, idur, irel, ifn2, 1, .01 ;
kfqm line ihm1, idur, ihm2
awv1 foscil kenv, ifq1, icar, imod, kfqm, ifn1
if (ipn1 < 1) goto nextpn1
 ipn1 = 1
nextpn1:
if (ipn2 < 1) igoto nextpn2
 ipn2 = 1
nextpn2:
ista = idur-idel
kpan linseg ipn1, idel, ipn2, ista, ipn2 ;
; REVERB
if (irvn == 0) goto norev 
if (irvn == 3) goto rev3 
if (irvn == 2) goto rev2 
gacmb1 = gacmb1+(awv1*irvs) ;
goto norev 
rev2: 
garvb1 = garvb1+(awv1*irvs) ;
goto norev 
rev3: 
gamet1 = gamet1+(awv1*irvs) ;
norev:
outs awv1*(1-kpan),awv1*kpan
endin
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s