feat: revamp setup wizard, fix number conversion, improve TTS reliability#3
Conversation
…lity - Reorganize wizard into coherent 8-step flow: language before model, immediate download + mic test with satisfaction loop, TTS promoted to its own step with interactive engine demos - Add arrow-key y/n prompts (_ask_yn) replacing all text-input y/n - Fix "one two three" being summed to 6 — consecutive ones-words now break the number span - Fix edge-tts probe to detect missing soundfile/pydub decoder - Fix piper probe to detect incomplete installs (missing piper.download) - TTS enabled by default - Bump version to 0.3.2
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThe PR updates the version to 0.3.2, changes TTSConfig.enabled default from False to True, refines number word parsing to prevent consecutive ones-words from combining incorrectly, enhances TTS engine probe methods with fallback logic and improved error reporting, and substantially refactors the interactive setup wizard with new helper functions and restructured configuration steps. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
_ask_yn) replacing all free-text y/n inputs — no more escape sequence garbage from arrow keysprobe()to detect missingsoundfile/pydubdecoder before synthesis fails at runtimeprobe()to detect incomplete installs (missingpiper.downloadmodule)Test plan
uv run ruff check voiceio/passesuv run pytest tests/ -x -q— 404 passed, 3 skippedvoiceio setupwalkthrough end-to-endSummary by CodeRabbit
Release Notes
New Features
Bug Fixes