gitmyhub

recorder

Swift ★ 24 updated 8d ago

Native macOS menu-bar recorder: captures system audio (L) + mic (R) into one stereo file, with Gemini transcription

A macOS menu-bar app that records meetings by capturing system audio and your microphone into separate stereo channels, then optionally transcribes recordings with speaker labels using Google Gemini AI.

SwiftSwiftUIsetup: moderatecomplexity 3/5

Recorder is a small macOS menu-bar app for capturing meetings and voice notes. Its distinguishing feature is that it records two audio sources at the same time and places them in separate stereo channels: system audio (the sounds coming from your speakers, typically remote call participants) goes into the left channel, and your microphone goes into the right. The result is a single audio file where you can always tell the local voice from the remote voices, rather than a mixed mono recording where everyone sounds the same.

Beyond the two-channel capture, the app can optionally send completed recordings to Google's Gemini AI service for transcription and speaker identification. The transcription output is a Markdown file with timestamps and speaker labels, placed alongside the audio in the recording folder. Gemini uses the stereo layout as a hint: left channel voices are likely remote participants, right channel is likely you. You can also provide your own name in the settings so the model can label you correctly. Transcription requires a Gemini API key, but recording works fine without one.

The app integrates with macOS Calendar. When you open the menu-bar panel, it shows upcoming and recent meetings. Clicking a meeting starts a recording named after it. If a meeting's scheduled end time passes while you are still recording, the app sends a notification with an option to stop. A configurable silence detector (default: five minutes of quiet on both channels) also stops a recording automatically if you forget.

Each recording session saves two raw audio files continuously as you go, so a crash loses almost nothing. The final stereo mix is only produced when you explicitly save. Files land in a dated folder under ~/Documents/Recordings/.

The app is written entirely in Swift and SwiftUI, requires macOS 15 or later, and has no external runtime dependencies like ffmpeg. Building from source requires Xcode 26 and Swift 6. It runs without a Dock icon, appearing only as a menu-bar item. The app is non-sandboxed and ad-hoc signed.

Where it fits