tts-voice-creator-clone-and.../CHANGELOG.md
mARTin-B78 b36423457b feat(design): auto-pick the best seed by scored candidates
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 16:37:58 +02:00

585 KiB
Raw Blame History

Changelog

All notable changes to TTS Voice Creator — Clone and Design are documented here.
Follows Keep a Changelog · versioned with Semantic Versioning.


Unreleased

Added

  • Seed Finder: Auto-pick best. POST /api/seed-autopick {voice, text, seeds|count} (default 8, max 16) generates candidates sequentially through the existing temporary-voice path (voices.json is always restored), scores each 0-100 (ASR word accuracy, loudness/clipping, audio_problems) and returns all sub-scores plus the winner. Degrades to loudness/problems when STT is unavailable. The UI highlights the winner; saving stays a click on "Use seed". Tests: tests/test_seed_autopick.py, tests/seed-autopick.spec.js.
  • Voice Design: attribute chips. Toggle chips (gender, age, pitch, pace, accent/region, tone/timbre, emotion; German + English labels) above the design prompt add or remove only their own phrase in the free-text description. The textarea stays fully free-form. Test: tests/design-chips.spec.js.
  • Voice health: timestamped audio problems. core.audio.audio_problems flags long interior silence, clipping and sudden level jumps (problems list with kind, start_s, end_s, detail, plus one warning per kind) in the route-test voice health; existing keys unchanged. Computed on demand and cached by file mtime, not in the voice list. Shown in the routing test result and in the Try-out voice panel (new GET /api/voices/{id}/health); imports store the result in meta (audio_problems). Tests: tests/test_audio_problems.py, tests/voice-health.spec.js.

Changed

  • Magazine interviews: journalist/guest voices. Interview labels such as c't: (also c’t, ct, OCR Cc't), Redaktion, Interviewer, Frage are the interviewing side and are read in the narrator voice; every other recurring label is a guest and gets the second voice. Unlabelled blocks continue the current speaker's turn; headings, decks and bylines stay narrator. Detection stays strict (label starts a block and recurs at least twice). Audio-timing records now store each segment's voice and speaker. Tests: tests/test_magazine.py (InterviewJournalistTests).

1.59.0 — 2026-10-04

Changed

  • Characters: global cast view in the sidebar, per-book characters inside Studio. Library > Characters / Cast is now titled "All characters (all books)": one collapsible band per book (heading, per-book count, aria-expanded), first book open and the rest closed and not rendered until opened (DOM budget), and a Search all books field. Studio > Voices lists only the book picked in Source, under a "Book: