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-turbomodel for near-instant transcription. - Wayland Native: Uses
uinput(viakeyboard) andwl-clipboardfor 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(usuallylibportaudio2orportaudio19-dev)- Root Privileges: Required for global hotkey detection and simulated typing (
uinput). - Wayland Users: Ensure
wl-clipboardis installed (sudo apt install wl-clipboardor 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.
- Press and Hold the hotkey (Default:
ctrl+win). - Speak into your microphone.
- Release the hotkey.
- 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:
- Edit
wisper_typer.serviceto point to your installation. - Copy to
/etc/systemd/system/. - 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-copyis installed. - Microphone Not Working: Check your audio input device with
arecord -l. - API Errors: Verify your
GROQ_API_KEYis correct in~/.wisper-typer.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ede9018f4541acb35a32473a3a33fda0da211abce40daaa9407a42f751ca70f
|
|
| MD5 |
7c653247ea33d122f5f052cf43e0142a
|
|
| BLAKE2b-256 |
a4cba79d8c76743a0ed1ad08e7142863b01bf8a65ff503f672de126d2648944f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24ce07085736fab385b725b4a0e50d0ec72f02bfb4753187852ee97b3355bcfa
|
|
| MD5 |
4ac1db1f6dc04c1e6da2bf452cf27115
|
|
| BLAKE2b-256 |
81dc9457eee491e877dab9b7c576519c4a6d56837b2ef42d25f84bee330a961a
|