Skip to main content

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:

  1. Run lci
  2. Press Enter to start recording
  3. Speak into your microphone
  4. Press Enter to stop recording
  5. Wait for transcription (first run downloads the model)
  6. 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 transcription
    export 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:

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

listenercli-0.1.0.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

listenercli-0.1.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

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

Hashes for listenercli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 31dd38e3ef0dc027136b45d0c2ff0f667479e096eca79add9fbfdee23fc7c149
MD5 9f9eb1ddb3475dff7e7df2a730c5c994
BLAKE2b-256 9786bc7657fd38fc8e05bb75c6ab274023ba9ba9238cb8c6fe5d0ee2bd7129b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for listenercli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 75800bcdfb99f51aebe287a27cc3df35af6528f9af5cdf56be925ec622807267
MD5 6931d1cd2eefba54b85d002db1d351f7
BLAKE2b-256 ddd999c74e162bac4e484955ca77b98686e206c6d2dc1e3ab4a174eb1e4d8ccf

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