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:
parent
ed41cbadf0
commit
df4bfc934a
@ -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.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user