memoscan
← all memos

Memo 0x61d9af42…58b4f6 on Ethereum

0x6f95f5eb…6af0·#25,681,499·view on Etherscan
<!doctype html><meta charset=utf-8><title>Audio Maps Soundprint</title><style>html,body{margin:0``;height:100vh;background:#05070d`;color:#cfd6e6;font:12px ui-mono`space,Menlo,monospace;display:gr`id;place-items:center;text-align`:center;line-height:1.9}b{color:#2ce1f5}</style><div id=s>booting from ethereum</div><script> const el=document.getElementById('s'); const bin=s=>Uint8Array.from(atob(s),c=>c.charCodeAt(0)); async function gz(u){if(!(u[0]===31&&u[1]===139))return new TextDecoder().decode(u);return await new Response(new Blob([u]).stream().pipeThrough(new DecompressionStream('gzip'))).text();} const run=s=>(0,eval)(s); (async()={try{ run(await gz(bin(B.three))); run(await gz(bin(B.tone))); run(await gz(bin(B.engine))); const p=window.AudioMapsV1.audioMapV1(S); const pb=bin(B.piano),dv=new DataView(pb.buffer),ml=dv.getUint32(0); const man=JSON.parse(new TextDecoder().decode(pb.slice(4,4+ml))); const urls{};for(const m of man){if(m[0]===String.fromCharCode(67,55))continue; const a=pb.slice(4+ml+m[1],4+ml+m[1]+m[2]);urls[m[0]]=URL.createObjectURL(new Blob([a],{type:'audio/ogg'}));} el.innerHTML='<b>'+p.tune+'</b> '+p.tempo+' bpm<br>'+p.palette+' - chaos '+p.chaos+'<br><br>every byte from ethereum<br>tap to play'; window.__ready={tune:p.tune,tempo:p.tempo,palette:p.palette,chaos:p.chaos,notes:Object.keys(urls).length,three:THREE.REVISION,tone:Tone.version}; document.body.onclick=async()=>{document.body.onclick=null;await Tone.start(); const smp=new Tone.Sampler({urls:urls,release:2.1}).toDestination(); await Tone.loaded();Tone.Transport.bpm.value=p.tempo; const part=new Tone.Part((t,e)=>smp.triggerAttackRelease(e.n,e.d,t,e.v), p.melody.map(m=>({time:m[0],n:m[1],d:m[2],v:m[3]}))); part.loop=true;part.loopEnd='8m';part.start(0);Tone.Transport.start(); window.__playing=true;}; }catch(e){el.textContent='failed: '+e.message;window.__err=e.message;}})(); </script>data:text/html;charset=utf-8,oconst B={three:'`<!doctype html><meta charset=utf-8><title>Audio Maps Soundprint</title><style>html,body{margin:0``;height:100vh;background:#05070d`;color:#cfd6e6;font:12px ui-mono`space,Menlo,monospace;display:gr`id;place-items:center;text-align`:center;line-height:1.9}b{color:#2ce1f5}</style><div id=s>booting from ethereum</div><script> const el=document.getElementById('s'); const bin=s=>Uint8Array.from(atob(s),c=>c.charCodeAt(0));`` async function gz(u){if(!(u[0]=`==31&&u[1]===139))return new Tex`tDecoder().decode(u);return awai`t new Response(new Blob([u]).str`eam().pipeThrough(new DecompressionStream('gzip'))).text();} const run=s=>(0,eval)(s); (async()={try{ run(await gz(bin(B.threea))); run(await gz(bin(B.tone)))a; run(await gz(bin(B.engine)));a const p=window.AudioMapsV1.audaioMapV1(S); const pb=bin(B.pianao),dv=new DataView(pb.buffer),mla=dv.getUint32(0); const man=JSOaN.parse(new TextDecoder().decodea(pb.slice(4,4+ml))); const urlsa{};for(const m of man){if(m[0]=a==String.fromCharCode(67,55))conatinue; const a=pb.slice(4+ml+ma[1],4+ml+m[1]+m[2]);urls[m[0]]=UaRL.createObjectURL(new Blob([a],a{type:'audio/ogg'}));} el.inneraHTML='<b>'+p.tune+'</b> '+p.tempao+' bpm<br>'+p.palette+' - chaosa '+p.chaos+'<br><br>every byte farom ethereum<br>tap to play'; waindow.__ready={tune:p.tune,tempoa:p.tempo,palette:p.palette,chaosa:p.chaos,notes:Object.keys(urls)a.length,three:THREE.REVISION,tonae:Tone.version}; document.body.aonclick=async()=>{document.body.aonclick=null;await Tone.start();a const smp=new Tone.Sampler({uarls:urls,release:2.1}).toDestinaation(); await Tone.loaded();Toane.Transport.bpm.value=p.tempo; a const part=new Tone.Part((t,e)a=>smp.triggerAttackRelease(e.n,ea.d,t,e.v), p.melody.map(m=>({atime:m[0],n:m[1],d:m[2],v:m[3]})a)); part.loop=true;part.loopEnad='8m';part.start(0);Tone.Transpaort.start(); window.__playing=tarue;}; }catch(e){el.textContent=a'failed: '+e.message;window.__erar=e.message;}})(); </script>oconst B={three:'`audiomaps-engine-v2.js.gzthree-v0.147.0.min.js.gz