Tried VoiceStudio on a CPU-only WSL2 box (source + Docker) — first-run notes #1807
nineshoot
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I ran VoiceStudio (open-source ElevenLabs alternative) on a CPU-only WSL2 box — here's what happened
VoiceStudio bills itself as a fully-local ElevenLabs alternative: voice cloning, voice design, video dubbing, dictation, transcription and audiobook creation across 646 languages, no account or API key required for the local workflow. 16.7k stars, AGPL-3.0, Python + FastAPI backend with a Tauri/React desktop shell.
I skipped the packaged desktop app and tried the backend two ways, on a CPU-only WSL2 machine (no CUDA): from source, and via the documented Docker quick-start.
Setup — from source
git clone https://github.com/debpalash/VoiceStudio.git cd VoiceStudio uv sync --no-dev uv run python backend/main.py --diagnoseThe self-check came back clean:
Nice touch: it tells you up front it'll be slow on CPU instead of just quietly grinding.
Setup — Docker (once WSL integration was on)
Pulled, booted, and passed its own healthcheck in under 20 seconds — no
uv sync, no--diagnose, no local Python env to manage. This is clearly the path meant for "just try it."Pitfalls (試坑)
dockerat all — the documented one-liner silently isn't an option until you flip that toggle in Docker Desktop settings.--diagnosefrom source before the DB has ever been touched throws a noisysqlite3.OperationalError: no such table: settingstraceback to stderr — harmless (Alembic migrations run on the next real startup and create the table), but it looks scarier than it is on a first run. The Docker image sidesteps this entirely./v1/audio/speechcall is a cold-start double-download, not just a model load — true for both the source and Docker paths.Generating actual audio
Backend boots an OpenAI-compatible API on
localhost:3900, no key needed:First call (model download + load + AudioSeal watermark load + generation): 2m24s, entirely on CPU. Output: a clean 24kHz mono WAV, watermarked with AudioSeal by default — nice for a tool marketed at cloning voices.
Verdict
Genuinely local, genuinely OpenAI-API-compatible, and it degrades gracefully on hardware with no GPU — it just gets slow, not broken. The rough edges I hit were all first-run cold-start friction, not design flaws. If you have a CUDA or Apple Silicon box this would fly; on CPU it's fine for occasional use, not for anything real-time.
If you just want to poke at it: use Docker, it's the smoothest path by far. Reach for "run from source" only if you're planning to actually modify the code.
All reactions