Runtime
Runtime
Core Flow
- A client connects to
voxdover local WebSocket JSON-RPC. - The runtime resolves health, model state, and optional warm-up state.
- The client triggers file transcription or a live session.
VoxEngineruns Parakeet locally and returns transcript text plus stage metrics.- The runtime records a tagged performance sample to
~/.vox/performance.jsonl.
Warm-Up Semantics
Warm-up is public runtime behavior, not a hidden side effect.
Available RPC surfaces:
warmup.statuswarmup.startwarmup.schedule
This allows apps to:
- warm immediately when a user opens a dictation affordance
- schedule warm-up shortly before expected use
- observe whether a model is already hot
Typical usage pattern:
- The app creates a
VoxClientwith a stableclientId - The app schedules or starts warm-up when the user opens a voice affordance
- The app issues
transcribe.fileor a live session request after the runtime is hot
File Transcription
transcribe.file is the cleanest path for benchmarks and end-to-end verification because it removes microphone capture from the measurement path.
The runtime returns:
- transcript text
modelId- elapsed runtime
- stage-level metrics when requested or available
Route Semantics
Current route names worth preserving:
transcribe.filetranscribe.startSessiontranscribe.stopSessiontranscribe.cancelSessionwarmup.statuswarmup.startwarmup.schedule
These route names matter because they are also telemetry dimensions.
Live Sessions
Live sessions are coordinated in VoxService.
Key properties:
- one active session at a time today
- session ownership is associated with both
connectionIDandclientId - stop/cancel semantics are explicit
- final transcript events include metrics
Important Swift entry points
swift/Sources/voxd/main.swiftswift/Sources/VoxService/VoxRuntimeService.swiftswift/Sources/VoxService/LiveSessionCoordinator.swiftswift/Sources/VoxService/WarmupCoordinator.swiftswift/Sources/VoxEngine/ParakeetProvider.swift