Skip to content

Make Parakeet the new default STT provider#385

Merged
Shackless merged 11 commits into
developfrom
feature/parakeet-default-stt
Apr 7, 2026
Merged

Make Parakeet the new default STT provider#385
Shackless merged 11 commits into
developfrom
feature/parakeet-default-stt

Conversation

@Shackless

@Shackless Shackless commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

Linked Issue

mention #377

Summary

Made parakeet the new default STT provider, including migrations. Fixes model reinitialization on engine switch

Shackless and others added 10 commits April 7, 2026 18:46
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Migrates existing users from FasterWhisper to Parakeet as default STT
provider and removes the redundant enable flags from both providers.
Updates templates for new installations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create ModelDownloader and SttProviderManager in __init__()
- Refactor startup() with settings-aware progress: hardware detection,
  STT init, voice activation, TTS, Local AI download, HUD server
- Pass cuda_available to local AI download
- Update test_parakeet() to check stt_provider enum instead of enable flag
- Fix async on_status callbacks in SttProviderManager (await properly)
- Clean up unused imports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… toggling

- Add stt_provider_manager to SettingsService.initialize()
- Replace mutual-exclusion enable logic with SttProviderManager.switch_provider()
- Detect settings changes within same provider and trigger reload
- Add save_settings_to_disk() helper for persisting without provider updates
- Remove old FasterWhisper/Parakeet update_settings blocks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The cascade updated defaults and disk files, but running wingmen still
had the old stt_provider in their in-memory config, causing transcription
to route to the unloaded provider.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 7, 2026 22:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Wingman AI Core to make NVIDIA Parakeet the default speech-to-text (STT) provider and introduces a unified STT lifecycle + model management flow, including a 3.1.0 → 3.1.1 migration.

Changes:

  • Switch default STT provider to Parakeet in templates and add a 3.1.0 → 3.1.1 migration.
  • Introduce SttProviderManager + ModelDownloader to manage STT model download/load/unload and reduce reinitialization issues when switching engines.
  • Refactor Parakeet/FasterWhisper providers and update settings schema by removing enable flags.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
wingman_core.py Wires in unified model downloader + STT provider lifecycle initialization during startup.
services/stt_provider_manager.py New manager that handles provider initialization, switching, and health checks.
services/model_downloader.py New unified download helper for HuggingFace snapshots / direct file downloads.
services/settings_service.py Routes STT provider switching through SttProviderManager and cascades provider changes.
providers/parakeet.py Refactors Parakeet to explicit load()/unload() lifecycle and CoreML exclusion handling.
providers/faster_whisper.py Refactors FasterWhisper to explicit load(model_dir)/unload() lifecycle.
services/file.py Adds get_models_dir() unified models directory helper.
services/local_model_manager.py Moves local AI models under unified models/ directory (models/local-ai).
services/migrations/migration_310_to_311.py New migration to update defaults and remove deprecated enable flags.
templates/configs/settings.yaml Changes default voice_activation.stt_provider to parakeet and removes enable flags.
templates/configs/defaults.yaml Changes default features stt_provider to parakeet.
templates/migration/3_1_1/configs/* New migration templates for 3.1.1 settings/defaults.
api/interface.py Removes enable fields from STT settings models.
services/system_manager.py Bumps LOCAL_VERSION to 3.1.1.
docs/parakeet-issues.md Adds troubleshooting/known-issues notes for Parakeet.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread wingman_core.py Outdated
Comment thread services/settings_service.py
Comment thread services/migrations/migration_310_to_311.py
Comment thread services/model_downloader.py
Comment thread services/model_downloader.py
Comment thread services/stt_provider_manager.py
Comment thread services/stt_provider_manager.py Outdated
Comment thread services/local_model_manager.py
- Use public is_cuda_available() instead of private _detect_gpu()
- Apply settings before switch_provider to prevent stale state reads
- Remove dead on_progress param and polling loop from HF downloads
- Add ImportError handling for huggingface_hub lazy import
- Tighten on_status callback type signature

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Shackless Shackless linked an issue Apr 7, 2026 that may be closed by this pull request
@Shackless Shackless self-assigned this Apr 7, 2026
@Shackless Shackless added the migration-required This PR requires a config migration in the next release version label Apr 7, 2026
@Shackless Shackless merged commit 2690e2b into develop Apr 7, 2026
1 of 2 checks passed
@Shackless Shackless deleted the feature/parakeet-default-stt branch April 7, 2026 22:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

migration-required This PR requires a config migration in the next release version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

evaluate NVIDIA Parakeet as STT provider

2 participants