Skip to main content

Ultra-fast CLI AI Dictation tool for Linux using Groq API.

Project description

Wisper Typer

Ultra-fast, CLI-based AI Dictation tool for Linux using Groq API. Designed for Wayland and X11 with a focus on speed and minimalism.

Features

  • Ultra-Fast: Uses Groq's whisper-large-v3-turbo model for near-instant transcription.
  • Wayland Native: Uses uinput (via keyboard) and wl-clipboard for compatibility with modern Linux desktops.
  • Global Hotkey: Press and hold to record (default: F4).
  • Auto-Typing: Automatically types the text into any application.

Prerequisites

  • Linux OS
  • Python 3.8+
  • portaudio (usually libportaudio2 or portaudio19-dev)
  • Root Privileges: Required for global hotkey detection and simulated typing (uinput).
  • Wayland Users: Ensure wl-clipboard is installed (sudo apt install wl-clipboard or equivalent).

Installation

1. Install via Pip

pip install wisper_typer

2. Install System Dependencies

Ensure you have the required system libraries:

  • Debian/Ubuntu: sudo apt install portaudio19-dev wl-clipboard
  • Fedora: sudo dnf install portaudio-devel wl-clipboard
  • Arch: sudo pacman -S portaudio wl-clipboard

3. Configure

Create ~/.wisper-typer with your API key:

# ~/.wisper-typer
GROQ_API_KEY=gsk_XXXX
WISPER_HOTKEY=f4

4. Setup Autostart Service (Optional but Recommended)

Run this once to install the systemd service so it runs automatically on startup:

sudo wisper --install-service

Usage

🚀 How to Use

Once installed (manually or via service), Wisper Typer runs in the background.

  1. Press and Hold the hotkey (Default: F4).
  2. Speak into your microphone.
  3. Release the hotkey.
  4. The text will be automatically typed into your active window.

🛠️ Managing the Service

If you installed the service (sudo wisper --install-service), it starts automatically on boot.

  • Check Status: systemctl status wisper_typer
  • Restart: sudo systemctl restart wisper_typer
  • Stop: sudo systemctl stop wisper_typer
  • Logs: journalctl -u wisper_typer -f (View real-time logs)

🏃 Manual Run (No Service)

If you didn't install the service, you must run it manually every time you want to use it:

sudo wisper

(Must use sudo for global hotkey detection)

Autostart (Systemd)

To run automatically at startup:

  1. Edit wisper_typer.service to point to your installation.
  2. Copy to /etc/systemd/system/.
  3. Enable and start: sudo systemctl enable --now wisper_typer.

Troubleshooting

  • Permission Denied: If it crashes or doesn't type, ensure you are running with sudo.
  • No Typing on Wayland: Ensure wl-copy is installed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wisper_typer-0.0.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wisper_typer-0.0.1-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file wisper_typer-0.0.1.tar.gz.

File metadata

  • Download URL: wisper_typer-0.0.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wisper_typer-0.0.1.tar.gz
Algorithm Hash digest
SHA256 f1d79ece30f005ec0af09aa6f07da2d6028c488835b1bdbbff1fb419aece289c
MD5 21bec3dd215ec9108f9c61b29acf519b
BLAKE2b-256 551186285e8ef42ef3163f6b649e2b6b3b7d95db85249008069c9006563c12ef

See more details on using hashes here.

File details

Details for the file wisper_typer-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: wisper_typer-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wisper_typer-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1bd81079a7c2648228404198a517ab79d62cf042cbd86af44e8664bdf7792d62
MD5 52b13278b63048ae96de1bf514f9ff42
BLAKE2b-256 a98e9078abfbb0ec9dd8ab6ba776c5ad9fad68d520d17e78e0e7359d9e6f221f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page