otter-transcribe turns microphone audio into text on your machine. It runs as a daemon, records through PipeWire, and transcribes with a local Parakeet GGUF. No network involved.
otter-transcribe ships in otter-shell-extras, not the base otter-shell metapackage. Extras also pulls otter-transcribe-model, the GGUF under /usr/share/otter-shell/models/transcribe. Install with pikman install otter-shell-extras.Starting the daemon
--model:
The daemon hot-reloads config changes via inotify. You do not need to restart it after editing
otter-transcribe.conf. Theme colors and transcription settings apply immediately. After a model unload, the daemon restarts itself once recording is idle.Controlling with hotkeys
Send commands to the running daemon withotter-transcribectl:
Output modes
Where transcribed text goes after each utterance:Use
clipboard or stdout if virtual keyboard injection is blocked by your compositor or application. Chromium and Electron apps use physical evdev keycodes, which focused mode handles.Recording indicator
While you record, a bottom-center layer-shell indicator shows live PCM level bars so you can see the microphone is open. Setshow_indicator = false in the config file to hide it.
Configuration
Edit transcription settings in otter-settings under the Transcribe tab, or in~/.config/otter-shell/otter-transcribe.conf:
stream:trueemits each finalized utterance chunk in real time.falsereturns one final value for the entire recordingtarget: PipeWire audio source.@DEFAULT_SOURCE@uses the system default microphonemax_seconds: maximum recording length in seconds. When reached, the daemon finalizes and stays alive for future commandsshow_indicator: controls the bottom-center PCM level indicator
background_color, border_color, graph_color, graph_peak_color, text_color) inherit from otter-theme when left unset in the config file.
