Echo is private, local dictation for Linux. Press Super+Alt+Space, speak, then press it again. Echo transcribes the recording on your machine and inserts the transcribed text at the active cursor.
Echo publishes Linux x86-64 packages on
GitHub Releases. Use the .deb on
Debian or Ubuntu, the .rpm on Fedora, or the AppImage on other distributions.
sudo apt install ./FILE.deb
# or
sudo dnf install ./FILE.rpm
# or
chmod +x FILE.AppImage && ./FILE.AppImageThe raw echo-desktop binary is also available for systems that already have
its desktop libraries. Packages and the AppImage are the recommended installs.
- Open Echo from the application menu.
- Choose and test a microphone on Home.
- Install a local speech engine when Echo prompts you.
- Finish the shortcut check. On older GNOME versions, Echo offers an explicit Set up GNOME shortcut action.
- Put the cursor in another application. Press Super+Alt+Space, speak, and press the shortcut again.
Echo stays in the tray when its window closes. Home shows recording and transcription progress; History stores completed transcripts; Dictionary lets you define spoken-to-written replacements.
Audio and transcripts stay on this machine. Speech recognition, Dictionary replacements, and text insertion run locally. Echo uses the network only to download speech models and managed runtime components that you choose to install.
Settings and local data follow the XDG directories. Models and all managed
runtimes and components normally live in ~/.cache/echo; history and
dictionary data normally live in ~/.local/share/echo.
Each root uses an absolute ECHO_CONFIG_DIR, ECHO_DATA_DIR, or
ECHO_MODEL_DIR override first, then the corresponding absolute XDG directory,
then an absolute HOME. An explicit Echo override that is empty or relative is
an error. Empty or relative XDG values are ignored and may fall back to an
absolute HOME. Echo stops with an actionable error when no secure absolute
root can be resolved. It never falls back to a fixed directory under /tmp.
The desktop binary can transcribe a WAV file without opening the app:
echo-desktop transcribe speech.wav --engine whisper --language deSee the CLI reference for recording, JSON output, language catalogs, and one-run engine overrides.
You need Rust 1.89 or newer, Node.js 22 or newer, and the native desktop dependencies for your distribution. On a prepared system:
npm ci --prefix frontend
npm run build --prefix frontend
cargo build --releaseRun ./target/release/echo-desktop. See
troubleshooting for Debian and
Ubuntu build packages.
- Troubleshooting
- GPU runtime
- Architecture
- Quality assurance
- Release process
- Release history cleanup
- Third-party component notices
Echo is available under the MIT license. Managed runtimes and model weights retain the terms listed in THIRD_PARTY.md.