docs: deep-dive UI/UX and feature-parity comparison with VoiceStudio

Grounded in VoiceStudio's own published screenshots (voice cloning, voice
design, dubbing, model management) and this app's actual served nav/routes
-- no live browser render was available this session, stated explicitly.
Identifies real gaps (video dubbing, live dictation, telephony
integrations, offline translation, model-pack UI, command palette, a
curated voice-design preset gallery) and two low-risk ideas worth adopting
(preset gallery, compute-device indicator).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
mARTin-B78 2026-09-29 13:46:14 +02:00
parent ed41cbadf0
commit df4bfc934a

View File

@ -46,7 +46,7 @@ an **MCP server** for agents. Default TTS engine is k2-fsa/OmniVoice; 15+ other
| PDF/magazine → audiobook pipeline | **Yes — this app's whole magazine feature**: vision OCR, box/region review UI, undo/redo, spelling & acronym agents, article linking, per-article MP3 | **No equivalent** — no document ingestion or layout review of any kind |
| Video dubbing | No | Yes |
| Live dictation | No | Yes (floating widget, Rust sidecar) |
| Transcription | Basic (Whisper via conversation routes) | Multiple ASR engines, 646 languages, speaker diarization |
| Transcription | Whisper (conversation routes); speaker diarization exists too (`routes/stt.py`, pyannote/speaker-diarization-3.1, gated behind accepting that model's HF license) | Multiple ASR engines, 646 languages, speaker diarization |
| REST API | Yes | Yes |
| MCP server | Yes (`speak`, `transcribe`, `list_captures`, `list_profiles`, `list_books`) | Yes (`generate_speech`, `clone_voice`, `transcribe`, `list_voices`, …) |
| License | Private/internal (per CLAUDE.md: never open-sourced without asking) | AGPL-3.0 (commercial license available) |
@ -92,3 +92,101 @@ magazine pipeline has no counterpart to compare against. Worth revisiting narrow
without wiring a new backend into this app first.
No integration was started; this is an evaluation record only, per the TODO item.
## UI/UX and feature-parity deep dive — 2026-09-29
**Methodology, stated plainly:** no browser was available to render either live UI this
session (no Chromium binary for Puppeteer, no connected DevTools extension). VoiceStudio's
screens below are its **own published screenshots**, fetched from its repo
(`docs/media/electron/*.png`) and viewed directly — real product screenshots, not a live
session. This app's side is grounded in its actual served navigation
(`curl https://voice.martin-bierschenk.de/`, parsed for `data-nav-section`) and this
session's own knowledge of its routes/templates — not a rendered screenshot. Anything below
attributed to "this app" is checked against a file or route; anything about VoiceStudio's
*screens* is what its own screenshot shows, not a guess.
### VoiceStudio's screens (from its repo)
- **Voice cloning** (`voice-cloning.png`): left sidebar (Voice → Clone/Design/Saved/Gallery,
Stories, Dubbing, Transcribe, Projects, Tools, Integrations), a script editor with
import/paste/insert, a bottom dock of **third-party integrations already wired into the
chrome itself** (Twilio, Plivo, Telnyx, n8n, Zapier, Make, GitHub, GitHub Container
Registry, Docker, …), and a top-right **global search / command palette** and "Recent
takes" history spanning the whole app, not one workspace.
- **Voice design** (`voice-design.png`): a free-text description box, but also a **curated
gallery of named starting-point personas** ("The Librarian", "The Anchor", "Captain
Crusty", …) each with a one-line pitch, a play button for a real demo clip, and
"Use this design →". Plus quick descriptor tags (Narrator/Casual/News Anchor/Storyteller/
Corporate/Energetic/Whisper/…) and a "Details" editor (age, pitch).
- **Video dubbing** (`dubbing.png`): upload/paste a YouTube URL → transcribe → pick target
language + dialect + translator (an **offline NLLB-200 (Local, Heavy)** option is offered
right next to "Translate with AI") → timing/production overrides → generate. A synced
side-by-side waveform player plays the **original and dubbed audio together**, with a
language switcher to preview other dubs of the same demo before running your own file.
- **Model management** (`models.png`): one-click **model-pack tiers** (Fast/Balanced/
Quality/Max) that bundle a whole TTS+ASR+dictation+translation stack with the disk size
shown before you commit ("8.5 GB installed size"), per-category model pickers (TTS/ASR/
Dictation/Diarisation/Translation/LLM), a voice-preview pre-rendering toggle, an explicit
compute-device picker, and a Hugging Face mirror selector. The Settings sidebar alone has
19 sections (General, Appearance, Models, Pronunciation dictionary, Updates, Network,
Sharing & Remote Access, Credentials, Compute device, Usage, Remote workers, Privacy,
Permissions, Storage, Support, …).
### This app's screens (from its served nav and routes)
Sidebar: **Voices** (Clone a Voice / Design a Voice / Get a Voice Online), **Quick Play**,
**Conversation**, **Cast Studio**, **Reader** (audiobook), **Magazine**, **Rehearser**,
**Library**, **Benchmark**, **Engines** (LLM routing), **App Routing**, **Connect Apps**,
**Settings**. Settings itself has 4 pages (General, Payloads, Storage, API keys) — thin
next to VoiceStudio's 19. "Connect Apps" is a real counterpart to VoiceStudio's integration
dock, just aimed at a different audience: ready-made snippets for SillyTavern, Open WebUI,
Home Assistant, Claude Code MCP, a raw `/speak` REST call, and a **global hotkey daemon** —
AI-tooling integrations rather than VoiceStudio's telephony/business-automation set
(Twilio, Plivo, Telnyx, Zapier, Make). Voice Design already has save/load/delete named
presets (`design-preset-*`), just as a plain dropdown, not a curated gallery with demo audio.
### Features VoiceStudio has that this app doesn't (real gaps, not nitpicks)
1. **Video dubbing end to end** — upload/URL → transcribe → translate (with an offline
model option) → re-synthesize timed to the original. This app has nothing upstream of
TTS for video at all.
2. **Live STT dictation into any focused app** (its Rust sidecar + floating widget). This
app's "hotkey daemon" triggers *playback* of a voice, not speech-to-text insertion — a
different feature wearing a similar name; do not conflate the two.
3. **Telephony integrations** (Twilio, Plivo, Telnyx) for inbound/outbound call voice —
this app's integration list is chat/automation tools, not telephony.
4. **Standalone offline translation** (NLLB-200 as a first-class, selectable model) — this
app has no translation step anywhere in its pipeline.
5. **Model-pack tiers and an explicit compute-device picker in the UI** — this app's engine
endpoints (Qwen3-TTS, vision OCR, the LLM) are configured as URLs in Settings/Payloads,
not chosen from an in-app catalog with disk-size and device shown up front.
6. **A global command palette / search and cross-app "recent takes" history** — this app's
history (undo/redo, generation history) is per-feature (e.g. the magazine's own 20-step
undo stack), not a single cross-app view.
7. **A curated voice-design preset gallery with demo audio** — a real UX idea worth
borrowing even without adopting anything else: a handful of named, demo-backed starting
points lower the bar for someone who doesn't know how to word a voice description, versus
this app's blank textarea plus a plain preset dropdown.
### Where this app is ahead that VoiceStudio's screens don't show
Confirms the earlier verdict: the **entire magazine pipeline**, **Cast Studio**/character
casting, the **Rehearser**, and the **Reader**'s audiobook-specific workflow have no
counterpart anywhere in VoiceStudio's four screens or its feature catalog — it has no
document ingestion, no per-article review, and no multi-character casting concept at all.
### What is worth actually adopting here
Two low-risk, high-value ideas, independent of any VoiceStudio integration:
- **A curated voice-design preset gallery** (a handful of named personas with a demo clip
and one-click "use this design") in `s-design.html` — the single most transferable idea
above, since this app already has the preset save/load machinery to hang it on.
- **An explicit compute-device indicator** somewhere in Settings, mirroring VoiceStudio's —
cheap to add (query the backend once) and answers "is this actually using the GPU?"
without opening a shell, a question this app's Settings currently has no answer to at all.
Video dubbing, telephony integrations, and a full model-pack catalog are real gaps but not
small asks — each is its own multi-day feature, not a quick addition, and none of them
serve the magazine/audiobook workflow this app is actually for. They belong on a future
roadmap decision, not this evaluation.