Skip to main content

Tap2Talk

Voice transcription desktop app for macOS - Double-tap Ctrl to start/stop recording, get instant transcription.

Created by unclecode - Author of Crawl4AI (50K+ stars)

Features

  • Simple Controls: Double-tap Ctrl to start/stop recording
  • Instant Transcription: Powered by Groq's Whisper API for fast, accurate transcription
  • Smart Text Insertion: Automatically inserts transcribed text at your cursor position
  • Beautiful Overlay: Native macOS overlay window shows recording status
  • Abort Recording: Double-tap Esc to cancel recording
  • Retry on Failure: Built-in retry mechanism for failed transcriptions
  • Menu Bar App: Runs quietly in your menu bar without cluttering your Dock

Installation

Quick Install

pip install tap2talk

Install from Source

git clone https://github.com/unclecode/tap2talk.git
cd tap2talk
pip install -e .

Setup

  1. Get your Groq API Key:

    • Visit Groq Console
    • Create a free account and generate an API key
    • Keys start with gsk_
  2. Run Tap2Talk:

    tap2talk
    
  3. First Run Setup:

    • You'll be prompted to enter your Groq API key
    • The key is saved securely in ~/.tap2talk/config.yaml

Usage

Quick Start

# Install
pip install tap2talk

# Run (will ask how you want to run it)
tap2talk

# Or start directly as background service
tap2talk start

Service Commands

tap2talk              # Interactive mode (asks service or terminal)
tap2talk start        # Start as background service
tap2talk stop         # Stop background service  
tap2talk status       # Check if running
tap2talk restart      # Restart service
tap2talk logs         # View recent logs

Using Tap2Talk

  1. Grant Permissions: macOS will ask for:

    • Accessibility permission (for keyboard monitoring)
    • Microphone permission (for recording)
  2. Use Hotkeys:

    • Double-tap Ctrl: Start/stop recording
    • Double-tap Esc: Abort recording
  3. Watch the Overlay: A beautiful overlay shows:

    • Recording (red mic icon)
    • Processing (gear icon)
    • Done (checkmark)
    • Aborted (X mark)
    • Error (warning icon)

macOS Permissions

Tap2Talk requires these permissions to function:

  1. Accessibility: System Preferences > Security & Privacy > Privacy > Accessibility
  2. Microphone: System Preferences > Security & Privacy > Privacy > Microphone

Add your Terminal app (Terminal, iTerm2, etc.) to both permission lists.

Configuration

Configuration is stored in ~/.tap2talk/config.yaml:

groq_api_key: "your_api_key_here"
log_level: "info"
auto_paste: true
recording_timeout: 30
model: "whisper-large-v3-turbo"
double_press_threshold_ms: 400
overlay_position: "top-right"
overlay_hide_delay_ms: 2000

Troubleshooting

Permissions Issues

Make sure your terminal has both Accessibility and Microphone permissions in System Preferences.

API Key Issues

  • Groq API keys start with gsk_
  • Get a free key at console.groq.com/keys
  • Check your key is saved in ~/.tap2talk/config.yaml

Recording Not Starting

  • Check the menu bar for the Tap2Talk icon
  • Ensure you're double-tapping Ctrl quickly (within 400ms)
  • Try adjusting double_press_threshold_ms in config

Development

# Clone the repository
git clone https://github.com/unclecode/tap2talk.git
cd tap2talk

# Create virtual environment
python -m venv .venv
source .venv/bin/activate

# Install in development mode
pip install -e .

# Run tests
python -m pytest

Building

# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Build package
uv build

# Install locally
uv pip install dist/tap2talk-*.whl

License

MIT License - see LICENSE file for details.

Author

Created by unclecode

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Acknowledgments

  • Powered by Groq for lightning-fast transcription
  • Built with rumps for macOS menu bar integration
  • Uses PyObjC for native macOS features

Release files for tap2talk 0.2.0

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

Source distribution (sdist)

Source distribution for tap2talk 0.2.0
File Size Uploaded
tap2talk-0.2.0.tar.gz 37.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tap2talk 0.2.0
File Interpreter ABI Platform
tap2talk-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 75.7 kB

Release files / tap2talk-0.2.0.tar.gz

Download URL tap2talk-0.2.0.tar.gz
Size 37.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a88d8d104eff195305022388d181f393307189e8a992546809adf8c8b97f08e2
BLAKE2b-256 checksum
How to use checksums
e7d508a9f93d7a4ae90a5927bde4e741a52036ec5aa6ed2378cdb7f5fd6381b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.18

Release files / tap2talk-0.2.0-py3-none-any.whl

Download URL tap2talk-0.2.0-py3-none-any.whl
Size 37.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
480c9a70f7c51d3fc2aa2816304c4aa77f5e6d0b005996430f5f9f334f4c6a36
BLAKE2b-256 checksum
How to use checksums
b57d80c47ef198bf6bfa0d12bd6df166633c880dfb0c4677e445dff732bb6222
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.18

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

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