A desktop native app for transcribing audio files. Runs locally, no cloud, no API keys.
Screen.Recording.2026-02-26.at.23.32.10.mov
UIWhisperCPP wraps local speech-to-text engines - whisper.cpp and Parakeet - in a clean Qt interface - pick your files, hit go, get transcripts. Everything runs on your machine. Your audio never leaves your computer.
- Transcribe .wav, .mp3 and .m4a files - select one or many, it'll work through them
- Choose your model - Whisper sizes (base to large-v3) or Parakeet v3, a fast multilingual model for Apple Silicon
- Real-time progress - watch the transcription happen with a progress bar and live log output
- Timestamped output - saves transcripts as
.txtfiles with[HH:MM:SS.mmm --> HH:MM:SS.mmm]timestamps (SRT-style) - Runs completely offline - powered by Whisper or Parakeet, no internet required after the initial model download
- Python 3.11+
- An Apple Silicon Mac (only required for the Parakeet model; Whisper runs anywhere)
- uv (recommended) or pip
FFmpeg is bundled via imageio-ffmpeg, so no separate install is needed.
git clone https://github.com/olchyk98/UIWhisperCPP.git
cd UIWhisperCPP
# using uv (recommended)
uv sync
# or using pip
pip install -e .# if installed with uv
uv run appOn first launch, the app will download a Whisper model. This takes a bit depending on your connection - after that, it's cached locally.
Pretty straightforward pipeline:
- You pick audio files through the file dialog
- Audio gets resampled to 16 kHz (what the models expect)
- The selected backend processes the audio locally - whisper.cpp for Whisper, MLX for Parakeet
- Segments come back via callbacks - you see them in the log as they arrive
- Final transcript gets saved as a
.txtnext to the original file
A small abstraction layer (uiwhispercpp.models) sits behind all of this: each engine implements a common Model interface, and a single ModelManager lists the available models and runs transcription. Adding a model from another package later is just a new Model implementation registered with the manager - nothing else in the app changes.
- whisper.cpp - fast C++ inference for OpenAI's Whisper model
- pywhispercpp - Python bindings for whisper.cpp
- parakeet-mlx - NVIDIA Parakeet models on Apple Silicon via MLX
- PySide6 - Qt for Python
- imageio-ffmpeg - bundled FFmpeg for audio decoding
- uv - Python package management