Podcast Transcripts, Explained: SRT, VTT, Speakers and What 'Clean' Means
The formats, the speaker-label problem, and the difference between a transcript you can read and one you can ship. With the checks that catch bad output.
Guide4 min read
A podcast transcript looks like a solved problem until you try to use one. The text is there, but the speakers are wrong, the paragraphs are one line each, and the name of the guest is spelled three different ways.
None of that is unusual. Speech-to-text has got very good at words and remains mediocre at the things that make a transcript usable: who is talking, where the sentence ends, and how a name is spelled.
The formats, and when to use them
| Format | Looks like | Use it for |
|---|---|---|
| Plain text / Markdown | Paragraphs, optional speakers | Reading, quoting, pasting into notes |
| SRT | Numbered cues with 00:12:34,000 --> 00:12:38,000 | Subtitles in a video editor |
| VTT | Similar to SRT, with more styling hooks | Web players, captions |
| JSON with segments | Array of {start, end, text, speaker} | Search, LLM pipelines, your own UI |
If you are writing, you want Markdown. If you are editing video, SRT or VTT. If you are building something, JSON — restructuring subtitles into a database is the kind of job that produces bugs for a week.
Speaker labels are a guess
Diarisation — deciding who spoke when — is a separate model from transcription, and it is the part that fails first. Two male voices on a compressed call will blend. A guest who talks over the host will get merged into one speaker. A third person who says one sentence may be labelled "Speaker 1" for the whole hour.
Practical rules:
- Trust the labels on a two-person interview. They are usually right.
- Distrust them on panels. Verify before you attribute a quote.
- Never publish a quote with the wrong name. The transcript is a draft; the audio is the record.
Podwise labels speakers where the audio supports it, and the transcript view lets you click any line to hear that moment, which is the fastest way to check a name.
Clean is a spectrum
A "clean" transcript usually means four things: punctuation that reflects speech, paragraphs that group ideas, consistent names, and numbers written the way people say them.
What is worth fixing:
- Names. Every proper noun, once. This is the single highest-value edit.
- Numbers and units. "Fifteen percent" versus "50%", "two million" versus "2 million".
- Paragraph breaks. One paragraph per idea, not per caption cue.
What is not worth fixing: filler words, false starts, and grammar. They carry tone, and a transcript that reads like a press release is less useful for quoting, not more.
Getting one
From Podwise. Processing an episode produces the transcript along with the summary. You can read it in the app, copy it, export it as Markdown or SRT, or fetch it from the API as JSON segments. Translations use the same structure, so a bilingual export is the original and the translated segments side by side.
Do it yourself. Whisper is the default answer. It is good, it is free, and you will spend an afternoon on chunking, speaker separation, and timestamp alignment — the parts a product has already done.
Ask an agent. With the MCP server connected, get_episode_transcript returns the transcript page by page, and an assistant can summarise or translate a section without you copying anything.
Why you want one at all
Four reasons, in rough order of how often they come up:
- Search. "Which episode mentioned the pricing change?" is a text problem.
- Quotes. The exact sentence, with a timestamp, so the reader can check you.
- Translation. Text is cheap to translate; audio is not.
- Machines. Summaries, embeddings, agents — all of them eat text.
The transcript is also the thing that makes a summary checkable. If a tool gives you a summary with no transcript behind it, you are trusting a model with no way to audit it.
The check that matters
Before you publish a quote from any transcript, automated or not:
- Open the timestamp.
- Listen to the ten seconds around it.
- Fix the name and the number.
Ten seconds per quote. It is the difference between a citation and a liability, and it is the one step no model will do for you.


