Studio PickScribe

Speak. It types.

Local Linux dictation with AI cleanup. Hold a hotkey and talk. The cleaned text lands in whatever app has focus.

PickScribe dictation: a record orb and live waveform, the local pipeline, raw versus cleaned history, and time-saved metrics
Mid-dictation. The waveform is live, whisper.cpp runs locally, and the cleaned text is about to land in the focused app.

How PickScribe works

PickScribe records your microphone, transcribes speech locally with whisper.cpp, cleans the transcript with an OpenAI-compatible LLM provider, and pastes the final text into the focused app. One hotkey to start, the same hotkey to stop. The desktop app wraps the pipeline with a tray, a floating waveform button, history, and metrics.

Local transcription

whisper.cpp turns speech into text on your machine with a multilingual model. The audio never leaves the device.

Cleanup you control

An OpenAI-compatible provider tidies the transcript. Bring your own: DeepSeek, Ollama, LM Studio, or any /chat/completions endpoint.

Local-only mode

One switch guarantees no text leaves the machine. Only loopback cleanup endpoints are allowed, remote providers are blocked, and it falls back to the raw transcript.

Tray, waveform, history

A Tauri 2 app with a tray toggle, a floating live-waveform button that never steals focus, and every transcription stored locally in SQLite with full-text search.

Get PickScribe

Linux, KDE and Wayland first. Bundles a .deb and an .AppImage. Or build from source with Bun and a Rust toolchain.

Audio never leaves your machine. Only the transcribed text is sent for cleanup, and local-only mode keeps even that on the device by allowing loopback endpoints only.