Skip to content

fix: restore German 3D Chat text to speech - #2948

Merged
numnx merged 2 commits into
devfrom
fix/german-3d-chat-tts
Jul 11, 2026
Merged

fix: restore German 3D Chat text to speech#2948
numnx merged 2 commits into
devfrom
fix/german-3d-chat-tts

Conversation

@numnx

@numnx numnx commented Jul 11, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • Resolve local text-to-speech model and voice settings as a compatible pair across system, project, and sprint scopes.
  • Fall back to the selected model's default voice when an older inherited voice override is no longer valid.
  • Show synthesis and browser playback failures beside the 3D Chat voice controls instead of silently discarding them.
  • Add settings-resolution, synthesis-selection, and dashboard error-state regression coverage.
  • Update canonical and published speech documentation and synchronize existing speech/settings docs mirrors.

Why

Selecting the German Piper model at system scope could leave a project-level English Kokoro voice override in place. The effective configuration therefore paired piper-de-de-mls-medium with an unsupported voice id, causing the synthesis endpoint to return a provider failure while 3D Chat swallowed the error and appeared silently enabled.

Impact

Installed local TTS models now remain usable after model changes at a parent settings scope. Existing stale voice overrides are repaired during effective settings resolution without requiring database edits, and any remaining synthesis or browser playback failure is visible and accessible in 3D Chat.

Validation

  • pnpm run lint
  • pnpm run test:backend — 5,298 passed, 7 skipped
  • pnpm run test:dashboard — 2,119 passed, 2 skipped
  • Focused regression suite — 85 passed
  • pnpm run check:docs-web
  • pnpm run build
  • Live local synthesis request with the installed German Piper model — HTTP 200, valid mono 22.05 kHz PCM WAV

Risk and rollback

Risk is limited to local TTS voice normalization and optional playback error presentation. Explicit API-requested voice ids retain their prior validation behavior. Roll back this commit to restore the previous settings and playback behavior; no database migration or persisted data rewrite is required.

@numnx
numnx marked this pull request as ready for review July 11, 2026 23:28
@numnx
numnx merged commit 05df29d into dev Jul 11, 2026
40 checks passed
@numnx
numnx deleted the fix/german-3d-chat-tts branch July 11, 2026 23:28
@numnx numnx mentioned this pull request Jul 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant