Vocals Out, Music Stays.
جداسازی وکال از هر آهنگ، کاملاً داخل مرورگر شما.
Official codebase for VocalSplitter: Local Vocal Separation with HTDemucs in the Browser
Sajad Kazemi
Built with ONNX Runtime Web · WebGPU + WASM fallback
Search any song by how it sounds, not by what service you pay for.
🟢 build passing | 🟣 demo local-install | 🟢 status live | 💬 telegram join | 🟠 license MIT
What is it · Hear the difference · How it works · Install
🇮🇷 راهنمای فارسی: README-FA.md
Separate vocals from music locally in the browser with the HTDemucs model. No paid API, no subscription, no audio upload.
- Input via popup, resampled to 44.1 kHz
- Runs Demucs (
demucs-web) with ONNX Runtime Web (WebGPU, fallback to WASM) - Outputs
*_vocals.wav+*_instrumental.wav - First run downloads ~172MB model from Hugging Face and caches it in IndexedDB:
https://huggingface.co/timcsy/demucs-web-onnx/resolve/main/htdemucs_embedded.onnx
npm installnpm run build- Go to
chrome://extensions, enable Developer mode - Load unpacked → select the
dist/folder - Pin Vocal Splitter — Local and pick an audio file from the popup
npm install
npm run build- Heavy model: speed depends on CPU/GPU/RAM and track length. Keep the popup open until it finishes.
- Output is WAV (use Audacity/FFmpeg for MP3).
- May be imperfect on live recordings, heavy effects, choirs, or human-like instruments.
Only the user-selected file is read. No access to history, cookies, or tabs. Network permission is only for downloading the public model.
Processing core from demucs-web (MIT) + ONNX Runtime Web. Check model license before public distribution.
جداسازی وکال از موزیک بدون API و بدون آپلود، با مدل HTDemucs داخل مرورگر. در اجرای اول مدل ~۱۷۲ مگابایتی از Hugging Face دانلود و در IndexedDB کش میشود.
