Dictate text into any Wayland app via a Hyprland hotkey
Run a fully local voice-to-clipboard pipeline with Whisper and Ollama
Mix a Groq transcript with local Ollama cleanup for a faster hybrid setup
Use the brief file as a template to generate a tailored dictation tool for your own Linux setup
Targets Arch + Hyprland + PipeWire + wl-copy; other Linux setups need manual substitution of each pipeline stage.
say_to_clip is a small Linux dictation project that turns a spoken voice clip into text on your clipboard. The author is upfront that it is not a polished product. It is a reference implementation, more like a magazine project you study and adapt than a tool you install and use. The core flow is a hotkey starts microphone recording, the audio is sent to a speech to text service, the result is cleaned up by a language model, and the cleaned text is copied to the clipboard, ready to paste anywhere. The README breaks the system into replaceable parts. The reference version uses a Hyprland keyboard shortcut on Arch Linux to fire a toggle command, pw-record from PipeWire to capture the microphone, either local Whisper or the Groq API for transcription, either local Ollama or Groq again for cleanup, and wl-copy on Wayland for the clipboard step. The point is that each stage is small and swappable, so someone on a different desktop or with different audio tooling can rebuild it with their own choices. The project is shipped as a Bash script called say_to_clip with subcommands like start, stop, toggle, status, and transcribe. It supports several pipeline shapes, including all local processing, all API based, or hybrid setups such as Groq transcription with local Ollama cleanup. There is also an option to skip cleanup and keep the raw transcript, support for the default PipeWire microphone, detection of silent audio before sending it to a model, configuration through a file at ~/.config/say_to_clip/env, and a smoke test script that exercises the configured pipeline end to end. Privacy is treated as a first class concern. By default the transcript is not printed to the terminal, no log file is written, recordings and transcripts are deleted after a successful run, and Groq API keys are kept out of visible command arguments. The README also points to a file called local-dictation-agent-brief.md which is meant to be handed to a coding assistant so the reader can generate their own version tailored to their setup. The licence is Apache 2.0 and the author notes the code itself was written with AI help.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.