Speech-to-text application with push-to-talk hotkey for Linux (X11/Wayland)
Project description
TranscribrAI
Speech-to-text application with push-to-talk hotkey for Linux (X11/Wayland).
Features
- Push-to-Talk Recording: Hold a hotkey to record, release to transcribe
- Local Transcription: Uses OpenAI Whisper (via faster-whisper) - no cloud required
- Wayland & X11 Support: Works on both display servers
- Configurable Hotkeys: Set your preferred key combination
- System Tray: Minimize to tray for quick access
- German & English: Full language support
Installation
pip install transcribrai
System Dependencies
Fedora/RHEL:
sudo dnf install portaudio-devel ydotool
Ubuntu/Debian:
sudo apt install portaudio19-dev ydotool
Arch Linux:
sudo pacman -S portaudio ydotool
Wayland Setup
For global hotkeys on Wayland, add your user to the input group:
sudo usermod -aG input $USER
# Log out and back in
Start the ydotool daemon for keyboard simulation:
systemctl --user enable --now ydotool
Usage
transcribrai
Or run directly:
python -m transcribrai
Default Hotkey
- Ctrl+Shift+Space: Hold to record, release to transcribe
Configure in Settings or edit ~/.config/transcribrai/config.json.
Configuration
Configuration file: ~/.config/transcribrai/config.json
{
"hotkey": "ctrl+shift+space",
"audio": {
"device_index": null
},
"transcription": {
"model_size": "base",
"language": "de"
}
}
Whisper Models
| Model | Size | Speed | Accuracy |
|---|---|---|---|
| tiny | 75 MB | Fastest | Lower |
| base | 150 MB | Fast | Good |
| small | 500 MB | Medium | Better |
| medium | 1.5 GB | Slow | High |
| large-v3 | 3 GB | Slowest | Highest |
Requirements
- Python 3.11+
- Linux (X11 or Wayland)
- PipeWire or PulseAudio
- PortAudio library
License
MIT License
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 transcribrai-0.1.0.tar.gz.
File metadata
- Download URL: transcribrai-0.1.0.tar.gz
- Upload date:
- Size: 48.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5eca7d61a3fa8a9fa222be441c1d2b30ced0478b87a04e4e65d67e2aa0f75000
|
|
| MD5 |
02007f105f34823966d1ebf185f76fb7
|
|
| BLAKE2b-256 |
d02fe117aada4594fd6f53bfb128331bdf2fb81b52752d7097a1b47d1b026d30
|
File details
Details for the file transcribrai-0.1.0-py3-none-any.whl.
File metadata
- Download URL: transcribrai-0.1.0-py3-none-any.whl
- Upload date:
- Size: 53.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48e2a4fe506b2b21ea784becf9bb9e6f02a8487277ba4b0d839255f02add9d00
|
|
| MD5 |
d674bc9234639b6755b3c94b88d90e77
|
|
| BLAKE2b-256 |
76ab501fecfd2a734b08493e5e7dbe6dcc8b2e309bee40f6c7505e509122624b
|