A high-quality, local audio source separation tool that splits any MP3 or WAV file into Vocals and Instrumental tracks. Powered by Meta's Demucs AI engine.
- Web Interface: Modern React + Vite frontend with drag-and-drop file upload.
- CLI Tool: Fast command-line processing for power users.
- High Quality: Uses the
htdemucsmodel for state-of-the-art separation. - Local Processing: No data leaves your machine; everything is processed locally.
- Easy Setup: Includes a diagnostic and automated setup script for Windows.
- Backend: Python 3, FastAPI, Uvicorn
- Frontend: React, TypeScript, Vanilla CSS
- AI Engine: Meta Demucs (HTDemucs v4)
- Audio Core: PyTorch, Torchaudio, FFmpeg
- Python 3.8+
- Node.js & npm (for frontend)
- FFmpeg: Must be installed and added to your System PATH.
- Windows: Install via gyan.dev (use the "full-shared" version).
-
Run the automated setup: Double-click
setup_and_run.pyor run:python setup_and_run.py
This will install the correct, stable versions of all dependencies (PyTorch, NumPy, etc.).
-
Launch the App: Double-click
run_vocal_remover.bat. This provides a menu to start the Web UI or CLI tool instantly.
- Start the servers via the
.batfile or:# Terminal 1 cd backend && python main.py # Terminal 2 cd frontend && npm run dev
- Open
http://localhost:5173in your browser. - Upload your MP3/WAV, wait for processing, and download your tracks.
Use the dedicated CLI tool for batch processing or quick usage:
python cli/vocal_remover.py "path/to/song.mp3" -o "output_folder"backend/: FastAPI server and AI logic.frontend/: React + TypeScript web application.cli/: Standalone command-line tool.uploads/: Temporary storage for uploaded files.processed/: Output directory for separated stems.setup_and_run.py: Automated dependency manager.run_vocal_remover.bat: One-click Windows launcher.
MIT License - feel free to use and modify for your own projects!
