Skip to content

Repository files navigation

Dictator icon

Dictator

Dictator is a GTK4/libadwaita app for GNOME. Press Ctrl+Alt+Space, speak, press Enter, and the text is on your clipboard. Offline transcription runs on your CPU with Moonshine Voice. Cloud mode is available when you want it.

The Dictator window transcribing speech

Install

Download Dictator.flatpak from the latest release, then:

flatpak install --user Dictator.flatpak
flatpak run io.github.aradar46.Dictator

It needs the GNOME runtime, which most systems already have:

flatpak info org.gnome.Platform//50 || flatpak install flathub org.gnome.Platform//50

The first offline launch downloads about 640 MB of speech models into the app's cache. After that, offline mode loads in well under a second and does not need the network.

Use

Ctrl+Alt+Space toggles dictation globally. Approve GNOME's permission prompt on first run; rebind it in Settings under Keyboard. The window starts listening as soon as the models are loaded. Words appear in blue italic while Moonshine is still deciding, then settle into plain text once committed.

Key Does
Enter Copy everything to the clipboard and hide
Shift+Enter New line
Esc Hide without copying, keep the shortcut alive
Ctrl+Q Quit

The microphone button in the header bar pauses and resumes. These phrases work while dictating:

Say Does
"new line" Line break
"scratch that" Undo the last committed phrase
"delete word" Delete the last word
"delete sentence" Delete back to the previous sentence
"stop dictation" / "pause dictation" Pause listening
"start dictation" / "resume dictation" Resume listening

Offline and cloud modes

Dictator supports two dictation engines. Switch between them in Preferences or with command-line flags:

  1. Offline Mode (Moonshine Voice): Runs locally on your CPU. Real-time streaming transcription with live provisional words and voice commands ("new line", "scratch that", "delete word"). Completely private, zero network requests once models are downloaded.
  2. Cloud Mode (Groq Whisper): Sends recorded audio to the Groq Whisper API (whisper-large-v3-turbo or whisper-large-v3). It supports diverse accents and languages. You need a Groq API key from console.groq.com in Preferences.

Notes

  • wl-clipboard is bundled into the Flatpak on purpose. Without it the clipboard selection dies the moment the app quits, which is every time you press Enter.
  • PortAudio is built into the Flatpak too, since the GNOME runtime does not ship it and sounddevice will not open a microphone without it.
  • The shortcut goes through org.freedesktop.portal.GlobalShortcuts. Sandboxed apps cannot grab hotkeys directly, and the portal needs a Wayland surface handle to bind against, which is another reason there is no X11 fallback.

License

GPL-3.0-or-later, see LICENSE.

AI disclosure

Some code and documentation were written with AI assistance. See what I delegate to AI and what I don't for the project’s disclosure.

About

Hold To Dictate, Locally. Hold a shortcut, speak, and paste the transcript. Offline dictation for GNOME.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages