# YazSes

> YazSes is an open-source, offline voice-dictation daemon for Linux, macOS, and Windows. Hold a key, speak, release — your speech is transcribed locally with faster-whisper and typed into the focused app. It also recognises editor/terminal voice commands and user-defined macros. No cloud, no API key, no subscription; nothing leaves the machine by default.

## What it is

YazSes is a hold-to-talk voice daemon that replaces cloud dictation tools. When you hold the hotkey it records audio, runs a calibrated voice-activity gate, transcribes with faster-whisper (CPU, int8), and classifies the utterance: by default the text is typed at the cursor (dictation); a fast regex command grammar (with an optional small SLM router for low-confidence cases) instead maps recognised phrases to editor/terminal key sequences. It is not an LLM agent.

## Who it is for

- Writers and developers who want offline dictation without sending audio to Google, Apple, or Microsoft
- Developers who want hands-free editor/terminal voice commands (undo, save, go-to-line, run tests, rename symbol)
- Accessibility users who need hold-to-talk or EMG-triggered hands-free input with full privacy
- Anyone who wants a self-improving, on-device dictation tool with no subscription

## What makes it different

- **Fully offline**: audio and text stay on the machine by default; no cloud, no API key, no subscription
- **Dictation + voice commands**: speak to type, or use a regex command grammar (+ optional SLM router) that maps phrases to key sequences
- **Hold-to-talk**: natural push-to-talk that works in any focused app
- **Dysfluency-Friendly Mode**: opt-in collapse of stutters/repeats for stuttered or dysarthric speech
- **Self-improving**: opt-in, encrypted on-device learning corpus; `yazses tune` proposes accuracy fixes from your own corrections
- **EMG support**: can be triggered by a USB muscle sensor for hands-free use by people with motor disabilities

## Compared to alternatives

| Tool | Offline | Voice commands | Linux | macOS/Windows | Free | Open source |
|---|---|---|---|---|---|---|
| YazSes | yes | yes (grammar + optional SLM) | yes (X11 & Wayland) | yes | yes | yes (Apache-2.0) |
| Dragon NaturallySpeaking | yes | yes | no | Windows | no | no |
| Talon Voice | yes | yes (advanced scripting) | yes | yes | freemium | no |
| nerd-dictation | yes (VOSK) | via Python config | yes | no | yes | yes (GPLv3) |
| Vocalinux | yes (whisper.cpp/VOSK) | yes | yes (X11 & Wayland) | no | yes | yes (GPLv3) |
| Wispr Flow | no (cloud) | limited | no | yes | no | no |
| Google Dictation | no | no | yes | yes | yes | no |
| Apple Dictation | partial | limited | no | macOS | yes | no |
| Whisper + scripts | yes | no | yes | yes | yes | yes |

YazSes's distinguishing combination: it is the only one of these that is **both**
cross-platform (Linux + macOS + Windows) **and** covers live dictation, offline file
transcription, and whole-meeting capture with speaker labels from one install.
nerd-dictation is more minimal; Vocalinux has GPU acceleration; Talon is more powerful
for voice control; Dragon is more accurate on specialist medical/legal vocabulary.

## Quick start

```sh
# Any OS with Python >= 3.11
pipx install yazses

# Linux (Debian/Ubuntu)
bash <(curl -fsSL https://raw.githubusercontent.com/MSKazemi/yazses/main/install-apt.sh)

# Any distro (snap)
sudo snap install yazses

# First run
yazses doctor     # check mic, injection backend, permissions
yazses enroll     # calibrate your microphone (~30 s)
yazses start      # start the dictation daemon
```

## Frequently asked questions

**Does it work without internet?** Yes. Transcription runs locally with faster-whisper. No audio or text is sent anywhere by default.

**Is it an AI agent?** No. YazSes dictates text and runs editor/terminal voice commands. It does not browse, reason over files, or hold a conversation.

**What GPU do I need?** None — it runs on CPU. 4 GB RAM minimum, 8 GB comfortable.

**Does it work with Wayland?** Yes, via wtype or ydotool.

**Is it a replacement for Talon?** YazSes focuses on offline dictation plus a practical command grammar. Talon has far more advanced scripting. They can coexist.

**Is there an Android app?** Not yet — no APK exists today. The Android port is in design in the open: ten public architecture decision records and seventeen open issues, at https://mskazemi.com/yazses/mobile/index.html. It will be a keyboard whose mic key you hold to dictate into any app, fully on-device.

**Is there an iPhone/iPad app?** No, and it follows Android deliberately: no iOS app extension — including a custom keyboard — may access the microphone (Apple's rule since iOS 8), so an iOS version must be a different product shape. macOS is already supported by the desktop app.

## Use cases

- Voice dictation on Linux (X11 and Wayland): https://mskazemi.com/yazses/use-cases/voice-dictation-linux
- Voice dictation on Wayland (GNOME, KDE Plasma, sway, Hyprland): https://mskazemi.com/yazses/use-cases/voice-dictation-wayland
- Private/confidential dictation with no cloud (clinical, legal, air-gapped): https://mskazemi.com/yazses/use-cases/private-offline-dictation
- Coding by voice (spoken symbols, cased identifiers, LaTeX, git): https://mskazemi.com/yazses/use-cases/voice-coding
- Controlling the computer by voice (commands, macros, shortcuts): https://mskazemi.com/yazses/use-cases/voice-commands
- Accessibility, RSI and hands-free use (incl. dysfluency-friendly mode): https://mskazemi.com/yazses/use-cases/accessibility-rsi-hands-free
- Transcribing recordings offline with speaker labels: https://mskazemi.com/yazses/use-cases/transcribe-audio-offline
- Multilingual dictation and code-switching: https://mskazemi.com/yazses/use-cases/multilingual-dictation
- Dictation over SSH into a remote server: https://mskazemi.com/yazses/how-to/remote-dictation
- Research — the science of post-keyboard input (overview; measured text-entry rates by modality, glossary, full reference list): https://mskazemi.com/yazses/research/
- Research — eye control with a webcam (measured gaze accuracy 1-4 degrees, why look-to-window works and look-to-caret does not, gaze deixis, citations): https://mskazemi.com/yazses/research/eye-control
- Research — local speech recognition state of the art (WER and CPU speed per engine, latency budget, whispered speech as a command channel, citations): https://mskazemi.com/yazses/research/voice-control
- Research — muscle (EMG) vs brain (EEG) computer control, measured (why consumer-EEG switches are really muscle artifacts; sEMG at 20.9 WPM vs speech at ~150; accessibility stakes): https://mskazemi.com/yazses/research/muscle-brain-control
- Research — work with us: student/thesis projects, research-platform seams, how to cite: https://mskazemi.com/yazses/research/get-involved
- Offline meeting transcription and minutes: https://mskazemi.com/yazses/meeting-notes-offline

## Documentation

- Use cases overview: https://mskazemi.com/yazses/use-cases/
- Install on Linux: https://mskazemi.com/yazses/install-linux
- Install on macOS: https://mskazemi.com/yazses/macos-install
- Install on Windows: https://mskazemi.com/yazses/windows-install
- CLI reference: https://mskazemi.com/yazses/cli-reference
- Comparison & alternatives: https://mskazemi.com/yazses/comparison
- FAQ: https://mskazemi.com/yazses/faq
- Privacy statement: https://mskazemi.com/yazses/privacy-statement
- Android / mobile programme (in design): https://mskazemi.com/yazses/mobile/index.html

## Citation

YazSes is described in a peer-reviewable preprint. Cite this when referencing the system:

> Mohsen Seyedkazemi Ardebili. "YazSes: An Offline, Privacy-First, Cross-Platform
> Hold-to-Talk Voice-Dictation System." arXiv:2607.28878 (2026).
> https://arxiv.org/abs/2607.28878

The paper reports word error rates between 2.59% and 4.82% with real-time decoding on CPU.

## Project info

- Paper (arXiv): https://arxiv.org/abs/2607.28878
- Repository: https://github.com/MSKazemi/yazses
- PyPI: https://pypi.org/project/yazses/
- Snap Store: https://snapcraft.io/yazses
- Issues: https://github.com/MSKazemi/yazses/issues
- License: Apache 2.0
- Maintainer: Mohsen Seyedkazemi Ardebili (mohsen.seyedkazemi@gmail.com)
