Skip to main content

Lumi

Lumi is a speech-to-text utility that lets you instantly transcribe your speech with a simple keyboard shortcut.

Quick Start

# Install Lumi
pip install lumi-ai

# Start Lumi
lumi

Then:

  1. Double-tap Option key → Start recording
  2. Speak clearly
  3. Single-tap Option key → Stop recording
  4. Your transcription appears instantly where your cursor is! As well as in your clipboard, so you can paste it.

That's it! No complicated setup or configuration needed.

NOTE! First time you run it, if using MLX it will need to download models, so might take a bit, when you see Speech-to-text service started. it means all is ready.

Features

  • Easy activation with double-tap Option key hotkey
  • Single-tap to stop recording (more intuitive)
  • Automatically transcribes speech when recording stops using Groq, ElevenLabs APIs, or local MLX Whisper
  • Copies transcription to clipboard and automatically pastes it
  • Plays lightweight notification sounds when recording starts/stops
  • Command-line interface with configuration options
  • Primarily tested on macOS (may work on other platforms but not fully tested)

Requirements

  • Python 3.12+
  • PortAudio library (brew install portaudio on macOS)
  • For local transcription (default):
    • MLX (Apple Silicon Macs only) - no API key needed
  • For cloud transcription (optional):
    • Groq API key or
    • ElevenLabs API key

Installation

From PyPI

pip install lumi-ai

Or with uv:

uv pip install lumi-ai

After installation, you can use the lumi command directly from your terminal.

From Source

  1. Clone this repository
  2. Install dependencies with uv sync
  3. Run with uv run -m src.lumi.s2t

Development Installation

For development:

uv pip install -e .

Advanced Configuration

Command-line Options

# Choose transcription service
lumi --service mlx            # Use local MLX Whisper (default, no API key needed)
lumi --service groq           # Use Groq API
lumi --service elevenlabs     # Use ElevenLabs API

# API keys
lumi --api-key YOUR_GROQ_API_KEY
lumi --service elevenlabs --elevenlabs-api-key YOUR_ELEVENLABS_API_KEY

# Specify models
lumi --service groq --model whisper-large-v3-turbo
lumi --service elevenlabs --model scribe_v1
lumi --service mlx --model mlx-community/whisper-large-v3-turbo

# Other options
lumi --no-auto-paste          # Disable auto-pasting
lumi --debug                  # Enable debug logging

Keyboard Controls

  • Double-tap Option: Start recording
  • Single-tap Option: Stop recording
  • Ctrl+C: Exit application

Advanced Features

  • Automatic fallback to alternative audio input devices
  • Temporary recordings stored in system temp directory
  • Sound notifications for recording start/stop
  • Auto-paste functionality (can be disabled with --no-auto-paste)
  • Platform-aware keyboard shortcuts (Cmd+V on macOS, Ctrl+V elsewhere)
  • Debug mode for troubleshooting with detailed logging

Platform Support

  • macOS: Fully supported and tested
  • Linux/Windows: Basic functionality may work but not extensively tested
  • MLX Whisper: Only works on Apple Silicon Macs

Development

  • Install dependencies: uv sync
  • Add dependency: uv add package_name
  • Lint: ruff check .
  • Format: ruff format .
  • Test: pytest
  • Test specific file: pytest path/to/test_file.py

Release files for lumi-ai 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lumi-ai 0.1.2
File Size Uploaded
lumi_ai-0.1.2.tar.gz 18.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lumi-ai 0.1.2
File Interpreter ABI Platform
lumi_ai-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 37.3 kB

Release files / lumi_ai-0.1.2.tar.gz

Download URL lumi_ai-0.1.2.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7224becd2ea7c60aaa6eb9373ed19d812b0a633240e760033d8626a694e459bc
BLAKE2b-256 checksum
How to use checksums
6447ef14459705b1913d35e87a21081769d25d1bc4af01f1dc5201e50e0bc53e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.7

Release files / lumi_ai-0.1.2-py3-none-any.whl

Download URL lumi_ai-0.1.2-py3-none-any.whl
Size 19.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
30c92ce4cf34208706b7a3906866fb48097c5eb7e85a7dd008a97af8bdae573c
BLAKE2b-256 checksum
How to use checksums
6197e6b2021cff997d90ee74df19e32d9a6b12e84236222b0daf4cf1a6053f34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.7

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page