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

Run wisper once to generate the configuration file:

wisper

It will create ~/.wisper-typer. Edit it to add your API key:

nano ~/.wisper-typer
# Add your key: GROQ_API_KEY=gsk_XXXX
# Default hotkey is ctrl+win

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: ctrl+win).
  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

Logs

All activity is logged to ~/.wisper-typer.log. View logs with:

tail -f ~/.wisper-typer.log

For service logs, use:

journalctl -u wisper_typer -f

Common Issues

  • Permission Denied: If it crashes or doesn't type, ensure you are running with sudo.
  • No Typing on Wayland: Ensure wl-copy is installed.
  • Microphone Not Working: Check your audio input device with arecord -l.
  • API Errors: Verify your GROQ_API_KEY is correct in ~/.wisper-typer.

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.1.0.tar.gz (8.6 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.1.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wisper_typer-0.1.0.tar.gz
  • Upload date:
  • Size: 8.6 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.1.0.tar.gz
Algorithm Hash digest
SHA256 2ede9018f4541acb35a32473a3a33fda0da211abce40daaa9407a42f751ca70f
MD5 7c653247ea33d122f5f052cf43e0142a
BLAKE2b-256 a4cba79d8c76743a0ed1ad08e7142863b01bf8a65ff503f672de126d2648944f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wisper_typer-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24ce07085736fab385b725b4a0e50d0ec72f02bfb4753187852ee97b3355bcfa
MD5 4ac1db1f6dc04c1e6da2bf452cf27115
BLAKE2b-256 81dc9457eee491e877dab9b7c576519c4a6d56837b2ef42d25f84bee330a961a

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