Windows
Windows¶
This doc covers the installation of main karaoke application on Windows, for Demucs service, refer to Demucs service.
1. Download Python/UV and dependencies¶
- Python 3.11 or later, make sure to check "Add Python to PATH" during installation.
- UV
- ffmpeg 6.0 or later, add to PATH.
- Deno add to PATH, only if needed.
2. Add binary to PATH¶
Open "Edit the system environment variables" and add the following to PATH:
C:\Tools\ffmpeg\bin(or wherever you installed ffmpeg, ffprobe, and ffplay.exe)- Deno path if needed, for example
C:\Tools\deno
Verify on the command line:
3. Download and setup the application¶
git clone https://github.com/vttc08/demucs-karaoke-app.git
cd demucs-karaoke-app
uv venv
uv pip install -e .
Tip
If git is not available, you can download the zip from GitHub and extract it.
Note
The default installation does not include numpy and scipy, which are required for vocal sync. If you need vocal sync, install the vocal-sync extra:
4. Build documentation¶
For non-Docker setup, the static documentation is not included. It's fine to run the application without it and use the online documentation. To build the documentation, install mkdocs and mkdocs-material:
uv pip install mkdocs mkdocs-material mkdocs-minify-plugin mkdocs-static-i18n
uv run scripts/build_docs.py
5. Configure the environment¶
The default environment configuration should work for most use cases. You can review the detailed configuration in the Settings page.
6. Running the application¶
For unattended startup, use Task Scheduler or a service wrapper such as NSSM. Store media, cache, logs, and the SQLite database under a directory that the service account can read and write.
7. Configure the admin user and default presets¶
While the application is running, open another PowerShell window in the application directory. Create the first admin user and install the default stage presets:
uv run python scripts/admin_user.py create --username admin
uv run python scripts/default_presets.py
Once the application is running, open http://<your-server-ip>:8000/login and log in with the admin user you just created.