The meeting ends at 11:40. At 11:42 you've got an audio file and a vague sense that three things were decided. By Friday, nobody remembers who owned what. This is the part that drove me to transcribe meetings locally instead of relying on whoever took notes.
I'm not talking about a transcript. A transcript records what was said. That's useful, but it's not what anyone needs the day after. What you need is the short version with the commitments pulled out of it: what got decided, who does what, and when it's due. Getting that without uploading the recording anywhere is the whole point, and it's very doable on a normal Windows laptop.
What it takes to transcribe meetings locally
The stack is boring, which is the best thing about it. You record the mic and system audio at the same time, so it catches both sides of Teams, Zoom, or Meet, plus an in-person room. Windows has a WASAPI loopback for grabbing system audio, which is how you avoid the "recording that only hears your half of the call" problem. From there faster-whisper turns the audio into text right on the machine. A GPU helps, but it genuinely runs on CPU with a small model. Then a local LLM reads the transcript and writes the minutes.
For the LLM part, LM Studio running any small model is enough. No API key, no account, nothing leaves the PC. If you already run models locally for other things, you've got half the setup done.
The part that actually saves the week: action items
This is where most transcription tools drop the ball. They give you a wall of text and call it minutes. What changes anything is the local model being told to pull out the action items, and where a person said them, attach an owner and a due date when the recording states one, and leave a decision list and any open questions.
A transcript remembers the conversation. Minutes with owners and dates become something you can forward to the team and have it stick. I stopped caring about verbatim accuracy years ago and started caring about whether the summary reads like the meeting I was in and whether the action list matches what got agreed. That's the difference between notes someone scrolls past and notes that actually close things out.
When the LLM gets a solid prompt, it can usually tell you that Sam owns the revised scope by Thursday and that the incident report is due from Priya, even when that was said mid-sentence in a debate about something else.
From minutes to files
Once the minutes exist they should leave the app. Export to Markdown, plain text, or PDF depending on what the day needs. Markdown for the repo, PDF for the compliance crowd, text when someone just wants it pasted somewhere. Your minutes end up as files on your own disk, which means they're searchable, yours, and never sitting in a vendor's retention policy.
The whole thing is local end to end, and that's the feature. No cloud, no subscription, no bot joining the call. It's a one-time $9 tool called Local Meeting Notes that does exactly this: native Windows app, Python 3.10+, LM Studio with a small model, faster-whisper on the backend. If you've been transcribing meetings locally or just thinking about it, that page has the full rundown: https://symshah.gumroad.com/l/xgoypx
FAQ
Do I need a GPU to transcribe meetings locally? No. faster-whisper runs on CPU with a smaller model; a GPU only makes it faster. LM Studio will run a small translation / summarization model on CPU too, just slower on long meetings.
Is a local LLM as good as a hosted one for minutes? For a summary plus action items it's close enough, and it never leaves your machine. Keep the prompt tight and review the owners before you forward it.
Does this work for in-person meetings, or just video calls? Both. It records mic plus system audio, so it handles Teams and Zoom and a room full of people around the table.
Top comments (0)