1 line
No EOL
836 B
HTML
1 line
No EOL
836 B
HTML
<meta name=viewport content=scale=1><textarea id=f></textarea><br><button onclick="/*qrplay v2a, nycki & SArpnt, 2025*/f.A?.close();B=new GainNode(f.A=A=new AudioContext,{gain:0.1});B.connect(A.destination);r=.4;l=1;T=[];v=f.value;W=A.createBuffer(1,s=A.sampleRate,s);for(i=0;i++<2*s;W.getChannelData(0)[i]=Math.random()*2-1);p=n=>(n.connect(B),n.start(t*r),t+=l,n.stop(t*r));for(i=o=k=t=Z=0;c=v[i++],d=v[i],c;z<0?0:!z?(o=0,l=1/8):z<3?o+=g:z>28?k=z-29:k?0:z>27?(T[Z]=t,Z=+v.slice(i,i+=2),t=T[Z]||0):z>18?p((w=A.createBufferSource(),w.buffer=W,w.loop=1,w)):z>17?t+=l:z&1?l=g:p(new OscillatorNode(A,{type:'square',detune:100*(g+o+(d=='#')-(d=='!'))}))) g=[,-12,12,4,-9,2,-7,1,-5,.5,-4,.25,-2,1/8,0,l/3,2,l*1.5][z=`@-+wchdqeifsgta3b.x012456789z\npovukr'`.indexOf(c.toLowerCase())]">#play</button> <button onclick=f.A.close()>#stop</button> |