Skip to content

QuintinShaw/openasr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

328 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

English | 简体中文

OpenASR

Turn speech into text, entirely on your device.

License CI Release Downloads

Website · Documentation · License

OpenASR Desktop App

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.


What it does

  • 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/transcriptions endpoint, works with existing SDKs

Why OpenASR

Private. In the default local mode, audio stays on your machine. Remote compute is available only when you explicitly pair and enable it; see SECURITY.md. No telemetry, no silent uploads, and no silent network fallback. The engine either produces a real transcript or tells you why it can't.

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. Each model pack ships under its own upstream license as recorded in the registry and pack metadata. Every model download is verified against a signed catalog before it runs.


For developers

CLI quickstart

# 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 --diarize

See Quickstart for a guided walkthrough, or run openasr --help.

Local API

openasr serve

curl http://127.0.0.1:8080/v1/audio/transcriptions \
  -F file=@audio.wav -F model=qwen3-asr-0.6b

Drop-in compatible with OpenAI SDKs (base_url="http://127.0.0.1:8080/v1"). Offline native requests are serial by default. Operators can set --max-native-sessions-per-model N; N is both the admission limit and, for eligible direct-GPU Cohere, Moonshine, Qwen, and Whisper jobs, the source for an internal batch width capped at 8. CPU, scheduler, adapter, realtime, FireRed-AED, and FireRed2 paths remain serial; translations follow the offline policy. See Agent Integration for API key setup and agent workflows.

Building from source

git clone --recurse-submodules https://github.com/QuintinShaw/openasr.git
cd openasr
cargo build --release -p openasr-cli

Requires Rust (pinned via rust-toolchain.toml), CMake, and a C/C++ toolchain. Full build setup and development workflow in CONTRIBUTING.md.

Models

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 one

Benchmarks from the committed performance baseline are in Performance.

Documentation

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

Contributing

Contributions welcome. See CONTRIBUTING.md for build setup, branch naming, the PR checklist, and DCO sign-off.

License

Apache License 2.0. See NOTICE for attribution.

The ggml inference backend is MIT-licensed. Each model pack's license is defined by its registry entry and pack metadata; packs may use Apache-2.0, MIT, CC-BY, FunASR, or other upstream terms. This is not an exhaustive license guarantee. See ACKNOWLEDGMENTS.md for the projects and model authors OpenASR builds on.

Trademarks and branding

The OpenASR name, logo, and official app icons are reserved. Apache-2.0 covers the code, not the brand. Third-party products may say “Powered by OpenASR” and must not use OpenASR as their primary product name or imply official endorsement. Official apps are published only by the project operators.

About

Local-first speech-to-text: no cloud, no telemetry, fail-closed by design. One CLI, seven model families, signed model catalog, OpenAI-compatible local API.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Contributors

Languages