
Pepper X
https://github.com/obra/pepper-x- Category
- Productivity
- Rank
- No. 1586Tools index
Previous survey · No. 1591 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- obra
- GitHub
- 30 stars
- Date
About
GNOME-first local Linux dictation utility inspired by Ghost Pepper.
What it does
Pepper X turns a press-and-hold shortcut into text inside the focused application. It streams speech recognition while you talk, optionally cleans punctuation and self-corrections with a local language model, then inserts the result through accessibility, clipboard, or virtual-keyboard fallbacks. Screen text can provide local disambiguation context.
Why it's ranked here
The design is unusually complete for desktop dictation: recording, recognition, cleanup, insertion, model management, corrections, history, reruns, and diagnostics share one application. The verdict stays mixed because installation requires substantial system setup, and repository plans acknowledge that hostile applications and several polished product flows still need real-session verification or further work.
What's good
All speech and cleanup processing runs locally. Streaming recognition finishes during recording, while a pre-warmed cleanup process reduces work after release. Raw and cleaned transcripts remain separate for diagnosis. The insertion stack prefers text-aware accessibility methods before clipboard mediation or privileged keyboard emulation, and records fallback details for troubleshooting.
Tradeoffs
The supported environment is narrow: modern GNOME on Wayland, specifically recent Ubuntu or Fedora releases. Building requires Rust, native development packages, Tesseract, model downloads, input-group membership, udev rules, helper installation, and a shell extension. Virtual-keyboard fallback remains layout-sensitive and fallback-heavy targets such as terminals, Wine, Xwayland, and custom-rendered interfaces need live testing.
How to use it well
It best suits GNOME users who dictate frequently across ordinary GTK applications, browser text fields, and other accessible controls, while accepting a hands-on installation. Use cleanup for conversational speech, corrections for recurring names, and history reruns for tuning. It does not cover older desktops, non-Wayland environments, cloud transcription, or universal insertion into hostile applications.
Technical notes+
Cargo.toml defines a Rust workspace containing the app plus focused ASR, audio, corrections, models, IPC, session, GNOME platform, cleanup, cleanup-helper, and uinput-helper crates. README.md describes GTK4/libadwaita UI, PipeWire streaming audio, Nemotron ASR, Qwen cleanup through a persistent llama.cpp subprocess, D-Bus extension integration, model downloads, and three WAV/archive CLI modes. docs/architecture/gnome-integration.md specifies the com.obra.PepperX D-Bus contract and keeps ASR, cleanup, OCR, insertion, and history inside the app. docs/architecture/text-insertion-strategy.md orders insertion as semantic AT-SPI, AT-SPI string injection, clipboard-assisted paste, then privileged uinput. docs/architecture/pepper-x-parity-spec.md documents gaps between existing backend capability and desired cleanup, OCR, history, correction, sound, tray, and settings polish. docs/release/pepper-x-v1.md defines package install, upgrade, uninstall, and launch checks.
Observed
- Primary language
- Rust, organized as a Cargo workspace; the GNOME Shell extension uses GJS.
- Platform support
- GNOME 48+ on Wayland, targeting Ubuntu 25.04+ and Fedora 42+.
- Interfaces
- GTK4/libadwaita desktop application, command-line transcription and rerun modes, plus a D-Bus interface for the GNOME Shell extension.
- Installation surface
- Source build with Cargo, native system dependencies, three installed executables, a GNOME extension, udev rules, and separately downloaded local models.
- Processing model
- Local streaming ASR and local language-model cleanup; the README states that no cloud processing is used.
- License
- Licensing is defined per crate; the root README does not declare one repository-wide license.
- Workspace structure
- The root Cargo workspace lists the application and ten focused library or helper crates.
- Verification surface
- The repository documents workspace tests, packaging checks, smoke scripts, and live GNOME Wayland verification requirements.
Read from README.md, Cargo.toml, docs/release/pepper-x-v1.md, docs/architecture/gnome-integration.md, docs/architecture/pepper-x-parity-spec.md, docs/architecture/text-insertion-strategy.md, docs/architecture/uinput-text-injection-spec.md, docs/superpowers/plans/2026-03-28-pepper-x-loop-5-cleanup.md, docs/superpowers/plans/2026-03-28-pepper-x-subprojects-2-5.md, docs/superpowers/plans/2026-03-28-pepper-x-gnome48-recovery.md, docs/superpowers/plans/2026-03-28-pepper-x-iterative-ai-loops.md, docs/superpowers/plans/2026-03-30-pepper-x-ghost-pepper-parity.md.
What it can do
Convert spoken words to text
Audio from microphone → Text transcription
Perform real-time speech recognition
Live audio stream → Live text output
Process voice commands locally
Voice commands → Executed system actions
Integrate with GNOME desktop environment
Speech input → Text input to GNOME applications
Provide offline dictation services
Audio recordings → Transcribed text without internet connection
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.