Omarchy Apps Sponsor

Productivity guide

Meeting Recorder on Omarchy

Records mic + computer audio as two tracks, transcribes locally with speakers and chapters — no bot, no cloud, free.

Reviewed 2026-10-19 · independent editorial guide

Short answer

Install Meeting Recorder on Omarchy with `omarchy pkg add omarchy-meeting-recorder-bin` — it records your mic and computer audio as two separate tracks, then transcribes locally with whisper (speakers, chapters, a player). No bot joins your call and nothing leaves your machine; it's MIT licensed and free. Budget ~1.6 GB for the first-run speech model download.

Meeting Recorder on Omarchy

Meeting Recorder is a free (MIT), Rust-built GTK4 app for Omarchy that records your mic and your computer audio as two separate tracks, then transcribes everything locally on your machine with speakers, chapters, and a player — no bot joins your call, nothing leaves your computer.

TL;DR

omarchy pkg add omarchy-meeting-recorder-bin

Takes ~2 minutes; the -bin package is the prebuilt binary (version 1.8.0, x86_64 only) from the upstream GitHub releases, and the install drops /usr/bin/omarchy-meeting-recorder plus a quickshell bar widget you link into your Omarchy plugins. Heads up before your first transcription: it downloads the whisper speech model once (~1.6 GB for the default large-v3-turbo), with a progress banner — do that on Wi-Fi, not a tethered connection.

Free forever (MIT). No account, no subscription, no cloud. The only thing that ever leaves your machine is transcript text sent to your own coding agent for chapters — and only if you've set a default agent (omarchy default agent); without one, chapters are simply absent and everything else works the same.

Getting started (5 minutes)

1. Install and launch.

Run the command above. The package (17.2 MB download, 67.1 MB installed) also pulls GTK4, libadwaita, libpulse, and ffmpeg. When you first open Meeting Recorder from the launcher, it offers to put a live waveform widget in your Omarchy bar — say yes if you want recording status in the top bar while you record.

2. Check your levels before the meeting.

The app opens "ready, not recording": two live meters, one for your microphone (@DEFAULT_SOURCE@) and one for the computer audio (the monitor of your default output). Both move before you press anything — if a meter is dead, fix your PipeWire sources before the call starts, not after. Type a meeting name (or leave it; it becomes "Meeting 14:30"), pick the audio format and transcript language, then press Start recording.

3. The 3 things you need to know:

  • Two tracks, always — Your mic and the computer audio are captured separately with parec and encoded to Opus with ffmpeg when you stop. The format choice matters later: Mono mixes both sides into audio.ogg, Stereo puts your mic left and the call right, Separate files writes mic.ogg + computer.ogg. A hidden .tracks/ folder keeps both tracks in mono regardless, which is what "Transcribe again" uses — delete it if you don't need re-transcription. Both tracks are levelled to the same speech loudness on save, so a quiet mic and a loud call come out equally audible.
  • Transcription is local whisper, and speakers are real — After you stop, whisper-rs transcribes the meeting in one pass with the large-v3-turbo model (long silences are skipped so whisper doesn't invent text in them). Speaker identity comes from the track each line was on: your side vs. the remote side, with multiple voices per side split as "You 1/You 2" and "Remote 1/Remote 2" — each with its own renameable name field. Imported single files (drop any ffmpeg-readable audio on the window) use NVIDIA's Nemotron 3 Diarization locally (~120 MB speaker model, first use only) and follow up to eight speakers. Chapters come from your default coding agent (Claude Code, Codex, etc.) run headless with every tool switched off — only for meetings of 3+ minutes.
  • Everything is a plain folder — Each meeting lives in ~/Documents/Meetings/<YYYYMMDDHHMM> <name>/: the audio, transcript.md (speaker + timestamp per line, chapters at the top), a <name>.meeting-recorder JSON file that opens the meeting in the app when double-clicked, optional notes.md and webcam.mp4. Rename a speaker on the done page and the folder, transcript, and manifest follow.

4. Config location.

~/.config/omarchy-meeting-recorder/config.toml — whisper model (model = "small", or tiny/base/medium/large-v3/large-v3-turbo, or a path to a .bin), extra languages, and your custom Actions. Models download to ~/.local/share/omarchy-meeting-recorder/models/. If you already use voxtype and it downloaded the same whisper model to ~/.local/share/voxtype/models/, the recorder reuses that copy instead of downloading again.

5. The power-user moves.

Ctrl+M collapses the window to a clock-and-waves strip; drag it anywhere. omarchy-meeting-recorder start/pause/stop/compact drive the running app from a keybinding. omarchy-meeting-recorder transcribe <mic> <computer> and transcribe-file <audio> turn it into a CLI transcription tool that prints Markdown. Put scripts under Actions on the done page and one marked auto = true runs every time a transcript finishes — file the meeting in your notes, mail it, publish it — with zero clicks. And the a button in the corner opens meeting notes beside the recorder (paragraph-at-cursor stays centered, everything saves instantly); a recording made with notes open keeps them as notes.md.

Common issues & fixes

Sourced from the upstream repo's open GitHub issues and its README — nothing invented. Fixes marked (suggested) are user-side workarounds, not maintainer-confirmed repairs.

After closing the app, parec processes keep running and pin a CPU at 100%

Issue #55, opened Oct 17, 2026, open. This is a real, open bug in the current 1.8.0 build — the parec capture children can outlive the window.

Fix: (Suggested) Until it's fixed upstream, run pkill -f parec (or pkill parec) after a recording session and confirm with ps aux | grep parec that they're gone. If this still reproduces on the latest version, add your report to #55 — the maintainer is actively triaging it.

Transcription aborts mid-way in whisper.cpp's word-timing code (a DTW median filter assertion)

Issue #39, opened Oct 2, 2026, open. No published fix yet.

Fix: (Suggested) Re-run the transcription from the done page ("Transcribe again"); the .tracks/ mono copies are kept precisely so a retry costs you nothing. Meetings with clean audio and minimal dead air hit this less — the app already skips long silences to avoid this failure class.

The remote side's sentences get transcribed as "You" — the other side leaks through your mic

Issue #32, opened Sep 30, 2026, 5 comments, open. Partly expected: the README explains the app drops what is only mic echo, but a loud leak can be mistaken for your own voice.

Fix: Wear closed headphones for important calls — that kills the leak at the source. To repair an already-transcribed meeting, hover the misattributed line and use the swap speaker button; do it per line, no re-transcription needed.

Whisper hallucinates on the mic track: repeating loops, fake subtitle credits, room noise transcribed as speech

Issue #20, opened Sep 25, 2026, 2 comments, open. Worse in non-English. This is whisper doing whisper things on noisy audio.

Fix: (Suggested) Give it a bigger model in ~/.config/omarchy-meeting-recorder/config.toml (model = "medium" or "large-v3" — the default is large-v3-turbo, which is smaller and faster), or a .en model if the meeting is English. Record somewhere quiet; room noise is the trigger more than the language is.

Double-clicking a .meeting-recorder file opens it in a text editor instead of the app

From the README: the package registers a MIME type (application/x-omarchy-meeting) and Nautilus picks it up right away (restart Nautilus if it still shows text), but xdg-open — which most Hyprland launchers and terminals use — sniffs the file's contents, sees JSON, and opens your editor.

Fix: Install perl-file-mimeinfo and xdg-open goes by the registered type too. The Omarchy package already lists this as an optdepends for exactly this reason.

The first-start "Add to Bar" widget offer failed silently and never asks again

From the README (a known 1.0.2 failure mode): the widget gets linked into ~/.config/omarchy/plugins but never enables.

Fix: Wait until omarchy-shell shell listPlugins includes jankeesvw.meeting-recorder, then run omarchy plugin enable jankeesvw.meeting-recorder --section right — or move it with omarchy bar move jankeesvw.meeting-recorder --section right. You need quickshell installed (it's part of every Omarchy install, and the package's other optdepends).

Pairs well with / If you hate this, try

Pairs well with

  • voxtype — if it already downloaded a whisper model, Meeting Recorder reuses it and skips the 1.6 GB download. Your Omarchy default agent (omarchy default agent) — that's what writes the chapters; no agent, no chapters. The quickshell bar widget, for a recording indicator you can see from any workspace.

If you hate this, try

  • SayBack (MIT) — another open-source, local-first meeting recorder (whisper.cpp + a small local model for notes), and the only one that also records what was on screen. It isn't packaged for Omarchy, so you'd build it yourself. Or a cloud notetaker like Granola/Fathom — but then a bot joins your calls and your audio lives on someone else's servers, which is the exact tradeoff this app exists to avoid.

Comparison: Meeting Recorder vs SayBack vs Granola/Fathom

Meeting RecorderSayBackGranola / Fathom
PriceFree, MITFree, MIT~$20/mo
Best forLocal mic+system capture with real speaker tracks, no bot, themed native UILocal capture that also records the shared screen; newer, less provenPolished AI notes, CRM sync, zero setup
Omarchy installomarchy pkg add omarchy-meeting-recorder-binBuild from source (not packaged)Web app — a visible bot joins your calls

Verdict: Use Meeting Recorder if you want meeting notes without a notetaker bot and without your audio leaving the machine; use SayBack if screen capture matters more than polish; pay for a cloud notetaker only if you need CRM sync and don't mind the bot.

How to switch from Granola/Fathom (~20 minutes)

  1. Export from your paid notetaker: most let you export meeting transcripts as Markdown/PDF from their web dashboard — grab the ones you care about.
  2. Import into Meeting Recorder: it can't import transcripts, only audio — but it can transcribe any audio file you have. If you have the raw recordings, drop them on the window; if you only have transcripts, file them in ~/Documents/Meetings/ next to your new recordings and they'll live in the same place.
  3. What doesn't transfer: your cloud history, CRM links, and calendar integrations. Chapters need you to set omarchy default agent once.
  4. Time estimate: ~20 minutes — install, one 1.6 GB model download, one test recording.

Open the Meeting Recorder package

See the live version, upstream screenshot, requirements, source and exact Omarchy install command.

View Meeting Recorder →

Frequently asked questions

Does Meeting Recorder work offline?

Yes for recording and transcription — whisper runs entirely on your machine. Chapters are the one online piece: they send transcript text to whatever default agent you've configured. No agent configured, nothing sent, ever.

Is it really x86_64 only?

The -bin package ships a prebuilt x86_64 binary (the PKGBUILD declares arch=('x86_64')). On an ARM machine (Asahi/Apple Silicon), your path is building from source — see "Build from source" in the upstream README (needs Rust, CMake, Vulkan headers, glslc).

Where do my meetings go?

~/Documents/Meetings/<YYYYMMDDHHMM> <name>/ — plain folders with the audio, transcript.md, and a .meeting-recorder file that reopens the meeting in the app. Back them up like any other documents.

How much disk does it need?

The package itself is 67 MB installed, but budget ~1.7 GB for the default speech model plus ~120 MB the first time you use speaker separation on an imported file. Meetings are small (Opus audio).

Can it transcribe a recording I already have?

Yes — drop any audio file ffmpeg can read onto the window (or use the Import button). Pick the language and speaker count (or leave Automatic). Voices are told apart with local NVIDIA Nemotron diarization, up to eight speakers.

Does anyone on the call know I'm recording?

No bot joins the call — it just listens to your own mic and system audio like any screen recorder. The legal and workplace question of whether you must tell people is yours to answer for your jurisdiction; the app deliberately stays out of it.

Official sources

Commands and fixes verified against official sources October 2026; on-machine verification pending.