Private CLI based speech-to-text tool
Project description
ListenerCLI
A fast and easy CLI-based speech-to-text tool that records audio from your microphone, transcribes it using Whisper AI, and automatically copies the result to your clipboard.
╔═══════════════════════════════════════╗
║ ║
║ 🎤 LISTENER CLI 🎤 ║
║ ║
║ Speech-to-Text Transcription ║
║ ║
╚═══════════════════════════════════════╝
Features
- 🎤 Simple Recording: Press Enter to start/stop recording
- 🤖 AI Transcription: Powered by faster-whisper (OpenAI's Whisper)
- 📋 Auto Clipboard: Transcription automatically copied to clipboard
- 🚀 Multiple Models: Choose from tiny to large models (tiny, base, small, medium, large, turbo)
- 🌍 Multi-language: Support for 99+ languages with auto-detection
- ⚡ Local Processing: Everything runs locally on your machine
- 💾 Smart Caching: Models downloaded once and cached for future use
- 🔄 Re-transcribe: Re-process your last recording without re-recording
Installation
Install using uv:
uv pip install listenercli
Or using pip:
pip install listenercli
Usage
Basic Usage
Simply run the command and start speaking:
lci
Steps:
- Run
lci - Press Enter to start recording
- Speak into your microphone
- Press Enter to stop recording
- Wait for transcription (first run downloads the model)
- Your transcription is automatically copied to clipboard and printed to stdout
Available Options
# Use a specific Whisper model
lci --model turbo # Fast and accurate (recommended)
lci --model tiny # Fastest, less accurate (~75MB)
lci --model base # Default, good balance (~145MB)
lci --model medium # More accurate (~1.5GB)
lci --model large-v3 # Most accurate (~3GB)
# Force a specific language
lci --language en # English
lci --language es # Spanish
lci --language fr # French
# Re-transcribe last recording (without re-recording)
lci --last
# List all available Whisper models
lci --list-models
# Adjust audio settings
lci --sample-rate 16000 --channels 1
# See all options
lci --help
Full Command Name
You can also use the full command name:
listenercli
Both lci and listenercli work identically.
Model Guide
| Model | Size | Speed | Accuracy | Best For |
|---|---|---|---|---|
tiny |
~75MB | ⚡⚡⚡ | ⭐⭐ | Quick notes |
base |
~145MB | ⚡⚡ | ⭐⭐⭐ | Default use (balanced) |
small |
~466MB | ⚡ | ⭐⭐⭐⭐ | Good accuracy |
medium |
~1.5GB | 🐢 | ⭐⭐⭐⭐⭐ | High accuracy |
large-v3 |
~3GB | 🐢🐢 | ⭐⭐⭐⭐⭐⭐ | Best accuracy |
turbo |
~809MB | ⚡⚡ | ⭐⭐⭐⭐⭐ | Recommended (fast + accurate) |
Note: Models are downloaded once and cached. First run will be slower.
Environment Variables
LISTENER_CLI_LANGUAGE: Set default language for transcriptionexport LISTENER_CLI_LANGUAGE=en lci
Audio File Location
Recordings are saved to:
- macOS:
~/Library/Caches/listenerCLI/last.wav - Linux:
~/.cache/listenerCLI/last.wav - Windows:
%LOCALAPPDATA%\listenerCLI\Cache\last.wav
You can re-transcribe the last recording with lci --last without recording again.
Requirements
- Python >= 3.13
- Microphone access
- Internet connection (first run only, to download models)
Troubleshooting
No audio device found
Make sure your microphone is connected and accessible. Check system permissions for microphone access.
Model download fails
Check your internet connection. Models are downloaded from Hugging Face on first use.
Transcription is inaccurate
Try a larger model: lci --model turbo or lci --model medium
License
MIT License - see LICENSE file for details
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
Credits
Built with:
- faster-whisper - Fast Whisper transcription
- OpenAI Whisper - Speech recognition model
- Click - CLI framework
- Rich - Terminal formatting
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 listenercli-0.1.0.tar.gz.
File metadata
- Download URL: listenercli-0.1.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31dd38e3ef0dc027136b45d0c2ff0f667479e096eca79add9fbfdee23fc7c149
|
|
| MD5 |
9f9eb1ddb3475dff7e7df2a730c5c994
|
|
| BLAKE2b-256 |
9786bc7657fd38fc8e05bb75c6ab274023ba9ba9238cb8c6fe5d0ee2bd7129b0
|
File details
Details for the file listenercli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: listenercli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75800bcdfb99f51aebe287a27cc3df35af6528f9af5cdf56be925ec622807267
|
|
| MD5 |
6931d1cd2eefba54b85d002db1d351f7
|
|
| BLAKE2b-256 |
ddd999c74e162bac4e484955ca77b98686e206c6d2dc1e3ab4a174eb1e4d8ccf
|