An open-source Otter / Gemini alternative. Live transcription, speaker diarization, AI summaries, action items, and an “ask-your-meeting” chat — with nothing leaving your computer and no subscription.
Otter sends your audio to the cloud, charges $8–30/user/mo, and caps your minutes. MeetingScribe doesn’t.
| Otter.ai | MeetingScribe | |
|---|---|---|
| Where audio is processed | Their servers | Your machine / your GPU |
| Price | $8–30 / user / month | Free (MIT) |
| Minute caps | 300–1,200 / mo | Unlimited |
| API keys / account | Required | None |
| Works with Meet & Zoom | Yes | Yes (system-audio capture) |
| Source code | Closed | Open |
The features that make notes actually useful, running on hardware you control.
Watch text appear as people talk — a small Whisper model drafts it in real time on your CPU. Pick a language or auto-detect.
Separates who said what. Your mic is anchored as “Me”; remote voices become Speaker 1, 2, …
Name a voice once and MeetingScribe remembers it — the same person is auto-labeled in your future meetings (local voice embeddings, no cloud).
A local quantized LLM writes the overview, key points, and decisions. Extractive fallback always works — no keys.
Auto-extracted with owner and due date, checkable right in the dashboard.
”What did we decide about the budget?” — chat over the transcript and get a grounded answer.
Cross-meeting Q&A with citations across your whole history — like Fireflies AskFred or Fathom Perfect Recall, but 100% local.
Teach it names and jargon so proper nouns land right — edit live in the dashboard, no retraining.
Click any transcript line to jump there. The playing line highlights and auto-scrolls as you listen.
Star the lines that matter and leave notes — collaboration features without sending anything to a server.
Download any transcript line as an audio clip, or stitch every starred line into one shareable reel — like tl;dv, but local.
Who dominated the call? Per-speaker talk share, word counts, and words-per-minute.
Turn “Speaker 1” into real names in one click — flows through the transcript, exports, and analytics.
Markdown, plain text, SRT/VTT subtitles, and JSON — your notes, your formats.
Full-text search across every past meeting, powered by SQLite FTS5.
Connect Zoom or paste any calendar's secret .ics URL — capture starts when a scheduled meeting begins and stops when it ends. No OAuth needed for .ics.
A rolling summary and detected action items appear while the meeting is still going — catch up at a glance.
Organize meetings with tags and filter your whole history in one click.
Every action item across every meeting in one list — filter to what's open, tick things off, jump to the source.
Each meeting gets salient topic keywords pulled from the transcript — skim what it was about at a glance.
Heavy batch ML (large-v3 + diarization) can run on a remote SLURM GPU node, or fully on local CPU.
No cloud, no accounts, no telemetry. Your recordings and notes never leave your disk.
It listens to your system audio + mic — so it works the same for Meet and Zoom, with no bot or vendor API.
Python 3.10–3.12. faster-whisper needs no GPU; everything runs on CPU (just slower).
# install
python -m venv .venv && .venv\Scripts\activate # Windows
pip install -e .
# configure (optional: HF token only for the gated pyannote diarizer)
copy .env.example .env
# run the dashboard
meetingscribe serve # → http://127.0.0.1:8765
# …or record from the terminal
meetingscribe record -t "Team standup" -p meet
Then join your Meet/Zoom call, hit Start, and hit Stop when you’re done. Notes appear automatically.
A few things we’re upfront about.
It records the meetings you attend (hands-free, on schedule). A bot that joins a call while you’re away would need the Zoom Meeting SDK — deliberately out of scope for a key-free tool.
High-quality pyannote diarization by default (free Hugging Face weights), with a fully key-free embedding-based fallback that needs no token at all.
Recordings, transcripts, and notes live in a folder on your disk. Delete a meeting and it’s gone — no server copy.