Download example.html from magenta-community/magenta-rt-stack: direct link, hf CLI and curl.
- Browser
- Download file 1.88 kB
-
https://huggingface.co/spaces/magenta-community/magenta-rt-stack/resolve/main/example.html
- Command line
-
hf download hf://spaces/magenta-community/magenta-rt-stack/example.html
-
curl -L -o example.html https://huggingface.co/spaces/magenta-community/magenta-rt-stack/resolve/main/example.html
1.88 kB
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8"/> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> | |
| <title>Magenta RT — minimal</title> | |
| <style> | |
| body{font:15px/1.5 system-ui,sans-serif;max-width:560px;margin:60px auto;padding:0 20px;color:#3a2e22;} | |
| h1{font-size:22px;} | |
| input,button{font:inherit;padding:9px 14px;border-radius:10px;border:1px solid #e3d3bd;} | |
| input{width:100%;margin:10px 0;} | |
| button{cursor:pointer;background:#f97316;color:#fff;border:none;font-weight:700;} | |
| button.stop{background:#fff;color:#3a2e22;border:1px solid #e3d3bd;} | |
| #badge{display:inline-block;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:800; | |
| background:#ecfccb;color:#3f6212;border:1px solid #bef264;} | |
| #badge.warn{background:#fef2f2;color:#b91c1c;border-color:#fca5a5;} | |
| #status{color:#9a7b5a;margin-top:12px;min-height:18px;} | |
| </style> | |
| </head> | |
| <body> | |
| <h1>🍊 Magenta RT</h1> | |
| <span id="badge">WebGPU</span> | |
| <input id="styleInput" placeholder="style… e.g. lo-fi hip hop" value="lo-fi hip hop"/> | |
| <button id="playBtn">▶ Play</button> | |
| <button id="stopBtn" class="stop">■ Stop</button> | |
| <div id="status">press Play to load…</div> | |
| <script type="module"> | |
| import { MagentaRT } from "./magenta-rt.mjs"; | |
| const badge=document.getElementById("badge"); | |
| if(!navigator.gpu){ badge.className="warn"; badge.textContent="WebGPU not available"; } | |
| let mrt; | |
| playBtn.onclick = async () => { | |
| if(!mrt){ mrt = await MagentaRT.load({precision:"q4", onProgress:(f,l)=>status.textContent=`${l} ${(f*100)|0}%`}); } | |
| await mrt.setStyle(styleInput.value || "lo-fi hip hop"); | |
| await mrt.play(); | |
| status.textContent="playing — edit the style live"; | |
| }; | |
| styleInput.onchange = () => mrt && mrt.setStyle(styleInput.value); | |
| stopBtn.onclick = () => { if(mrt){ mrt.stop(); status.textContent="stopped"; } }; | |
| </script> | |
| </body> | |
| </html> | |