nycki.net/static/qrplay/golf.html
nycki 05d69fdefd
All checks were successful
/ build (push) Successful in 33s
rewrite with SArpnt's help
2025-07-06 23:48:33 -07:00

27 lines
No EOL
602 B
HTML

<!-- https://bark.lgbt/@SArpnt@fe.disroot.org/114810256295973439 -->
<textarea onblur='
v=this.value;
A=new AudioContext;
for(
i=t=o=0,l=1;
c=v[i++],d=v[i],c;
z<0?0: // no match
z>17?t+=l: // rest
z<4? // @-+
z?o+=g: // change octave
(o=0,l=1/8): // @
z&1?l=g: // change speed
( // note
a=new OscillatorNode(A,{
type:`square`,
detune:100*(g+o+(d==`#`)-(d==`!`)) // # sharp or ! flat
}),
a.connect(A.destination),
a.start(t*.4),
t+=l,
a.stop(t*.4)
)
)
g=[,-12,12,4,-9,2,-7,1,-5,.5,-4,.25,-2,1/8,0,l/3,2,l*1.5][z=`@-+wchdqeifsgta3b.x012456789`.indexOf(c.toLowerCase())]
'>