Add language selection for Whisper models - #674
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 10744e1bd9
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Greptile SummaryThis PR adds a searchable language picker to every Whisper model in Voice Engine settings, letting users force a specific language or keep automatic detection. The selected language is persisted via a new
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a0546b8b82
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
142e1a7 to
11bf5d3
Compare
|
Rebased this PR onto the current Some additional context on why this is important: FluidVoice now already exposes model-specific language selection for Cohere and Nemotron, and this PR follows that established interaction for Whisper rather than introducing a new settings concept. For Hungarian—and similarly for other languages where short utterances do not give automatic detection enough context—forcing the known language avoids incorrect language detection and materially improves short and single-word dictation. In practical Hungarian use it is also noticeably faster because Whisper can skip language detection. Automatic detection remains available and remains the default, so this is an opt-in accuracy and latency improvement for users who know the dictation language. Parakeet behavior is unchanged. |
Description
Adds a searchable language selector to every Whisper model in Voice Engine settings. Users can keep automatic language detection or force one of Whisper's 99 supported languages.
The selected language is persisted, included in settings backups, and passed to
RunOptions.languagefor transcription. Existing installations initially inherit the language selected during onboarding until the user explicitly chooses Automatic or another language.This improves short utterances and single-word dictation, where Whisper may not have enough context to reliably detect the spoken language.
Type of Change
Related Issue or Discussion
Revisits #100. The earlier concern about exposing a Whisper-only setting is less applicable now that Voice Engine settings already provide model-specific language selection for Cohere and Nemotron.
Testing
swiftlint --strict --config .swiftlint.yml Sources(0 violations)swiftformat --config .swiftformat Sources(the current base branch has pre-existing whole-file formatting failures inSettingsStore.swiftandWhisperProvider.swift; unrelated lines were not reformatted)Screenshots / Video
Notes
VoiceEngineLanguageCatalog; no duplicate language list or dependency update is introduced.