What Speech Models Does FluidVoice Support? A Complete Technical Guide
FluidVoice supports 15 distinct speech recognition models across three families: FluidAudio (8 Apple Silicon-optimized models), Apple Native (2 built-in ASR engines), and Whisper (6 universal OpenAI models), all unified in the SpeechModel enum defined in Sources/Fluid/Persistence/SettingsStore.swift.
The FluidVoice open-source macOS dictation app provides flexible speech-to-text through a single enumeratio that abstracts model selection, metadata, and backend routing. This unified architecture lets users choose from lightweight on-device models to large multilingual systems without code changes.
FluidAudio Models: Apple Silicon-Optimized ASR
The FluidAudio family delivers high-performance speech recognition optimized for Apple Silicon, with model sizes ranging from ~428 MB to ~2 GB.
| Model | Identifier | Languages | Size | Source Link |
|---|---|---|---|---|
| Parakeet TDT | parakeetTDT |
25 languages | ~460.9 MB | SettingsStore.swift#L76 |
| Parakeet TDT v2 | parakeetTDTv2 |
English only | ~442.9 MB | SettingsStore.swift#L77 |
| Parakeet Flash (Beta) | parakeetRealtime |
English only | ~428.4 MB | SettingsStore.swift#L78 |
| Qwen3 ASR (Beta) | qwen3Asr |
30 languages | ~2.0 GB | SettingsStore.swift#L79 |
| Cohere Transcribe | cohereTranscribeSixBit |
14 languages | ~1.54 GB | SettingsStore.swift#L80 |
| Nemotron 3.5 Offline | nemotronOffline |
~40 languages | ~530.8 MB | SettingsStore.swift#L81 |
| Nemotron 3.5 Streaming | nemotronStreaming |
~40 languages | ~668.2 MB | SettingsStore.swift#L82 |
| Nemotron 3.5 Streaming (320 kbps) | nemotronStreaming320 |
~40 languages | ~668.2 MB | SettingsStore.swift#L83 |
These models require Apple Silicon and are downloaded on-demand. The Qwen3 ASR and Cohere Transcribe models provide the broadest multilingual coverage but at significantly larger storage costs.
Apple Native Models: Built-In System ASR
For users prioritizing zero download overhead, FluidVoice exposes Apple's native speech engines:
appleSpeech— Legacy Apple ASR with system language support (SettingsStore.swift#L87)appleSpeechAnalyzer— Modern Apple Speech framework (macOS 26+) with support for English, Spanish, French, German, Italian, Japanese, Korean, Portuguese, and Chinese (SettingsStore.swift#L88)
Both models use the system's built-in speech recognition with no additional downloads.
Whisper Models: Universal Cross-Platform ASR
The Whisper family from OpenAI provides consistent performance across all Mac hardware, including Intel-based systems. All Whisper models support 99 languages.
| Model | Identifier | Size | Source Link |
|---|---|---|---|
| Whisper Tiny | whisperTiny |
~43.9 MB | SettingsStore.swift#L92 |
| Whisper Base | whisperBase |
~81.0 MB | SettingsStore.swift#L93 |
| Whisper Small | whisperSmall |
~257.3 MB | SettingsStore.swift#L94 |
| Whisper Medium | whisperMedium |
~793.0 MB | SettingsStore.swift#L95 |
| Whisper Large Turbo | whisperLargeTurbo |
~845.3 MB | SettingsStore.swift#L96 |
| Whisper Large | whisperLarge |
~1.55 GB | SettingsStore.swift#L97 |
How to Enumerate and Select Speech Models
The SpeechModel enum conforms to CaseIterable and provides computed properties for UI display. Here's how to work with supported models programmatically:
import Fluid
// Retrieve all 15 supported speech models
let allModels = SettingsStore.SpeechModel.allCases
// Inspect model metadata
for model in allModels {
print("\(model.displayName) — \(model.languageSupport) — \(model.downloadSize)")
}
// Select a specific model for transcription
SettingsStore.shared.selectedSpeechModel = .whisperLargeTurbo
// Start dictation with the configured model
DictationService.shared.startDictation(
using: SettingsStore.shared.selectedSpeechModel
)
The enum exposes properties like displayName, languageSupport, and downloadSize that RewriteModeView.swift and CommandModeView.swift use to render the model selector without hardcoded strings.
Model Selection Architecture
FluidVoice's model abstraction lives in three key locations:
Sources/Fluid/Persistence/SettingsStore.swift— Central enum definition and persistence logicSources/Fluid/Views/RewriteModeView.swift— UI for model selection during text rewritingSources/Fluid/Views/CommandModeView.swift— UI for model selection in command mode
The DictationService receives the selected SpeechModel value and routes audio to the appropriate inference backend—Core ML for FluidAudio models, SFSpeechRecognizer for Apple Native, or llama.cpp/whisper.cpp for Whisper variants.
Summary
- 15 total models in three families: FluidAudio (8), Apple Native (2), Whisper (6)
- Unified
SpeechModelenum inSettingsStore.swiftwith source-defined links at lines 76–97 - Smallest model: Whisper Tiny at ~43.9 MB
L92 - Largest model: Qwen3 ASR at ~2.0 GB
L79 - Widest language support: Whisper models with 99 languages; Nemotron with ~40 languages
- Zero-download options:
appleSpeechandappleSpeechAnalyzeruse system frameworks
Frequently Asked Questions
Does FluidVoice support Intel Macs?
Yes, but with limitations. The Whisper family (6 models) and Apple Native models work on both Intel and Apple Silicon. The FluidAudio family (8 models) requires Apple Silicon and optimized Core ML pipelines. Intel Mac users should select .whisperLargeTurbo or .whisperMedium for best quality.
How do I change the default speech model in FluidVoice?
Set SettingsStore.shared.selectedSpeechModel to any SpeechModel case before starting dictation. The value persists across app launches via @AppStorage or equivalent persistence in SettingsStore.swift. The UI in RewriteModeView.swift provides a dropdown with human-readable names from the displayName property.
Which speech model has the best accuracy for English transcription?
For English-specific use cases with Apple Silicon, Parakeet TDT v2 L77 offers optimized performance at ~442.9 MB. For universal deployment, Whisper Large L97 or Whisper Large Turbo L96 provide state-of-the-art accuracy at the cost of ~1.55 GB or ~845 MB respectively. The Nemotron Streaming models L82-L83 balance ~40-language support with reasonable size.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →