X-vector
x-vector is the fleet's embedding workbench for voice x-vectors. Analyze, visualize, and create speaker embeddings; blend and synthesize.
Stack: Rust/WASM frontend (egui, ONNX Runtime Web) + optional Python backend (FastAPI, Postgres+pgvector). Private repo.
Frontend-first — the ONNX speaker encoder runs entirely in-browser, so core workflows need nothing but static file hosting.
Features
- 3D / 2D embedding visualization — PCA, t-SNE, UMAP projections.
- In-browser voice embedding — ONNX Runtime Web, auto-loads on startup.
- Microphone recording — record and embed voices directly in the browser.
- Voice blending — SLERP interpolation (2 voices) or N-voice weighted blend.
- Speech synthesis — via vLLM-omni TTS API (server mode only).
- Workspace export/import —
.xvsParquet format. - Annotation — label voices, KNN classification.
- Dimension analysis — find embedding dimensions that separate voice categories.
- Voice design — amplify or attenuate specific voice characteristics.
- SafeTensors — interop with HuggingFace models.
Models
| Model | HuggingFace | Dim |
|---|---|---|
| 0.6B | marksverdhei/Qwen3-Voice-Embedding-12Hz-0.6B | 1024 |
| 1.7B | marksverdhei/Qwen3-Voice-Embedding-12Hz-1.7B | 2048 |
Only *-Base model variants work with the speaker_embedding TTS field. The *-customvoice and *-voicedesign variants do not support it.
Capability split
Frontend-native: ONNX embedding, blending, projections, .xvs import/export, standalone hosting, local annotation, browser-local persistence.
Backend-only: PostgreSQL persistence, runtime database config, server-side TTS proxy via vLLM, SafeTensors import/export endpoints.
Sources
See also
- trost — VibeVoice TTS API (consumes voice embeddings for cloning).
- discord-bot — voice cloning surface (
/clone).