The Best Meeting Transcription App for Linux
Most meeting transcription tools don't support Linux. Harknotes does — with native PulseAudio and PipeWire support, local Whisper AI, and no cloud audio.
Most meeting transcription tools skip Linux entirely. Harknotes runs natively on Linux with PulseAudio and PipeWire support, local Whisper transcription, and no bot joining your calls. Free and open source, available as DEB and RPM.
Linux users get left behind by most meeting tools. Otter.ai has no Linux app. Fireflies runs as a browser bot and doesn’t need one — but your audio still ends up on their servers. tl;dv requires a Chrome extension that has limited Linux support.
Harknotes is built to run natively on Linux. Here’s what that looks like in practice.
The Linux audio challenge
Meeting transcription on Linux is harder than on macOS for a technical reason: audio routing.
On macOS, the operating system provides a unified audio session API. Capturing both system audio and microphone is straightforward.
On Linux, audio is handled by PulseAudio or PipeWire, depending on your distribution. Both support loopback recording — capturing system audio output — but the configuration differs, and some distros require additional setup.
Supported distributions
Harknotes is tested on:
- Ubuntu 22.04+ — PulseAudio and PipeWire (22.10+)
- Fedora 39+ — PipeWire (default since Fedora 34)
- Debian 12 — PulseAudio
- Linux Mint 21 — PulseAudio
- Pop!_OS 22.04 — PulseAudio
- openSUSE Tumbleweed — PipeWire
DEB and RPM packages are available, covering the major package formats across these distributions — and Harknotes is open source, so you can also build it from source on anything else.
Installation
DEB — for Debian, Ubuntu, Mint, Pop!_OS:
sudo dpkg -i harknotes_*.deb
RPM — for Fedora, RHEL, openSUSE:
sudo rpm -i harknotes-*.rpm
On first launch, Harknotes downloads the Whisper model you pick — from ~75MB for tiny up to the large models — sized to your hardware. After that, transcription is fully offline.
Speaker labels on Linux
Harknotes captures your microphone and system audio as separate streams. Your voice (microphone) is labelled “User”; everyone else comes through system audio and is labelled “Meeting”. You can rename speakers on the transcript after the meeting, and full per-person diarisation is on the roadmap.
No cloud processing, no data leaving your machine.
Why not just use Whisper directly?
You can run whisper.cpp on Linux from the command line. If you’re comfortable with that workflow, it works well.
- One-click recording with live transcription while you talk
- Separate mic and system audio capture configured correctly
- Post-processing into structured notes (summary, action items, decisions)
- Markdown export to your chosen folder
It’s the difference between a capable tool and a tool you’ll actually use.
Comparison with other Linux options
| Tool | Linux support | Local transcription | No bot |
|---|---|---|---|
| Harknotes | Native | Yes | Yes |
| Otter.ai | No | No | No |
| Fireflies.ai | Browser only | No | No |
| tl;dv | Limited | No | No |
| whisper.cpp (manual) | Yes | Yes | — |
The closest alternative is running whisper.cpp manually — which works but requires technical setup and lacks the meeting-recording workflow. Harknotes wraps that capability in a practical interface built for daily use.
More articles
How to Transcribe Meetings Without Uploading to the Cloud
You don't have to send your meeting audio to third-party servers. Here's how to transcribe meetings locally, with no cloud upload required.
How to Get Meeting Notes Using Local Whisper AI
Whisper is OpenAI's open-source speech recognition model. Here's how to use it locally to transcribe meetings — without sending audio to the cloud.
Meeting Transcription Without a Bot Joining Your Call
Most meeting transcription tools send a bot into your meeting. Here's why that's a problem — and how to transcribe meetings without anyone knowing.