Chrome extension that auto-transcribes meetings with speaker identification. Works with Microsoft Teams, Google Meet, Zoom, and WebEx.
- Real-time transcription - Transcribe meetings as they happen
- Speaker diarization - Identifies different speakers with names from the meeting UI
- Multiple transcription backends:
- Local Whisper server (free, offline)
- OpenAI Whisper API
- AssemblyAI (best speaker diarization)
- Export formats - TXT, SRT (subtitles), JSON
- No recording indicator - Other participants won't see a recording notification
Open generate-icons.html in Chrome, then download the 3 PNG files to the icons/ folder.
- Go to
chrome://extensions/ - Enable "Developer mode" (top right)
- Click "Load unpacked"
- Select the
recorderfolder
cd whisper-server
pip install -r requirements.txt
python server.pyLeave the server running while using the extension.
- Get an API key from OpenAI
- Open the extension popup → Settings
- Select "OpenAI Whisper API" and enter your key
Cost: ~$0.006 per minute of audio
- Get an API key from AssemblyAI
- Open the extension popup → Settings
- Select "AssemblyAI" and enter your key
Cost: ~$0.01 per minute (best speaker diarization)
- Join a meeting (Teams, Meet, Zoom, or WebEx)
- Click the extension icon
- Click "Start Recording"
- Speak - the transcript will appear in real-time
- Use the "Speakers" panel to correct any speaker names
- Click "Stop" when done
- Export as TXT, SRT, or JSON
The extension uses two methods to identify speakers:
-
Meeting UI Detection: A content script monitors the meeting interface for speaking indicators (the colored border that appears around active speakers). When someone speaks, their name is captured from the UI.
-
Voice Profile Matching: Audio analysis creates voice "fingerprints" based on frequency patterns. When the same voice is heard again, it's matched to the previously identified speaker.
| Platform | Transcription | Speaker Names |
|---|---|---|
| Microsoft Teams | ✅ | ✅ |
| Google Meet | ✅ | ✅ |
| Zoom (Web) | ✅ | ✅ |
| WebEx | ✅ | ✅ |
This extension captures audio locally from your browser tab. No data is sent anywhere unless you configure an external API (OpenAI/AssemblyAI).
Important: Recording meetings without consent may violate:
- Local laws (many jurisdictions require all-party consent)
- Platform terms of service
- Workplace policies
Use responsibly and ethically.
recorder/
├── manifest.json # Extension configuration
├── background.js # Service worker
├── content-script.js # Meeting UI scraper
├── offscreen.js # Audio processing
├── popup.html/js # Extension UI
├── transcription-worker.js # In-browser Whisper (experimental)
└── whisper-server/ # Local transcription server
├── server.py
└── requirements.txt
MIT