-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathp1.min.js
1 lines (1 loc) · 857 Bytes
/
p1.min.js
1
!function(){var e,r,a,$,t,_={},n=[...Array(12).keys()].map(e=>new AudioContext),f=(e,r)=>Math.sin(6.28*e+r),p=e=>f(e,f(e,0)**2+.75*f(e,.25)+.1*f(e,.5)),o=(e,r,a)=>{var t=e+""+r,f=_[t];if(e>=0&&!f){e=65.406*1.06**e/a;var o,i=a*r|0,s=a*(r-.002);for(o=(f=_[t]=n[0].createBuffer(1,i,a)).getChannelData(0);i--;)o[i]=(i<88?i/88.2:(1-(i-88.2)/s)**(Math.log(1e4*e)/2)**2)*p(i*e);$||n.map(e=>c(f,e,$=1))}return f},c=(e,r,a)=>{var $=r.createBufferSource();$.buffer=e,$.connect(r.destination),$.start(),a&&$.stop()};p1=$=>{var _=125,f=.5;e=$[r=0].replace(/[\!\|]/g,"").split("\n").map(e=>e>0?(_=(e=e.split("."))[0],f=e[1]/100||f):e.split("").map((a,$)=>{var t=1,n=a.charCodeAt(0);for(n-=n>90?71:65;"-"==e[$+t];)t++;return r<$&&(r=$+1),o(n,t*f*_/125,44100)})),t=0,clearInterval(a),a=setInterval(a=>{e.map((e,r)=>{e[a=t%e.length]&&c(e[a],n[3*r+t%3])}),t++,t%=r},_)}}();