A sleek KDE Plasma application that records audio and transcribes it in real-time using OpenAI's Whisper. Created by Guilherme da Silveira.
- 🎙️ Easy Recording: Start/stop recording with a single click in the system tray
- 🔊 Live Volume Meter: Visual feedback while recording
- ⚡ Global Shortcuts: Configurable keyboard shortcuts for quick recording
- 🎯 Microphone Selection: Choose your preferred input device
- 📋 Instant Clipboard: Transcribed text is automatically copied to your clipboard
- 🎨 Native KDE Integration: Follows your system theme and integrates seamlessly with Plasma
-
Ensure all Prerequisites are installed first.
-
Clone the repository:
git clone https://github.com/gbasilveira/telly-spelly.git
cd telly-spelly- Run the installer:
python3 install.pyThe installer will:
- Create a virtual environment with
--system-site-packages(to access system whisper/torch) - Install additional Python dependencies (PyQt6, numpy, scipy, etc.)
- Set up the application in your user directory
- Create desktop entries and icons
- Configure the launcher
- Python 3.11+
- KDE Plasma desktop environment
- PortAudio (for audio recording)
- CUDA-capable GPU (optional, for faster transcription)
Ubuntu/Debian:
sudo apt install python3-pyaudio portaudio19-dev python3-pipFedora:
sudo dnf install python3-pyaudio portaudio-devel python3-pipThis application requires OpenAI Whisper and PyTorch to be installed system-wide (not in a virtual environment). The app's venv uses --system-site-packages to access these.
# Install whisper and torch system-wide
sudo pip install openai-whisper torch --break-system-packagesNote: The
--break-system-packagesflag is required on modern Debian/Ubuntu systems due to PEP 668. This is safe for these specific packages.
For significantly faster transcription, install NVIDIA drivers:
Ubuntu:
sudo apt install nvidia-driver-580-open
sudo rebootVerify GPU is available:
nvidia-smi
python3 -c "import torch; print('CUDA available:', torch.cuda.is_available())"Without GPU, whisper will use CPU (slower but functional).
Global keyboard shortcuts use evdev to capture key events, which requires read access to /dev/input/event* devices. Add your user to the input group:
sudo usermod -aG input $USERLog out and back in for the group change to take effect.
Verify with:
groups | grep inputNote: Without this, the app will still work but global shortcuts won't function (you'll need to click the tray icon instead).
- Launch "Telly Spelly" from your application menu or run:
telly-spelly- Click the tray icon or use configured shortcuts to start/stop recording
- When recording stops, the audio will be automatically transcribed
- The transcribed text is copied to your clipboard
- Right-click the tray icon and select "Settings"
- Configure:
- Input device selection
- Global keyboard shortcuts
- Whisper model selection
- Interface preferences
To remove the application:
python3 uninstall.py- Built with PyQt6 for the GUI
- Uses OpenAI's Whisper for transcription
- Integrates with KDE Plasma using system tray and global shortcuts
- Records audio using PyAudio
- Processes audio with scipy for optimal quality
Contributions are welcome! Feel free to:
- Report issues
- Suggest features
- Submit pull requests
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI Whisper for the amazing speech recognition model
- KDE Community for the excellent desktop environment
- All contributors and users of this project
Guilherme da Silveira
Made with ❤️ for the KDE Community