> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openwhispr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Meeting transcription

> Auto-detect and transcribe meetings with speaker labels and calendar integration.

OpenWhispr detects when you're in a meeting and offers to transcribe it in real time with speaker diarization.

## Setup

Meeting transcription works out of the box — no calendar connection required. OpenWhispr detects meetings automatically through process and microphone monitoring.

<Steps>
  <Step title="Grant screen recording (macOS)">
    macOS requires screen recording permission to capture meeting audio. You'll be prompted during onboarding.
  </Step>

  <Step title="Start a meeting">
    Meeting detection is on by default. When a meeting starts (Zoom, Teams, FaceTime, Google Meet), a notification asks if you want to record.
  </Step>

  <Step title="Optional: Connect Google Calendar">
    Go to **Integrations > Google Calendar** to auto-fill meeting titles and attendees in your notes. This enhances the experience but isn't required for transcription to work.
  </Step>
</Steps>

## How detection works

OpenWhispr uses two primary signals to detect meetings, with an optional third:

* **Process monitoring** — detects Zoom, Teams, FaceTime, and Webex
* **Microphone activity** — catches browser-based calls like Google Meet
* **Calendar awareness** (optional) — when connected, shows the event name in the notification and auto-fills meeting details in the note

These signals are coalesced — you get one notification, not three.

## Live transcription

Meeting audio is transcribed in real time via a cloud streaming provider (OpenAI Realtime, AssemblyAI Universal-3 Pro, or Deepgram). During a meeting:

* Text appears as it's spoken
* Speaker labels are assigned live and refined after the call
* A dedicated meeting hotkey lets you start/stop independently from dictation

## Speaker diarization

OpenWhispr identifies who's speaking during a meeting:

* **Live labels** — assigned during recording
* **Post-processing** — clusters are refined into stable speaker groups
* **Voice fingerprints** — attach voice profiles to contacts so recognized speakers carry their name across meetings
* **One-click reassignment** — fix any mislabeled speakers after the call

### Controls

A floating pill appears at the top of the transcript during recording. From there you can:

* **Toggle identification off for this meeting** — transcripts fall back to "You" / "Others" labels based on audio source (your mic vs system audio). Your global setting stays unchanged.
* **Adjust expected speaker count** — a "1 other in call" stepper. Calendar attendees pre-fill the count; bump it up if more people join. Unscoped recordings cap at a sensible default to prevent phantom speakers.

To turn diarization off by default across all recordings, go to **Settings > Meetings > Identify and label speakers**.

## After the meeting

Meeting transcriptions are saved as notes. You can:

* Review and edit in the note editor
* Apply AI actions to clean up or summarize
* Search across past meetings using semantic search

## Echo cancellation

OpenWhispr includes a WebRTC AEC3 sidecar that removes mic echo from captured system audio. If the native helper isn't available, a JavaScript fallback handles it.
