OmniVoice-Studio / docs /install /windows.md
LΓͺ Phi Nam
Deploy to HF Space
94004a2
|
Raw
History Blame Contribute Delete
3.83 kB
# OmniVoice Studio β€” Install on Windows
This page is self-contained: follow it top to bottom and you'll end up with a
working OmniVoice Studio install on Windows 10 / 11 (x64).
## Prerequisites
- **Windows 10 (21H2 or newer) or Windows 11**, x64.
- **Python 3.11+** β€” `winget install Python.Python.3.11` (or download from
[python.org](https://www.python.org/downloads/windows/)).
- **Microsoft C++ Build Tools** β€” required by some PyPI source distributions
(`pyannote.audio`, occasional torch wheel rebuild). Install via the
[Visual Studio 2022 Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)
with the **"Desktop development with C++"** workload checked.
- **Bun** β€” `powershell -c "irm bun.sh/install.ps1 | iex"`.
- **FFmpeg** β€” `winget install Gyan.FFmpeg`.
## Install (from source)
Run from a regular (non-admin) PowerShell:
```bash
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
bun install
bun run desktop-prod
```
The first launch creates the Python venv via `uv`, syncs deps, and downloads
model weights. The splash screen shows progress.
## Install (pre-built MSI)
Download the latest MSI from the
[Releases page](https://github.com/debpalash/OmniVoice-Studio/releases/latest),
run it, follow the wizard. The shortcut lands in the Start menu as
**OmniVoice Studio**.
## HF_TOKEN persistence
The **recommended path** is the in-app **Settings β†’ API Keys** panel: it
writes the token to OmniVoice's encrypted SQLite store *and* to the canonical
`huggingface_hub` location, so every subprocess the app spawns picks it up.
If you prefer setting an environment variable directly (power-user / CLI runs
from source), use **PowerShell** with `[Environment]::SetEnvironmentVariable`:
```powershell
[Environment]::SetEnvironmentVariable("HF_TOKEN","hf_yourtokenhere","User")
```
That writes to the user-scope environment and is picked up by every **new**
shell β€” close and reopen PowerShell or your terminal to see it.
> **Don't use `setx`.** `setx HF_TOKEN "hf_..."` works in theory but has
> three real gotchas that produce "I set it but it's empty" bug reports:
> it doesn't propagate to the current shell, it silently truncates values
> longer than 1024 chars, and it doesn't escape `%` characters. Use the
> in-app panel or the PowerShell one-liner above.
Full HF token guide: [docs/setup/huggingface-token.md](../setup/huggingface-token.md).
## Triton / torch.compile OOM
<a id="torch-compile-oom"></a>
On Windows, certain TTS engines (notably IndexTTS-2 and some CosyVoice paths)
trigger `torch.compile` / Triton kernel compilation during the first
synthesise call. On machines with <16 GB VRAM, that compile step can OOM
*before* the audio render even begins β€” the error usually surfaces as
`OutOfMemoryError: CUDA out of memory` or `RuntimeError: Triton compilation
failed`.
**The one-click fix:** open **Settings β†’ Performance** in the app and toggle
**"Disable torch.compile (Windows)"** on. That sets the
`TORCH_COMPILE_DISABLE=1` env var on every engine subprocess OmniVoice spawns,
which falls back to the eager-mode kernel path. You'll lose a few percent of
peak throughput in exchange for the engine actually loading.
**From the CLI / from source:** set the env var manually before launching:
```powershell
$env:TORCH_COMPILE_DISABLE = "1"
bun run desktop-prod
```
This setting is a no-op on macOS and Linux (the OOM is Windows-specific β€”
the `torch.compile` kernel cache behaves differently on the other platforms).
Tracking issue: [#65](https://github.com/debpalash/OmniVoice-Studio/issues/65).
## Hugging Face token (optional but recommended)
See [docs/setup/huggingface-token.md](../setup/huggingface-token.md).
## Troubleshooting
Hit a wall? See [docs/install/troubleshooting.md](troubleshooting.md).