Record & transcribe meetings

Why bother

Most meetings get talked once and then partly forgotten. The action items go into someone’s notebook; the context — what was discussed, who was leaning which way, the off-hand idea someone half-said — is gone within a few days.

Recording the audio and turning it into a clean transcript fixes that. Once you’ve got a transcript:

Treat this as idea capture, not formal minutes. You don’t have to re-read transcripts word-for-word — that’s not the value. The value is that the information exists in a place the AI (and you) can search.

How it works in one glance

  1. Record the meeting (any way that produces an audio file).
  2. In Claude Code, run /transcribe path/to/audio.m4a.
  3. Get back a tidy markdown file with speaker labels, topic headings, and an action-items list at the bottom — saved automatically into your Obsidian vault.

The rest of this page covers what to record with, the one-time setup, and what to do when something doesn’t work.

Recording the meeting

Three common cases. Once Audio Hijack is set up (next section), the recording itself takes one click.

Online meetings (Zoom, Teams, Google Meet)

Two ways, often both:

Simon runs both on important calls and lets the AI merge them.

WhatsApp calls

WhatsApp Desktop is just another app playing audio. Take the call on your Mac (download WhatsApp Desktop if you haven’t — it’s free, sign in by scanning a QR code from your phone), hit record in Audio Hijack, hang up, save.

In-person meetings

Lowest-tech, works everywhere:

  1. Open the Voice Memos app on your iPhone.
  2. Hit record. Put the phone face-up in the middle of the table.
  3. After the meeting, the recording syncs to your Mac (or you can AirDrop it).

The transcription Voice Memos does on its own is bad — don’t rely on it. The audio file is what matters; the workflow below does the actual transcription.

One-time setup

These four steps happen once. You don’t repeat them every meeting.

1. Buy and install Audio Hijack

Go to rogueamoeba.com/audiohijack, download, drag to Applications, run. Roughly US$60 one-off (no subscription). On first run it’ll ask for permission to capture system audio and use your microphone — click allow.

Save the receipt and submit it for reimbursement, or buy it on the MMF card.

The default “Personal Audio” template that ships with Audio Hijack is enough for most cases: it records system audio plus your microphone, mixed into one file.

2. Install whisper-cpp

This is the AI model that converts audio to text. It runs locally on your Mac — no audio gets uploaded to anyone.

If you don’t have Homebrew yet (a package manager for Mac), install it first by pasting this into Terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Then install whisper-cpp:

brew install whisper-cpp

The first time you run a transcription it’ll download the model file (~1 GB, one-off). After that, transcription is fully local — no API costs, no rate limits, no audio leaving your machine.

3. (Optional) Upgrade to Zoom Pro

If you run online meetings, this is worth it. Upgrade from zoom.us/pricing. Submit for reimbursement or put it on the MMF card.

4. Install the /transcribe skill in Claude Code

A skill is a reusable shortcut that lives in Claude Code. From the Code tab prompt, type:

/install-skill transcribe

Then quit and reopen Claude Desktop so the new skill is picked up. After that, /transcribe works.

Running it

Once setup is done, the actual workflow is:

  1. Have a recording (.m4a, .mp3, .wav, or .aiff).
  2. Open Claude Desktop → Code tab.
  3. Either drag the audio file into the chat, or type:
/transcribe /path/to/your-recording.m4a
  1. Claude runs Whisper on the audio, post-processes the output, asks a couple of context questions (who’s speaking, what the meeting was about), and writes the finished transcript into your Obsidian vault at 00_INBOX/TRANSCRIPTS/.

What you get back:

Why this beats the free-ChatGPT route

The free version of ChatGPT doesn’t reliably handle audio uploads — it’ll sometimes refuse, sometimes hallucinate badly. Even paid ChatGPT can’t beat a local Whisper run for accuracy on long-form audio.

More importantly, ChatGPT doesn’t know your context. The /transcribe workflow knows the MMF roster — staff names, country programmes, project terms — and corrects them automatically. The first time it writes “Niki” instead of “Nakia”, you fix it once and the correction sticks for every future transcript. Over time the system gets dramatically more accurate on your specific work.

That building-up-context-over-time pattern is the whole reason this AI setup exists.

Cost summary

What’s next

Your daily rhythm — two short commands that bookend each Claude Code session, so the AI picks up where you left off yesterday. After that, Keep project notes current covers updating project files after a substantive session (often paired with a transcript like the one this page produces).

For more advanced uses of the transcription workflow — extracting ideas into your idea list, merging Zoom and audio recordings, custom roster handling — see the full source at github.com/marinemegafauna/mmf-claude-code.

If something breaks

  • /transcribe not found — quit and reopen Claude Desktop after running /install-skill transcribe. Slash commands are only picked up at app start.
  • whisper-cli: command not found — Homebrew installed it as whisper-cli, not whisper. Run which whisper-cli to confirm the path; if it’s missing, re-run brew install whisper-cpp.
  • Audio Hijack records silence — System Settings → Privacy & Security → Microphone / Audio Capture: confirm Audio Hijack has permission. After granting, restart Audio Hijack.
  • Zoom cloud transcript hasn’t appeared — Zoom processes transcripts asynchronously. Check zoom.us/recording after the call ends; usually 5–10 minutes.
  • Anything else — message Simon on Slack with the audio file (or a description if it’s sensitive) and the error.