What Are the Default Models Used by OpenSuperWhisper?
OpenSuperWhisper ships with the ggml-tiny.en.bin Whisper model as its built-in default, automatically copying it to the user's Application Support directory on first launch, while also supporting optional downloadable Turbo V3 models and a separate LLM for its internal agent.
OpenSuperWhisper is an open-source macOS application that provides real-time speech recognition using OpenAI's Whisper architecture. Understanding the default models used by OpenSuperWhisper is essential for developers who want to customize transcription behavior or integrate the speech engine into their own workflows. The repository at Starmel/OpenSuperWhisper defines these defaults across Swift management classes and Python configuration files.
Built-in Default Whisper Model
The application relies on a bundled tiny English Whisper model that requires no manual download to begin transcription.
Default Model Configuration
In OpenSuperWhisper/WhisperModelManager.swift, the default model is defined as a constant:
defaultModelNameis set to"ggml-tiny.en.bin"at line 91- The
copyDefaultModelIfNeeded()method (lines 99-104) checks the user's Application Support directory for this file and copies the bundled resource if missing
This ensures the app is immediately functional after installation, providing fast (though less accurate) transcription using the tiny model weights.
Model Storage Location
The default model resides in the application bundle and is copied to the user's local Application Support directory under a "models" subdirectory. This allows the app to write to the file system while keeping the original bundle read-only.
Optional Downloadable Models
Beyond the default tiny model, OpenSuperWhisper exposes a catalog of larger, optional Whisper models defined in OpenSuperWhisper/Settings.swift within the SettingsDownloadableModels.availableModels structure (starting at line 41).
These optional models include:
- Turbo V3 Large (1624 MB) — High accuracy, best quality transcription
- Turbo V3 Medium (874 MB) — Balanced speed and accuracy
- Turbo V3 Small (574 MB) — Fastest processing of the Turbo series
- Turbo V3 Hebrew (1624 MB) — Hebrew-fine-tuned model that automatically sets the language parameter to
he
Users must explicitly download these through the UI; the app runs with the default tiny model until the user selects an alternative.
Agent LLM Model
OpenSuperWhisper includes an internal "aider" agent for automated issue-fixing tasks, which uses a separate large language model defined in agent/config.py.
MODELis set to"openrouter/deepseek/deepseek-v4-flash"at line 13
This is not a speech-recognition model. It powers the Python-based agent that assists with code maintenance and bug fixes, distinct from the Whisper-based transcription functionality.
How to Access and Load Models Programmatically
You can interact with the default and available models using the following patterns:
Swift: Accessing the Default Model
// Get the path to the default (tiny) Whisper model
let tinyModelURL = WhisperModelManager.shared.modelsDirectory
.appendingPathComponent("ggml-tiny.en.bin")
print("Default model path →", tinyModelURL.path)
// Load the default model into a Whisper engine
let engine = WhisperEngine()
try engine.loadModel(at: tinyModelURL.path)
// List all available (downloaded) models
let available = WhisperModelManager.shared.getAvailableModels()
print("Downloaded models:", available.map { $0.lastPathComponent })
Python: Accessing the Agent LLM
# Retrieve the LLM model name used by the internal agent
from agent.config import MODEL
print("Agent LLM model →", MODEL) # → openrouter/deepseek/deepseek-v4-flash
Summary
- Default Speech Model:
ggml-tiny.en.bin(tiny English) is bundled and auto-copied to Application Support viaWhisperModelManager.swift - Optional Models: Turbo V3 series (large, medium, small) and Hebrew-fine-tuned variants are defined in
Settings.swiftbut require manual download - Agent Model: The internal agent uses
openrouter/deepseek/deepseek-v4-flashas defined inagent/config.py - Entry Points:
copyDefaultModelIfNeeded()handles initial setup, whilegetAvailableModels()returns user-downloaded alternatives
Frequently Asked Questions
What is the default Whisper model in OpenSuperWhisper?
The default model is ggml-tiny.en.bin, a tiny English-optimized Whisper model defined by the defaultModelName constant in WhisperModelManager.swift. This model provides fast transcription with minimal resource usage and requires no internet connection to download.
Where does OpenSuperWhisper store the default model?
On first launch, the app copies ggml-tiny.en.bin from its bundle to the user's Application Support directory under a "models" subdirectory. The copyDefaultModelIfNeeded() method in WhisperModelManager.swift (lines 99-104) handles this automatic initialization.
Can I use other models besides the default tiny model?
Yes. OpenSuperWhisper supports optional downloadable models including the Turbo V3 series (large, medium, small) and a Hebrew-fine-tuned variant. These are defined in Settings.swift under SettingsDownloadableModels.availableModels starting at line 41, but must be downloaded by the user before use.
What is the LLM model used for in OpenSuperWhisper?
The openrouter/deepseek/deepseek-v4-flash model defined in agent/config.py powers the internal "aider" agent. This separate Python-based component assists with automated code maintenance and issue fixing, and is unrelated to the Whisper speech recognition functionality.
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 →