* docs: audit mdx docs against multi-engine backend and refresh stale content Rewrote developer-facing docs that predated the TTSBackend Protocol / ModelConfig registry refactor (architecture, tts-generation, model-management, transcription). Updated user-facing docs to reflect all seven shipped engines (Qwen, Qwen CustomVoice, LuxTTS, Chatterbox, Chatterbox Turbo, TADA, Kokoro) instead of the outdated "5 engines" claim. Also fixes: - Stale app identifier (com.voicebox.app → sh.voicebox.app) - CUDA backend update flow (now two-archive split, not N-way chunks) - Whisper model list (removed tiny, added turbo) - Broken /development/ and /guides/ route links - Stale just commands and install steps (missing --no-deps chatterbox/tada) - Removed ASCII art diagrams from README and stories.mdx - History Generation schema sync with DB model Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * docs: add DeepWiki badge to README Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * docs: address PR review feedback - architecture.mdx: fix backends/ file list (remove nonexistent qwen_backend.py, rename tada_backend.py → hume_backend.py) - model-management.mdx: Kokoro language count 9 → 8 (matches ModelConfig) - model-management.mdx: ProgressManager path services/ → utils/ - tts-generation.mdx: ModelConfig example uses field(default_factory=...) — mutable default would raise at runtime - tts-generation.mdx: "1080p samples" → "on CUDA" (1080p is video, not audio) - PROJECT_STATUS.md: replace ASCII architecture diagram with prose (matches no-ASCII-art rule) Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * fix(app): guard against undefined engine in FloatingGenerateBox preset check form.getValues('engine') returns string | undefined; Set<string>.has() rejects undefined under strict mode. Added a truthy guard before the preset lookup. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
7.1 KiB
title, description
| title | description |
|---|---|
| Troubleshooting Guide | Common issues and solutions for Voicebox |
Common issues and solutions for Voicebox.
Installation Issues
macOS: "Voicebox cannot be opened because it is from an unidentified developer"
Solution:
- Right-click the
.dmgfile - Select "Open"
- Click "Open" in the security dialog
- Alternatively, go to System Settings → Privacy & Security → Allow Voicebox
Windows: "Windows protected your PC"
Solution:
- Click "More info"
- Click "Run anyway"
- Windows Defender may flag new software; this is normal for unsigned apps
Linux: AppImage won't run
Solution:
chmod +x voicebox-*.AppImage
./voicebox-*.AppImage
Runtime Issues
Server won't start
Symptoms: App opens but shows "Server not connected"
Solutions:
-
Check Python installation
python --version # Should be 3.11+ -
Check server binary exists
- Look in
tauri/src-tauri/binaries/for your platform - Binary should match your system architecture
- Look in
-
Check permissions
# macOS/Linux chmod +x tauri/src-tauri/binaries/voicebox-server-* -
Check logs
- macOS: Open Console.app and search for "voicebox"
- Linux: Check
~/.local/share/voicebox/for logs - Windows: Check Event Viewer
"Model download failed"
Symptoms: First generation fails with download error
Solutions:
-
Check internet connection
- Models download from HuggingFace Hub (~2-4GB)
- First download may take several minutes
-
Check disk space
- Models are cached in
~/.cache/huggingface/ - Ensure at least 5GB free space
- Models are cached in
-
Manual download (if automatic fails)
pip install huggingface_hub huggingface-cli download Qwen/Qwen3-TTS-12Hz-1.7B-Base
"Out of memory" errors
Symptoms: Generation fails with CUDA/VRAM errors
Solutions:
-
Use smaller model
- Switch to 0.6B model instead of 1.7B
- Settings → Model Management → Load 0.6B
-
Close other applications
- Free up GPU memory
- Close browser tabs, other ML apps
-
Use CPU mode
- Slower but works without GPU
- Backend automatically falls back to CPU
MLX "Failed to load the default metallib" error (Apple Silicon)
Symptoms: Generation fails with "library not found" or "metallib" errors
Solutions:
-
Rebuild server binary
just build-serverThe build script automatically includes MLX Metal shader libraries on Apple Silicon.
-
Check MLX installation
pip install -r backend/requirements-mlx.txt -
Verify backend detection
- Check server logs for "Backend: MLX"
- If showing "Backend: PYTORCH", MLX may not be installed correctly
Audio playback issues
Symptoms: Generated audio won't play
Solutions:
-
Check audio format
- Audio is saved as WAV files
- Ensure your system supports WAV playback
-
Try downloading audio
- Right-click → Download
- Play in external player
-
Check browser permissions (web version)
- Allow audio autoplay in browser settings
Slow generation
Symptoms: Generation takes >30 seconds
Solutions:
-
Check backend type (Apple Silicon)
- Check Settings → Server Status
- Should show "Backend: MLX" on Apple Silicon
- If showing "Backend: PYTORCH", install MLX:
pip install -r backend/requirements-mlx.txt - MLX provides 4-5x faster inference on Apple Silicon
-
Use GPU (if available)
- Check Settings → Server Status
- Should show "GPU available: true"
- Apple Silicon: Should show "Metal (Apple Silicon via MLX)"
- Windows/Linux: Should show "CUDA" if GPU available
-
Enable caching
- Voice prompts are cached automatically
- Second generation with same voice should be faster
-
Use smaller model
- 0.6B model is faster than 1.7B
- Quality difference is minimal for most voices
-
Check system resources
- Close other CPU/GPU intensive apps
- Ensure adequate RAM (8GB+ recommended)
API Issues
"Connection refused" when using API
Solutions:
-
Check server is running
curl http://localhost:17493/health -
Check remote mode
- If connecting remotely, ensure server is started with
--host 0.0.0.0 - Check firewall settings
- If connecting remotely, ensure server is started with
-
Check port availability
- The current local app and dev workflow uses port 17493 by default
- Ensure no other service is using it
CORS errors in browser
Solutions:
-
Use desktop app (recommended)
- Desktop app doesn't have CORS restrictions
-
Configure CORS (for web deployment)
- Update
backend/main.pyCORS settings - Add your domain to allowed origins
- Update
Update Issues
"Update check failed"
Solutions:
-
Check internet connection
- Updates are fetched from GitHub releases
-
Check GitHub access
- Ensure
github.comis accessible - Check firewall/proxy settings
- Ensure
-
Manual update
- Download latest release from GitHub
- Install manually
"Invalid signature" error
Solutions:
-
Re-download installer
- Signature may be corrupted
- Download fresh copy from GitHub
-
Check release integrity
- Verify
.sigfile matches installer - Report issue if signature is invalid
- Verify
Data Issues
Profiles disappeared
Solutions:
-
Check data directory
- macOS:
~/Library/Application Support/sh.voicebox.app/ - Windows:
%APPDATA%/sh.voicebox.app/ - Linux:
~/.config/sh.voicebox.app/
- macOS:
-
Check database
- Database:
data/voicebox.db - Ensure file exists and is readable
- Database:
-
Restore from backup
- Profiles can be exported/imported
- Check for backup files
"Database locked" error
Solutions:
-
Close other instances
- Ensure only one Voicebox instance is running
-
Restart app
- Close and reopen Voicebox
-
Check file permissions
- Ensure database file is writable
- Check directory permissions
Development Issues
Build fails
Solutions:
-
Check Rust installation
rustc --version rustup update -
Check Tauri dependencies
cd tauri bun install -
Clean build
cd tauri/src-tauri cargo clean cd ../.. just build
API client generation fails
Solutions:
-
Start backend server
just dev-backend -
Check OpenAPI endpoint
curl http://localhost:17493/openapi.json -
Regenerate client
just generate-api
Still Having Issues?
-
Check existing issues
- Search GitHub issues for similar problems
- Check closed issues for solutions
-
Create new issue
- Include:
- OS and version
- Voicebox version
- Steps to reproduce
- Error messages/logs
- Screenshots (if applicable)
- Include:
-
Get help
- Check documentation in
docs/ - Review
backend/README.mdfor API details - See
CONTRIBUTING.mdfor development help
- Check documentation in
For more help, open an issue on GitHub.