Turn speech into text, entirely on your device.
Website · Documentation · License
Pre-v1 — under active development. CLI flags, API surface, and pack format may change between 0.x releases.
macOS (Apple Silicon) · Windows (x64, Windows 10+) · Linux desktop coming soon
No terminal needed. Install the app, drop in an audio file, and get your transcript — everything runs on your machine.
This repository is the Apache-2.0 open core behind the desktop app: a Rust CLI, a local OpenAI-compatible HTTP API, and the ggml inference engine. The desktop app wraps the same engine in a native GUI — no hidden network calls.
- Transcribe audio files — single files or entire folders, output as plain text, SRT/VTT subtitles, or JSON with word-level timestamps
- Live captions — real-time transcription from your microphone with streaming partial results
- System audio capture — caption meetings, lectures, and podcasts by recording what your computer plays
- Speaker separation — automatically label who said what
- Translation — transcribe and translate to English in one step
- Local API — OpenAI-compatible
/v1/audio/transcriptionsendpoint, works with existing SDKs
Private. Your audio never leaves your machine. No uploads, no cloud processing, no telemetry. The engine either produces a real transcript or tells you why it can't — it never silently reaches for the internet.
Broad. 28 models across 13 families — Whisper, Qwen3-ASR, Parakeet, SenseVoice, FireRed, Dolphin, Moonshine, and more. Pick the one that fits your language and workload. All run through one binary on CPU and Apple Metal.
Open. The engine is Apache-2.0. Models ship under their own permissive licenses. Every model download is verified against a signed catalog before it runs.
# Option A: Homebrew (macOS / Linux)
brew install quintinshaw/tap/openasr
# Option B: one-line installer (macOS / Linux)
curl -fsSL https://dl.openasr.org/install.sh | sh
# Option C: grab a prebuilt binary from Releases
# https://github.com/QuintinShaw/openasr/releases
# Transcribe a file (first run offers to download a model — you confirm first)
openasr transcribe recording.wav
# Live mic captions
openasr live
# SRT subtitles with speaker labels
openasr transcribe meeting.wav -f srt --diarizeSee Quickstart for a guided walkthrough, or run openasr --help.
openasr serve
curl http://127.0.0.1:8080/v1/audio/transcriptions \
-F file=@audio.wav -F model=qwen3-asr-0.6bDrop-in compatible with OpenAI SDKs (base_url="http://127.0.0.1:8080/v1"). See Agent Integration for API key setup and agent workflows.
git clone --recurse-submodules https://github.com/QuintinShaw/openasr.git
cd openasr
cargo build --release -p openasr-cliRequires Rust (pinned via rust-toolchain.toml), CMake, and a C/C++ toolchain. Full build setup and development workflow in CONTRIBUTING.md.
28 models across 13 families, from tiny English-only models that run faster than real-time to large multilingual models covering 100+ languages. Browse them at openasr.org/models or from the CLI:
openasr search # browse available models
openasr pull whisper-small # install oneBenchmarks from the committed performance baseline are in Performance.
| Docs Index | Full documentation map |
| Quickstart | First transcript in three commands |
| FAQ | Common questions answered |
| Known Limitations | What works and what does not yet |
| Roadmap | What is planned next |
| Architecture | Crate map and transcription pipeline |
Contributions welcome. See CONTRIBUTING.md for build setup, branch naming, the PR checklist, and DCO sign-off.
Apache License 2.0. See NOTICE for attribution.
The ggml inference backend is MIT-licensed. Model packs carry their own upstream licenses (MIT / Apache-2.0). See ACKNOWLEDGMENTS.md for the projects and model authors OpenASR builds on.