How itsmetoso/voicestudio works
VoiceStudio is a local-first speech creation application: users work in the desktop UI, which calls a local backend API to synthesize, transcribe, dub, and manage projects. Its documented workflows include voice cloning/design, dubbing, dictation, stories and audiobooks, and batch jobs; model management and optional remote workers extend the core. The graph reflects README-described capabilities and the supplied source excerpts; wiring for unsampled routes and services is shown only where the product workflow is documented.
Main entry points: client.ts API client · dub_pipeline.py Dub pipeline · tts_backend.py TTS backend · generation.py Generation routes
Components 24
Desktop experience
- Studio UI
frontend/src/App.jsx - Dubbing workflow
frontend/src/components/dub/DubPipelineStepper.jsx - Engine controls
frontend/src/components/EngineQuickSwitch.jsx - API client
frontend/src/api/client.ts
Local API
- Generation routes
backend/api/routers/generation.py - Dubbing routes
backend/api/routers/dub_core.py - Dictation routes
backend/api/routers/dictation.py - Audiobook routes
backend/api/routers/audiobook.py - Batch routes
backend/api/routers/batch.py - Diagnostics
backend/core/diagnose.py
Speech and media
- Dub pipeline
backend/services/dub_pipeline.py - TTS backend
backend/services/tts_backend.py - ASR backend
backend/services/asr_backend.py - Translation
backend/services/translator.py - Audiobook service
backend/services/audiobook.py - Audio watermark
backend/services/watermark.py
Models and compute
- Engine routing
backend/services/engine_routing.py - Speech engines
backend/engines/__init__.py - Model management
backend/services/model_manager.py - Remote workers
backend/worker/service.py - Local app data
backend/core/db.py
Integrations
- MCP server
backend/mcp_server.py
Other components
- Studio user
- Model providers
Connections 31
- Studio user → Studio UI: uses
- Studio UI → API client: calls API
- Dubbing workflow → API client: calls API
- Engine controls → API client: selects engines
- API client → Generation routes: HTTP requests
- API client → Dubbing routes: HTTP requests
- API client → Dictation routes: HTTP requests
- API client → Audiobook routes: HTTP requests
- API client → Batch routes: HTTP requests
- Generation routes → TTS backend: synthesizes
- Dubbing routes → Dub pipeline: runs pipeline
- Dub pipeline → ASR backend: transcribes
- Dub pipeline → Translation: translates
- Dub pipeline → TTS backend: generates audio
- Dictation routes → ASR backend: transcribes
- Audiobook routes → Audiobook service: renders books
- Audiobook service → TTS backend: synthesizes chapters
- Batch routes → TTS backend: runs jobs
- TTS backend → Engine routing: selects compute
- ASR backend → Engine routing: selects compute
- Engine routing → Speech engines: dispatches
- Engine controls → Model management: manages models
- Model management → Model providers: downloads models
- Remote workers → Engine routing: executes remotely
- Dubbing routes → Audio watermark: watermarks audio
- MCP server → Generation routes: exposes tools
- MCP server → Dictation routes: exposes tools
- API client → Diagnostics: requests checks
- Generation routes → Local app data: persists output
- Dub pipeline → Local app data: persists jobs
- Audiobook service → Local app data: stores projects