A whisper in your ear during video calls. earpiece.py transcribes the call live: what you hear (THEM) and
what you say (ME). Claude Code watches the transcript and drops a short hint
as soon as the other side asks a question.
Works with any call app (Zoom, Meet, Teams…) because it records the system audio, not the app. Windows and Linux.
[15:03:12] THEM: Do you support mTLS on the test environment?
💡 Yes, mTLS on both test and prod.
- client cert signed by our CA, 1-year validity
- test env: allow-list your IPs first
python -m venv .venv
.venv/Scripts/pip install -r requirements.txt # Linux: .venv/bin/pipOptional but recommended: a Gemini key, free at aistudio.google.com/apikey
(~$0.1 per hour of call on a paid plan). Put it into .env next to the script:
GEMINI_API_KEY=your-key
OPENAI_API_KEY works too. With no key it falls back to a local Whisper model (faster-whisper, CPU, offline).
- Put your call prep (agenda, facts, numbers, likely questions) into
notes/. - Run
claudein this folder and type start. Join the call. - Hints appear in the terminal. Type ? to get a suggestion on what to say next.
- Type stop to end and get a summary plus a follow-up email draft.
Transcripts go to calls/. Transcriber alone, without Claude: run.cmd or python earpiece.py --help.
- Headphones are recommended, so your mic doesn't pick up the other side.
--langsets the spoken language (defaulten),--termspasses names and jargon to improve recognition.bench.pycompares engines on your own recordings insamples/.- Call audio is sent to Google or OpenAI unless you use
--engine local. - If Claude Code stops the transcriber when RAM is low, start it with
CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP=1.