Skip to content

feat(tts): make Silero Native the default engine (aidar, 24000 Hz) - #182

Merged
xilec merged 2 commits into
mainfrom
xilec/silero-native-default
Aug 2, 2026
Merged

feat(tts): make Silero Native the default engine (aidar, 24000 Hz)#182
xilec merged 2 commits into
mainfrom
xilec/silero-native-default

Conversation

@xilec

@xilec xilec commented Aug 2, 2026

Copy link
Copy Markdown
Owner

What

  • Fresh installs and configs missing the keys now default to the Silero
    Native engine with speaker aidar at 24000 Hz (was Piper / xenia /
    48000).
  • Existing config.json files are untouched: serde defaults only fill
    absent keys, and a missing model bundle still falls back to Piper for
    the run with the config value preserved.
  • Settings: saving while the engine selector is coerced to the fallback
    (saved engine unavailable) no longer persists that fallback — engine
    is omitted from the patch (buildSettingsPatch), so a bundle-less
    fresh install keeps the silero_native default until the bundle is
    downloaded.
  • Engine option labels cleaned up: the native engine is listed first as
    «рекомендуемый», «Python ttsd» → «Python», Piper's «без Python» note
    dropped.
  • Docs (README ×2, install, index, conventions, architecture) and
    CHANGELOG updated to the new engine roles.

Specs

OpenSpec change archived in
openspec/changes/archive/2026-08-03-silero-native-default-engine/
delta specs synced into storage (config defaults), ipc-commands
(UIConfig annotations + fresh-install scenario), and ui (Settings
coerce-save scenario).

Verification

  • just test — Rust 974, silero-native 68 + bundle-gated suites,
    TS 131, Python 65: all green.
  • just lint and openspec validate --specs --strict green.
  • Manual: app launched with a keyless config starts on Silero Native /
    aidar / 24000; an existing user config is unaffected.

xilec added 2 commits August 3, 2026 03:16
Config defaults switch from Piper/xenia/48000 to
silero_native/aidar/24000. serde defaults only fill absent keys, so
existing configs are untouched; a missing model bundle still falls
back to Piper for the run with the config value preserved.

Settings: saving while the engine selector is coerced to the
fallback (saved engine unavailable) no longer persists that
fallback — `engine` is omitted from the patch, so a bundle-less
fresh install keeps the silero_native default until the bundle is
downloaded. Engine option labels lose the Python/tts­d noise and
list the native engine first as recommended.

Docs (README, install/index, conventions, architecture) and the
changelog updated to the new engine roles.
@xilec
xilec merged commit f0857cb into main Aug 2, 2026
6 checks passed
@xilec
xilec deleted the xilec/silero-native-default branch August 2, 2026 20:28
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