MP3 to Markdown — Transcribe MP3 Files to Structured Text
MP3 is the everyday audio format: podcasts, lecture recordings, voice memos, ripped interviews, archived radio. It compresses small enough to email, plays on every device, and (until you need to read what was said) is invisible to text search. MDisBetter takes any MP3, transcribes it, and emits Markdown with headings and timestamps you can grep, summarise, or feed to an LLM.
What MP3 is and why it dominates
MP3 (MPEG-1 Audio Layer III) has been the default consumer audio format for 25+ years. It's lossy compression — a 10-minute conversation that would be ~100 MB as raw WAV is ~10 MB as a 128 kbps MP3 — but for spoken word at typical bitrates the loss is inaudible to humans and irrelevant to a transcription engine. That combination of tiny files plus universal device support is why MP3 is what podcast feeds publish, what voice memo apps default to on most Androids, and what you get when you "Save as MP3" in any audio editor.
Structured Markdown vs plain transcript
Most MP3 transcribers spit out one giant paragraph of text. MDisBetter outputs Markdown: a top heading, sub-sections where the topic shifts, properly punctuated paragraphs, and inline timestamps ([00:14:23]) at section boundaries so you can jump back to the audio. That structure is what makes the transcript useful — for an LLM summarising a 90-minute episode, for a journalist quoting an interview, for a student grepping a lecture for "midterm".
Browser-uploadable, no app install
Drop the MP3 into the browser, click Convert, download the .md. No installer, no signup for short clips, no command line. For an automated batch pipeline (a podcast network archiving every episode), the open-source path is faster-whisper running locally; for one-off conversions and when you want headings, punctuation and timestamps without setting up a Python environment, the web tool is the shortest distance from MP3 to Markdown.
Before / After
Before (PDF):
[MP3 audio file]
Binary data — 8.4 MB at 128 kbps stereo, 12 minutes
Metadata: artist="Tech Talk Podcast", title="Episode 47", duration=00:12:34
(no extractable text — pure audio waveform)
After (Markdown):
# Tech Talk Podcast — Episode 47
## Introduction
[00:00:03] Welcome back to Tech Talk. Today we're joined by Sarah Chen, founder of Acme AI. Thanks for having me, it's great to be here.
## On Founding Acme AI
[00:00:21] Tell us about the early days. What problem were you trying to solve? We saw teams drowning in unstructured documents, spending hours preparing files by hand…
Frequently asked questions
Does the transcript say who is speaking?
No. We transcribe with Whisper large-v3-turbo, which turns speech into text but does not identify speakers. The output is continuous, properly punctuated text with a top heading, ## H2 sections at topic shifts and inline timestamps. If speaker attribution matters for your workflow, run the audio through a dedicated diarisation tool (WhisperX or pyannote) and merge its speaker turns with our Markdown yourself.
What's the file size limit for MP3 uploads?
Large episode-length audio is supported via our primary transcription path, which streams the file URL directly without reuploading. Practically, typical podcast episodes (under 500 MB) work fine. For very large files, splitting them into 1-hour chunks is a safe baseline; the resulting Markdown can be concatenated.
Are timestamps included in the Markdown output?
Yes — timestamps appear inline through the transcript and at major section breaks in the format [HH:MM:SS]. You can match them back to positions in the original MP3 in any audio player. For podcasts published with chapter markers, the markers are used as additional section breaks.
Does this work on low-bitrate or older MP3 files?
Yes — anything from 64 kbps mono spoken-word recordings up to 320 kbps stereo studio MP3s. Lower bitrates (under 64 kbps) and very old files digitised from cassette can degrade transcription accuracy on hard-to-hear words; the impact is usually a handful of confused words per minute, not a broken output.
Can I transcribe MP3 podcasts from a URL instead of uploading?
Yes — paste the direct MP3 URL (the one in the podcast RSS feed's <enclosure> tag) and we fetch and transcribe it. For batch podcast archive ingestion, the OSS path is short: a Python loop over the RSS feed feeding each episode URL through faster-whisper locally, then a formatting pass to add headings and timestamps.