Issue · · Local-first dictation for Linux

Speak.
It types.It answers.

Fono is a free, open-source voice dictation and voice assistant for Linux. Press a hotkey, speak, and your words appear in the focused window. Whisper runs locally for privacy; Groq, OpenAI, Cerebras, Anthropic, and Deepgram are one command away for speed. Distributed as a single static Rust binary under GPL-3.0 with zero telemetry.

A lightweight dictationlightweight assistant system for Linux, macOS, and Windows. Local for privacy. Cloud for performance. Self-host on your LAN. State‑of‑the‑art on whatever silicon you have.

$ curl -L https://fono.page/install | sh
Star on GitHub
License
GPL-3.0-only · audit every byte
Runs on
Linux · X11 , Wayland
Roadmap
macOS · Windows
Telemetry
None. Ever.
№01 · Manifesto

Six things, done well.

Dictation on Linux has been Electron apps with subscriptions or Python scripts that never quite work. Fono is a third option.

01

Local first.

Whisper runs on your machine. Audio never leaves the box unless you opt in. Your voice stays yours.

02

Cloud fast.

One command swaps in Groq, OpenAI, Cerebras, Anthropic, or Deepgram. Bring your own key. No restart.

03

It answers.

Hit F8 instead of F7 to fire the voice assistant. Ask a question, hear the reply spoken back.

04

Hardware aware.

fono setup probes your machine, picks the right model size, and binds the hotkeys. One minute flat.

05

Server mode.

Run Fono in server mode on your fastest machine. Clients find it automatically — Home Assistant included.

06

Open source.

GPL-3.0-only. Single static Rust binary. No telemetry. No accounts. No upsell. Ever.

№02 · Install

Sixty seconds.

One curl, one binary, /usr/local/bin. Distro-native packages below if you prefer.

One-liner · any Linux
$ curl -L https://fono.page/install | sh
Detects your arch, fetches the latest release binary, installs to /usr/local/bin/fono. Inspect the script before piping.
Debian / Ubuntu
sudo apt install ./fono_0.7.1_amd64.deb
Slackware / NimbleX
installpkg fono-0.7.1-x86_64-1.txz
Arch / Manjaro
sudo pacman -U fono-0.7.1-1-x86_64.pkg.tar.zst
Other Linux
bare binary from Releases
macOS
planned · Linux first
Windows
planned · Linux first
First run · hot-swap
$ fono setup            # picks local vs cloud, installs models
$ fono                  # starts the daemon (tray + hotkeys)
$ fono use cloud groq   # swap STT + LLM, no restart
$ fono keys add GROQ_API_KEY
№03 · Pipeline

Four small pieces.

Two pipelines share the first half. Each stage is swappable between local and cloud.

01

Capture

PipeWire, PulseAudio, or ALSA. VAD trims silence before bytes ever leave the mic.

02

Transcribe

whisper.cpp on-device, or Groq · OpenAI · Cerebras · Deepgram on the wire.

03

Cleanup

Optional small LLM strips filler, restores punctuation, fixes names. Local or cloud.

Think

Local Ollama or cloud LLM reasons over your question, streaming tokens as they come.

04

Type

Text lands in the focused window via paste injection. Universal on X11. No clipboard hijack, no per-app integration.

Speak

Kokoro or Piper on-device, or cloud TTS. The reply streams back through your speakers.

№04 · Compatibility

Runs on your Linux.

Linux first. macOS and Windows next. If your distro boots, Fono should run.

Display server
X11Wayland
Audio backend
PipeWirePulseAudioALSA
STT providers
whisper.cpp (local)GroqOpenAICerebrasDeepgram
LLM providers
Local (llama-cpp)GroqOpenAIAnthropicCerebras
TTS providers
GroqOpenAIOpenRouterGoogle (in progress)
Tested distros
Debian / UbuntuSlackware / NimbleXany glibc Linux (bare binary)
№ 05 · Questions

Things people ask.

Short, honest answers. If yours isn’t here, open an issue on GitHub.

Does Fono work offline?

Yes. The default configuration runs whisper.cpp on your machine. Audio never leaves the box unless you explicitly opt into a cloud provider.

Can Fono answer questions, or is it dictation-only?

Both. F7 is dictation — your words land in the focused window. F8 is the voice assistant — Fono transcribes your question, runs it through a local Ollama model or a cloud LLM (Groq, OpenAI, Anthropic, Cerebras), and speaks the reply back through Kokoro or Piper on-device, or a cloud TTS. Same daemon, same hotkey muscle memory, different brain.

Does Fono work on Wayland?

Yes. Both X11 and Wayland are supported as first-class targets. Paste injection is universal on X11; on Wayland Fono uses the standard portals.

Which Linux distributions are supported?

Any glibc Linux. Native packages exist for Debian/Ubuntu, Slackware/NimbleX, and Arch/Manjaro. Everything else uses the bare static binary from GitHub Releases.

Is there telemetry or analytics?

No. None. The daemon makes no analytics calls. The only outbound traffic is to the cloud STT, LLM, or TTS provider that you explicitly configured.

How do I switch from local Whisper to a cloud provider?

Run fono use cloud groq (or openai, cerebras, anthropic, deepgram). Add your API key with fono keys add PROVIDER_API_KEY. No restart needed.

Are macOS and Windows supported?

They are on the roadmap. Linux is the primary target and ships first; macOS and Windows builds follow.

Can I self-host Fono on my LAN?

Yes. Run Fono in server mode on the fastest machine on your network. Other clients, including Home Assistant, discover the server automatically over mDNS.

Does Fono use the GPU?

Fono provides a GPU build that uses Vulkan to run Whisper on your GPU, making it incredibly fast. With a mid-range graphics card, it can transcribe your speech almost instantly. This works on nearly all Nvidia, AMD, and Intel GPUs made in the last few years. This is especially usefull when running larger models.

What’s the φ in the favicon?

The Greek letter phi. “Fono” comes from the Greek root φων- meaning voice or sound — the same root in phonetics, phonograph, telephone, and symphony.

Stop typing.
Start saying.

Fono is free, open source, and waiting for you to press the hotkey.

$ curl -L https://fono.page/install | sh
Star on GitHub