How blue-ink-studio/volcano-engine-tts-ui works
This is a single-binary Go service that exposes Volcano TTS v3 through an OpenAI-compatible speech API, with guided installation and an admin UI backed by SQLite. The principal workflow is client request → HTTP routing and middleware → speech controller → voice/configuration resolution → Volcano streaming synthesis → audio response. Separate branches cover first-run setup, ongoing voice/settings management, and health/Prometheus observability. The README documents format conversion and these capabilities; sampled TTS/controller source was incomplete, so implementation-level links for those stages are limited to documented relationships.
Main entry points: router.go HTTP Router · tts.go Speech Endpoint · db.go SQLite Store · main.go Server Startup
Components 19
HTTP Runtime
- Server Startup
main.go - HTTP Router
router/router.go - Request Middleware
middleware
Speech Synthesis
- Speech Endpoint
controller/tts.go - Runtime Settings
setting - Voice Catalog
store/voices.go - Volcano Client
adapter/volcano
Setup & Admin
- Setup Workflow
controller/setup.go - Admin APIs
controller/admin.go - Settings APIs
controller/settings.go - Install Detection
installer/bootstrap.go
Persistent State
- SQLite Store
store/db.go - Schema Setup
store/setup.go
Observability
- Health Endpoint
controller - Metrics Endpoint
metrics/metrics.go - Metric Registry
telemetry/registry.go
Other components
- API Client
- Volcano TTS v3
- Metrics Scraper
Connections 26
- Server Startup → Install Detection: detects mode
- Server Startup → Runtime Settings: loads config
- Server Startup → HTTP Router: starts server
- Server Startup → Metrics Endpoint: initializes
- HTTP Router → Request Middleware: applies
- HTTP Router → Speech Endpoint: dispatches
- HTTP Router → Setup Workflow: dispatches
- HTTP Router → Admin APIs: dispatches
- HTTP Router → Settings APIs: dispatches
- HTTP Router → Health Endpoint: dispatches
- HTTP Router → Metrics Endpoint: serves
- API Client → HTTP Router: requests
- Speech Endpoint → Runtime Settings: resolves config
- Speech Endpoint → Voice Catalog: resolves voice
- Speech Endpoint → Volcano Client: requests synthesis
- Volcano Client → Volcano TTS v3: streams request
- Volcano TTS v3 → Volcano Client: returns audio
- Speech Endpoint → API Client: returns audio
- Setup Workflow → SQLite Store: persists installation
- Admin APIs → SQLite Store: manages voices
- Settings APIs → SQLite Store: updates settings
- Settings APIs → Runtime Settings: reloads runtime
- Install Detection → SQLite Store: opens database
- Schema Setup → SQLite Store: initializes schema
- Metrics Endpoint → Metric Registry: exports metrics
- Metrics Scraper → HTTP Router: scrapes