A macOS menu-bar app that records both sides of a call: your microphone on the left channel and the other participants, taken straight from the meeting app's audio, on the right. Each recording ships with a session.json that marks when you spoke and when others did, ready for a transcription step.
Works with Zoom, Microsoft Teams, Slack huddles, Webex, FaceTime, and any browser running Google Meet. Other apps' audio is captured with a Core Audio process tap, so macOS asks only for System Audio Recording. The screen is never recorded.
Requires macOS 14.2 or later.
make check # type-check, tests, plist validation
make CODESIGN_IDENTITY="Apple Development: Your Name (TEAMID)"
open build/MultiWhispr.appCODESIGN_IDENTITY defaults to ad-hoc signing, which re-triggers permission prompts after every rebuild. Use a real identity for repeated testing.
- Menu bar → Settings… → check the apps you'll be in the call with, or pick "All apps".
- Join the call. In "Selected apps" mode at least one checked app must already be playing audio.
- Menu bar → "Start Meeting Recording". Allow Microphone and System Audio Recording when asked.
- Menu bar → "Stop Recording". Recordings are saved under
~/Library/Application Support/MultiWhispr/Meetings/.
Each recording folder holds recording.wav (16 kHz stereo PCM) and session.json (start time, duration, captured apps, and me / others segments with start and end seconds).
Sources/MeetingCore/: dependency-free timeline aligner, speaker-activity detector, process matcher, metadata model, and selection preferences. Covered byTests/.Sources/ProcessAudioTap.swift: Core Audio process tap and aggregate device.Sources/MeetingRecorder.swift: microphone capture, alignment, WAV and metadata writing.Sources/MeetingRecordingController.swift: UI state.Sources/App.swift,AppDelegate.swift,SettingsView.swift: menu bar and settings window.
Recordings stay on your Mac. Nothing is uploaded.
MIT, see LICENSE.