Free Desktop App · v1.16

Hapa
Podcast Transcriber

Transcribe your podcast episodes to text for free, privately, on your own computer. No cloud. No API keys. No monthly fees.

100% Local Windows macOS Linux Free
Download Free

Transcription that stays on your machine

The Hapa Podcast Transcriber is a desktop application I built to solve a simple problem. I needed accurate transcripts of my podcast episodes without paying for a cloud service every month or sending my audio files to someone else’s server.

It uses OpenAI Whisper, an open-source speech recognition model, and runs it entirely on your computer. After the one-time setup, it works offline. Your audio never leaves your machine.

It also supports speaker diarization, which means it can tell voices apart and label who said what. That makes it a good fit for interview podcasts.

🔒

Private

Your audio files never leave your computer. No uploads, no cloud processing, no data collection.

💸

Free

No subscriptions, no API keys to pay for, no usage limits. Download once and use it as much as you want.

🎙️

Speaker Labels

Identifies different voices and labels them in the transcript. Built for interviews.

📄

All Formats

Outputs TXT, SRT, VTT, JSON, and Podcasting 2.0 JSON, ready to reference from your RSS feed.

⚡

GPU Accelerated

Detects and uses an NVIDIA, AMD, or Apple Silicon GPU for faster transcription.

🖥️

Cross-Platform

One download works on Windows, macOS, and Linux, with an installer and uninstaller for each.

Simple from start to transcript

The Hapa Podcast Transcriber window, showing audio file, transcription settings, output formats and performance options

The Hapa Podcast Transcriber window

1

Download and install

Download the zip, extract it, and run the installer for your operating system. It sets up a Python environment, installs Whisper and the other dependencies, and downloads the Whisper base model (about 150 MB) one time.

2

Open the app

Launch Hapa Podcast Transcriber from your desktop icon, Start Menu, Applications folder, or application launcher.

3

Choose your audio

Browse for your MP3, WAV, M4A, FLAC, OGG, AAC, OPUS, WMA, or MP4 file. Pick an output folder, or let the app save transcripts next to the original audio.

4

Set your options

Pick a Whisper model, choose a language or auto-detect, turn speaker labels on or off, choose output formats, and set CPU priority so transcription can run quietly in the background.

5

Click Transcribe

Press Transcribe and follow the progress log. When it finishes, your transcript files are in the output folder.

Every format podcasters need

The app writes all of your transcript files in a single pass. Choose the ones you want, or keep all five.

FormatFileBest For
TXT.txtPlain readable transcript for your website, show notes, or reference
SRT.srtSubtitles for video versions of your podcast, YouTube, or video editors
VTT.vttWebVTT captions for HTML5 and web-based podcast players
JSON.jsonFull timestamped segment data for developers or custom integrations
Podcast 2.0_podcast20.jsonThe <podcast:transcript> tag in your RSS feed

Podcasting 2.0 ready: The Podcast 2.0 JSON file follows the official podcast namespace transcript spec. Upload it to your server and point to it from your RSS feed. The Hapa RSS Feed Builder can add the tag for you, and the Hapa Chapter Creator can turn the transcript into chapters.

Pick your speed and accuracy

Whisper comes in five sizes. The app defaults to base, which balances speed and accuracy well for most podcasts. You can switch to a larger model any time for more accurate results on difficult audio.

ModelSizeSpeed (1 hr audio, CPU)Accuracy
tiny75 MB~5 minGood
small465 MB~20 minGreat
medium1.5 GB~45 minExcellent
large2.9 GB~90 minBest

Have a GPU? The app detects NVIDIA (CUDA), AMD (ROCm), and Apple Silicon (Metal) GPUs and uses them automatically. A GPU can run 5 to 10 times faster than a CPU. Times above are approximate for a modern laptop CPU.

Know who said what

Speaker diarization detects different voices and labels them in the transcript, so you get a readable conversation instead of a wall of text:

[SPEAKER_00] Welcome back to the show. Today we’re talking about transcription tools.
[SPEAKER_01] Thanks for having me. I’ve been looking for something like this for a while.
[SPEAKER_00] Let’s start with why transcripts matter for podcasters.

Speaker labeling uses pyannote.audio and needs a free HuggingFace account and access token. Setup takes a few minutes and only happens once. You can also switch speaker labels off for faster transcription without them.

It works best with two distinct voices and little crosstalk. Heavy background music, frequent interruptions, or more than four speakers reduce its accuracy.

What you need to run it

🪟 Windows 10 / 11
🍎 macOS 12+
🐧 Linux (Ubuntu, Mint, Fedora, Arch…)
🐍

Python 3.10+

On Windows and macOS, install it first from python.org. On Windows, check “Add Python to PATH.” The Linux installer installs Python for you.

🎞️

ffmpeg

Required for audio processing. The installer downloads it on Windows, installs it with your package manager on Linux, and installs it with Homebrew on macOS when Homebrew is present.

💾

~500 MB Disk

Covers the base Whisper model and the Python environment. Larger models need up to 3 GB more.

🧠

4 GB RAM

8 GB or more recommended. Larger Whisper models need more memory.

Ready to transcribe?

Free. Local. Private. No account required.

Download Free · v1.16
Windows · macOS · Linux  |  Installer and uninstaller included for each platform