Skip to content

roger704/meeting-transcriber

Repository files navigation

Meeting Transcriber

Chrome extension that auto-transcribes meetings with speaker identification. Works with Microsoft Teams, Google Meet, Zoom, and WebEx.

Features

  • 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

Installation

1. Generate Icons

Open generate-icons.html in Chrome, then download the 3 PNG files to the icons/ folder.

2. Load Extension

  1. Go to chrome://extensions/
  2. Enable "Developer mode" (top right)
  3. Click "Load unpacked"
  4. Select the recorder folder

3. Set Up Transcription (choose one)

Option A: Local Whisper Server (Free, Offline)

cd whisper-server
pip install -r requirements.txt
python server.py

Leave the server running while using the extension.

Option B: OpenAI Whisper API

  1. Get an API key from OpenAI
  2. Open the extension popup → Settings
  3. Select "OpenAI Whisper API" and enter your key

Cost: ~$0.006 per minute of audio

Option C: AssemblyAI

  1. Get an API key from AssemblyAI
  2. Open the extension popup → Settings
  3. Select "AssemblyAI" and enter your key

Cost: ~$0.01 per minute (best speaker diarization)

Usage

  1. Join a meeting (Teams, Meet, Zoom, or WebEx)
  2. Click the extension icon
  3. Click "Start Recording"
  4. Speak - the transcript will appear in real-time
  5. Use the "Speakers" panel to correct any speaker names
  6. Click "Stop" when done
  7. Export as TXT, SRT, or JSON

How Speaker Identification Works

The extension uses two methods to identify speakers:

  1. 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.

  2. 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.

Supported Platforms

Platform Transcription Speaker Names
Microsoft Teams
Google Meet
Zoom (Web)
WebEx

Privacy & Legal

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.

Development

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

License

MIT

About

Chrome extension to auto-transcribe meetings with speaker identification (Teams, Meet, Zoom)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors