r=(x,y=12288,z=0.5)=>(t?0:a=Array(y).fill(0),b=x%256+a.shift(),a.push(b*z),b),
Arpeg=r(5/4*[1,9/8,3/2,2,9/4,3,4,9/2,,,,,,,,,6,9/2,4,3,9/4,2,3/2,9/8][t>>10&23]*t&128,12288)/8,R=(a,b)=>Array(a).fill(b),
t?0:F=[1,1,1,...R(3,64/63),28/27,28/27,...R(4,16/15),...R(4,12/11),
9/8,9/8,9/8,8/7,8/7,8/7,7/6,7/6,...R(4,6/5),...R(4,11/9),
5/4,5/4,5/4,9/7,9/7,9/7,21/16,21/16,...R(4,4/3),...R(4,11/8),
...R(8,7/5),...R(8,3/2)],
Riser=(F[t>>13]*t*5/4&64)+(t*5/4&64),
lp=(inp,w)=>{t?0:d=0;if(w==0)return inp;out=inp+d;d=out/(1+1/w);return d/w},
r=random,
m=(t>>12&31)==16?(t>>4&255)/64:0,
Drum=((lp((r()-.5),m)*((parseInt ("8ea88e88ea8e88e8f088e8ee8cef8caa"[t>>12&31],16)>>(3&-t>>10))&1)+asin(sin(sqrt(t&16383)))/PI)+1)*64,
t>>13>=64?0:Riser/2+Arpeg+Drum
also see his orig site:
lamplight0.sakura.ne.jp/a