Dadaranger/Meeting-Transcriber

Private, local-first Windows meeting recorder with offline transcription and readable TXT notes.

0

stars

86

commits

Python

primary language

Aug 21, 2026

updated

github.com/Dadaranger/Meeting-Transcriber/releases/tag/v0.1.3-preview.1
local-first
meeting-transcription
offline-transcription
pyside6
whisper
windows

README

Meeting Transcriber

Record online meetings or import existing audio and video on your Windows PC or Mac, transcribe locally, and open the result as a readable TXT file.

CI Desktop packages License: GPL v3

Meeting Transcriber captures both your microphone and the sound played by meeting applications. It works through native desktop audio capture, so it does not need to join the call as a bot and is not tied to Zoom, Microsoft Teams, Google Meet, or another provider.

Desktop preview: version 0.1.5 is ready for hands-on testing, but it is not yet a fully qualified production release. Review the known limitations before relying on it for an important meeting.

Download

macOS 13 or newer

To check your Mac type, open the Apple menu, choose About This Mac, and look at Chip or Processor. DMG and ZIP downloads contain the application, Python runtime, macOS audio capture, and offline transcription engine.

Install the Mac preview:

  1. Open the downloaded DMG and drag Meeting Transcriber to Applications.
  2. Because the preview is not yet Apple-notarized, Control-click the application, choose Open, then confirm Open. Only do this for a download from this repository's official release.
  3. Allow Microphone access when macOS asks.
  4. Allow Screen & System Audio Recording access when macOS asks, then quit and reopen Meeting Transcriber so the new permission takes effect.
  5. Complete Diagnostics and run the five-second source test before recording.

Meeting Transcriber captures audio only; it does not save the screen image or video. The Screen & System Audio Recording permission is required by Apple's ScreenCaptureKit interface to receive meeting/system audio.

Windows 10 or 11

Download the Meeting Transcriber 0.1.5 preview installer

You can also download the portable ZIP or verify all release checksums.

The installer includes the desktop application, Python runtime, Windows audio capture, and offline transcription engine. You do not need to install Python or use a terminal.

Install the Windows preview:

  1. Download Meeting-Transcriber-0.1.5-Setup.exe from the link above.
  2. Open the downloaded file and follow the setup wizard. Installation is per-user and does not require administrator access.
  3. Open Meeting Transcriber from the Start menu.
  4. Complete the first-run Diagnostics page to confirm your meeting folder, microphone, speaker/output device, and offline transcription runtime.

The preview installer is not yet Authenticode-signed, so Windows may show an Unknown publisher warning. Only continue when the file came from this repository's official release and, when in doubt, verify it against SHA256SUMS.txt.

Upgrading or uninstalling the application does not delete your meetings, transcripts, or downloaded speech models.

What it does

  • Records your microphone and native meeting/system audio separately.
  • Works with any meeting application that plays through the selected output device.
  • Supports start, pause, resume, stop, audio-level testing, and interrupted-session recovery.
  • Transcribes recordings on your computer with faster-whisper.
  • Imports common audio and video files for the same private offline transcription workflow.
  • Offers fast, balanced, and best-accuracy transcription profiles.
  • Retries unusually quiet speech with a more sensitive detection pass.
  • Creates timestamped, plain-text meeting notes that open in Notepad and other ordinary text editors.
  • Lets you correct transcript text, speaker assignments, speaker names, summaries, decisions, and action items.
  • Can optionally separate remote voices when the pyannote runtime and gated model are available.

Record and transcribe a meeting

  1. Tell everyone that the meeting will be recorded and obtain any consent required where you live and work.
  2. Select New meeting, give the meeting a clear name, and choose the microphone and meeting/system-audio devices.
  3. Select the consent acknowledgement and use Test sources. Confirm that both level meters react before recording.
  4. Start the recording. Pause or resume when needed, then stop when the meeting ends.
  5. Open History, select the meeting, and choose offline transcription.
  6. Select a language and accuracy profile. The first run for a profile requires you to allow its speech-model download; later runs use the local cache.
  7. When processing finishes, choose Open saved TXT to open the readable meeting file directly.

The consent acknowledgement records your confirmation inside the meeting session. It does not independently verify participant consent or guarantee compliance with recording laws or workplace policies.

Import and transcribe existing media

  1. Select Import audio or video from Home or History.
  2. Choose an audio file (WAV, MP3, M4A, AAC, FLAC, OGG, Opus, or WMA) or a video file (MP4, MOV, MKV, WebM, AVI, M4V, or WMV).
  3. Give the imported session a readable name and confirm that you are authorized to use and transcribe the recording.
  4. Choose the language and accuracy profile, then start offline transcription.
  5. When processing finishes, select Open saved TXT.

The original file is never modified or uploaded. During background preparation, its audio track is decoded locally to a reusable 16 kHz mono WAV inside the meeting folder. Keep the original file available until that preparation step completes. Imported videos must contain an audio track.

Files and privacy

Audio, transcripts, corrections, and TXT notes stay on your computer. The application has no account, cloud sync, or telemetry. A network connection is needed only when you explicitly approve a speech-model download.

By default, meetings are stored in:

Windows: Documents\Meeting Transcriber\Meetings\Meeting name - YYYY-MM-DD HHMMSS\
macOS:   ~/Documents/Meeting Transcriber/Meetings/Meeting name - YYYY-MM-DD HHMMSS/

Each folder can contain:

  • audio\ — recoverable microphone and system-audio WAV chunks
  • import.json and audio\imported-media.wav — local import metadata and reusable decoded audio for an imported file
  • Meeting name - YYYY-MM-DD HHMMSS.txt — the human-readable result
  • transcript.json — the canonical structured transcript
  • session.json and capture.json — session and recording metadata
  • derived\ — retained processing, review, and export revisions

You can change the meetings folder from Diagnostics. History provides buttons that open the exact meeting folder and the saved TXT file.

System requirements

  • Windows 10 version 1809 or newer, Windows 11, or macOS 13 Ventura or newer
  • A 64-bit Windows computer, Apple Silicon Mac, or Intel Mac
  • A microphone and a meeting playback/output device for live recording; neither is required when transcribing an imported file
  • Enough free disk space for WAV recordings and the selected speech model
  • Internet access for the first approved download of each speech model

Transcription runs on the CPU when no supported GPU runtime is available. Larger accuracy profiles require more storage, memory, and processing time.

Troubleshooting

The application opens but I cannot record

Open Diagnostics, refresh the audio devices, and confirm that both a microphone and a meeting/system-audio source are available. On the recording page, select the devices again and run the five-second source test. On macOS, also confirm Microphone and Screen & System Audio Recording access in System Settings > Privacy & Security.

Remote participants are missing from the recording

On Windows, select the same output device that the meeting application uses. On Mac, select All meeting/system audio. Play meeting audio and confirm that the system audio level meter moves before recording.

Transcription says that no dialogue was detected

Open the meeting folder and confirm that the WAV files contain audible speech. Retry with the correct language selected. The application automatically makes one more sensitive pass for valid but quiet recordings.

For imported media, confirm that the file contains an audible audio track and retry with the correct language. A video without an audio track cannot be transcribed.

A speech model could not be downloaded

Confirm that the download checkbox is selected, check the internet connection and available disk space, then retry. Partial model downloads are retained so a retry can continue rather than discarding the recording.

Where is my TXT file?

Open History, select the completed meeting, and choose Open saved TXT or Open folder.

Known limitations

  • The Windows installer is not yet Authenticode-signed.
  • The Mac application is ad-hoc signed but not yet Apple Developer ID signed or notarized, so the first launch requires the Control-click Open process described above.
  • Transcription is not perfect. Review important names, numbers, decisions, and action items against the recording.
  • The application cannot infer a person's real name from their voice. Remote voices begin with generic speaker labels that you can rename.
  • Overlapping speech and noisy or very quiet audio can reduce accuracy.
  • Optional individual remote-speaker separation requires an additional pyannote runtime, acceptance of the model's Hugging Face terms, and a one-time model download. Normal transcription still works without it.
  • Clean-machine Windows and Mac hardware, long-duration capture, accessibility, and broader language/accuracy qualification remain open release gates.

See the Windows release evidence and macOS qualification scope for the exact tested scope and remaining release work.

For developers

Python 3.12 and 3.13 are supported. Install uv, then run:

uv sync --extra dev --extra transcription --extra diarization
uv run meeting-transcriber

Run formatting, linting, strict type checks, and all tests with:

.\scripts\check.cmd

Build the frozen Windows application and installer with:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\build_windows.ps1
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\build_installer.ps1 -AppVersion 0.1.5

On macOS 13 or newer, compile the ScreenCaptureKit helper and build the app, DMG, and ZIP with:

bash scripts/build_macos.sh

More project documentation:

License

Meeting Transcriber is free software licensed under the GNU General Public License v3.0.

Contributors

Dadaranger

86 commits

Dadaranger/Meeting-Transcriber

Private, local-first Windows meeting recorder with offline transcription and readable TXT notes.

0

stars

86

commits

Python

primary language

Aug 21, 2026

updated

github.com/Dadaranger/Meeting-Transcriber/releases/tag/v0.1.3-preview.1
local-first
meeting-transcription
offline-transcription
pyside6
whisper
windows

README

Meeting Transcriber

Record online meetings or import existing audio and video on your Windows PC or Mac, transcribe locally, and open the result as a readable TXT file.

CI Desktop packages License: GPL v3

Meeting Transcriber captures both your microphone and the sound played by meeting applications. It works through native desktop audio capture, so it does not need to join the call as a bot and is not tied to Zoom, Microsoft Teams, Google Meet, or another provider.

Desktop preview: version 0.1.5 is ready for hands-on testing, but it is not yet a fully qualified production release. Review the known limitations before relying on it for an important meeting.

Download

macOS 13 or newer

To check your Mac type, open the Apple menu, choose About This Mac, and look at Chip or Processor. DMG and ZIP downloads contain the application, Python runtime, macOS audio capture, and offline transcription engine.

Install the Mac preview:

  1. Open the downloaded DMG and drag Meeting Transcriber to Applications.
  2. Because the preview is not yet Apple-notarized, Control-click the application, choose Open, then confirm Open. Only do this for a download from this repository's official release.
  3. Allow Microphone access when macOS asks.
  4. Allow Screen & System Audio Recording access when macOS asks, then quit and reopen Meeting Transcriber so the new permission takes effect.
  5. Complete Diagnostics and run the five-second source test before recording.

Meeting Transcriber captures audio only; it does not save the screen image or video. The Screen & System Audio Recording permission is required by Apple's ScreenCaptureKit interface to receive meeting/system audio.

Windows 10 or 11

Download the Meeting Transcriber 0.1.5 preview installer

You can also download the portable ZIP or verify all release checksums.

The installer includes the desktop application, Python runtime, Windows audio capture, and offline transcription engine. You do not need to install Python or use a terminal.

Install the Windows preview:

  1. Download Meeting-Transcriber-0.1.5-Setup.exe from the link above.
  2. Open the downloaded file and follow the setup wizard. Installation is per-user and does not require administrator access.
  3. Open Meeting Transcriber from the Start menu.
  4. Complete the first-run Diagnostics page to confirm your meeting folder, microphone, speaker/output device, and offline transcription runtime.

The preview installer is not yet Authenticode-signed, so Windows may show an Unknown publisher warning. Only continue when the file came from this repository's official release and, when in doubt, verify it against SHA256SUMS.txt.

Upgrading or uninstalling the application does not delete your meetings, transcripts, or downloaded speech models.

What it does

  • Records your microphone and native meeting/system audio separately.
  • Works with any meeting application that plays through the selected output device.
  • Supports start, pause, resume, stop, audio-level testing, and interrupted-session recovery.
  • Transcribes recordings on your computer with faster-whisper.
  • Imports common audio and video files for the same private offline transcription workflow.
  • Offers fast, balanced, and best-accuracy transcription profiles.
  • Retries unusually quiet speech with a more sensitive detection pass.
  • Creates timestamped, plain-text meeting notes that open in Notepad and other ordinary text editors.
  • Lets you correct transcript text, speaker assignments, speaker names, summaries, decisions, and action items.
  • Can optionally separate remote voices when the pyannote runtime and gated model are available.

Record and transcribe a meeting

  1. Tell everyone that the meeting will be recorded and obtain any consent required where you live and work.
  2. Select New meeting, give the meeting a clear name, and choose the microphone and meeting/system-audio devices.
  3. Select the consent acknowledgement and use Test sources. Confirm that both level meters react before recording.
  4. Start the recording. Pause or resume when needed, then stop when the meeting ends.
  5. Open History, select the meeting, and choose offline transcription.
  6. Select a language and accuracy profile. The first run for a profile requires you to allow its speech-model download; later runs use the local cache.
  7. When processing finishes, choose Open saved TXT to open the readable meeting file directly.

The consent acknowledgement records your confirmation inside the meeting session. It does not independently verify participant consent or guarantee compliance with recording laws or workplace policies.

Import and transcribe existing media

  1. Select Import audio or video from Home or History.
  2. Choose an audio file (WAV, MP3, M4A, AAC, FLAC, OGG, Opus, or WMA) or a video file (MP4, MOV, MKV, WebM, AVI, M4V, or WMV).
  3. Give the imported session a readable name and confirm that you are authorized to use and transcribe the recording.
  4. Choose the language and accuracy profile, then start offline transcription.
  5. When processing finishes, select Open saved TXT.

The original file is never modified or uploaded. During background preparation, its audio track is decoded locally to a reusable 16 kHz mono WAV inside the meeting folder. Keep the original file available until that preparation step completes. Imported videos must contain an audio track.

Files and privacy

Audio, transcripts, corrections, and TXT notes stay on your computer. The application has no account, cloud sync, or telemetry. A network connection is needed only when you explicitly approve a speech-model download.

By default, meetings are stored in:

Windows: Documents\Meeting Transcriber\Meetings\Meeting name - YYYY-MM-DD HHMMSS\
macOS:   ~/Documents/Meeting Transcriber/Meetings/Meeting name - YYYY-MM-DD HHMMSS/

Each folder can contain:

  • audio\ — recoverable microphone and system-audio WAV chunks
  • import.json and audio\imported-media.wav — local import metadata and reusable decoded audio for an imported file
  • Meeting name - YYYY-MM-DD HHMMSS.txt — the human-readable result
  • transcript.json — the canonical structured transcript
  • session.json and capture.json — session and recording metadata
  • derived\ — retained processing, review, and export revisions

You can change the meetings folder from Diagnostics. History provides buttons that open the exact meeting folder and the saved TXT file.

System requirements

  • Windows 10 version 1809 or newer, Windows 11, or macOS 13 Ventura or newer
  • A 64-bit Windows computer, Apple Silicon Mac, or Intel Mac
  • A microphone and a meeting playback/output device for live recording; neither is required when transcribing an imported file
  • Enough free disk space for WAV recordings and the selected speech model
  • Internet access for the first approved download of each speech model

Transcription runs on the CPU when no supported GPU runtime is available. Larger accuracy profiles require more storage, memory, and processing time.

Troubleshooting

The application opens but I cannot record

Open Diagnostics, refresh the audio devices, and confirm that both a microphone and a meeting/system-audio source are available. On the recording page, select the devices again and run the five-second source test. On macOS, also confirm Microphone and Screen & System Audio Recording access in System Settings > Privacy & Security.

Remote participants are missing from the recording

On Windows, select the same output device that the meeting application uses. On Mac, select All meeting/system audio. Play meeting audio and confirm that the system audio level meter moves before recording.

Transcription says that no dialogue was detected

Open the meeting folder and confirm that the WAV files contain audible speech. Retry with the correct language selected. The application automatically makes one more sensitive pass for valid but quiet recordings.

For imported media, confirm that the file contains an audible audio track and retry with the correct language. A video without an audio track cannot be transcribed.

A speech model could not be downloaded

Confirm that the download checkbox is selected, check the internet connection and available disk space, then retry. Partial model downloads are retained so a retry can continue rather than discarding the recording.

Where is my TXT file?

Open History, select the completed meeting, and choose Open saved TXT or Open folder.

Known limitations

  • The Windows installer is not yet Authenticode-signed.
  • The Mac application is ad-hoc signed but not yet Apple Developer ID signed or notarized, so the first launch requires the Control-click Open process described above.
  • Transcription is not perfect. Review important names, numbers, decisions, and action items against the recording.
  • The application cannot infer a person's real name from their voice. Remote voices begin with generic speaker labels that you can rename.
  • Overlapping speech and noisy or very quiet audio can reduce accuracy.
  • Optional individual remote-speaker separation requires an additional pyannote runtime, acceptance of the model's Hugging Face terms, and a one-time model download. Normal transcription still works without it.
  • Clean-machine Windows and Mac hardware, long-duration capture, accessibility, and broader language/accuracy qualification remain open release gates.

See the Windows release evidence and macOS qualification scope for the exact tested scope and remaining release work.

For developers

Python 3.12 and 3.13 are supported. Install uv, then run:

uv sync --extra dev --extra transcription --extra diarization
uv run meeting-transcriber

Run formatting, linting, strict type checks, and all tests with:

.\scripts\check.cmd

Build the frozen Windows application and installer with:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\build_windows.ps1
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\build_installer.ps1 -AppVersion 0.1.5

On macOS 13 or newer, compile the ScreenCaptureKit helper and build the app, DMG, and ZIP with:

bash scripts/build_macos.sh

More project documentation:

License

Meeting Transcriber is free software licensed under the GNU General Public License v3.0.

Contributors

Dadaranger

86 commits

Languages

Python

97.2%

Swift

1.2%