If you interview people for a living, the transcription question has an uncomfortable edge to it. You promised a source confidentiality, or your ethics board approved a protocol, or your participant signed a consent form that says who has access to the recording. Then you upload the file to a transcription service, and the honest answer to "who has this audio now" becomes "a company I haven't read the terms of."
For a lot of interview work, that's disqualifying regardless of how good the accuracy is. This is a workflow for doing the whole thing locally on a Mac.
Why interviews are their own problem
Interview audio differs from meeting audio in ways that break tools built for meetings:
- Two people, long turns. Speaker separation matters enormously, and the turns are long — not the rapid back-and-forth of a standup.
- The exact words matter. For a quote in print, or transcription for qualitative research where every line gets coded, "roughly what they said" is useless. Cleanup that smooths grammar is actively harmful.
- Poor acoustics are normal. Cafés, phone calls, a recorder on a table in a room with hard walls.
- Code-switching is common. Bilingual participants slide between languages mid-sentence.
- Consent has boundaries. Your participant agreed to talk to you, not to a vendor's model-training pipeline.
The local workflow
1. Record. Capture the conversation live, or bring a file you already have. Vext, the interview transcription software this workflow uses, records microphone and system audio as separate streams, so an in-person interview and a Zoom or phone interview both work. If you recorded on a dedicated device, transcribe_file handles wav, m4a, mp3, and aiff from disk.
2. Transcribe on-device. Parakeet TDT v3 runs through FluidAudio on Apple Silicon. Nothing uploads. The model runs well above real time, so a ninety-minute interview isn't an overnight job.
3. Get speaker labels. Diarization runs locally too, separating who said what. Voice profiles persist across sessions, which is the useful part for longitudinal work: if you interview the same participant three times, naming them once carries forward. Rename, merge, or delete speaker profiles as needed — the multilingual and speaker handling landed in 1.2.0.
4. Keep the raw transcript. This is the step people get wrong. Use the As spoken style for the archival version. It applies no AI reshaping — you get the transcript as the recognizer produced it, which is what you need for quotes and coding. Generate a cleaned or summarized version separately if you want one, but never let it replace the original.
5. Export. Markdown, txt, srt, or vtt. SRT and VTT carry timestamps, which is what you want if you'll be jumping back to the audio to check a quote.
brew install muvon/tap/vext
Multilingual interview transcription
Transcription language coverage is broad — 99+ languages depending on the speech engine you pick. Separately, if you need the transcript rendered in another language, there are 29 translation targets, or you keep the original.
Keep these two straight, and keep the outputs separate. A translated transcript is not a source document. For any quote that will be published or coded, work from the original-language transcript and treat the translation as a reading aid. If you're publishing a translated quote, you want a human translator's judgment on it, not a model's.
What to expect on accuracy
Realistic expectations, because interview audio is harder than dictation:
Good: Clear one-on-one audio, a decent microphone, participants who don't overlap much. Modern local models handle this well.
Degraded: Heavy background noise, crosstalk, strong accents in combination with poor audio, three or more speakers with similar voices. Diarization is where you'll see errors first — the words are often right while the attribution drifts.
The fix that actually works: Add names, organizations, technical terms, and project names to the custom vocabulary before you start. Interview transcripts are dense with proper nouns, and proper nouns are what recognizers get wrong. Ten minutes of vocabulary setup saves more correction time than any other single step.
The step you can't skip: Verify every quote against the audio before publishing. This is true of every transcription tool at every price, including human transcriptionists. Timestamped exports exist precisely so this check is quick.
Cleanup, used carefully
Interview transcripts are full of filler, false starts, and repetition. For a readable version — sharing with a colleague, or drafting from — a cleanup pass helps. Vext's styles can restructure a transcript into cleaned prose or bullet points using a local model, the same mechanism described in AI text cleanup.
Two rules. Cleanup is for the derived version, never the archival one. And any sentence that will appear in print goes back to the raw transcript and then to the audio. A model that tidies grammar can quietly change meaning, and "the tool smoothed it" isn't a correction you can defend.
Why local is the point here
The compliance conversation gets short. There's no vendor sub-processor list to review, no cross-border transfer analysis, no data processing agreement, no breach surface holding your source audio. For IRB protocols, newsroom policies, and NDA-covered user research, "the audio never left the laptop" is an answer that ends the discussion rather than starting one.
It also means no per-minute pricing. Cloud transcription bills by audio duration, and interview research generates a lot of hours. Vext is $49 once, with a 100-dictation trial, on macOS 14+ with Apple Silicon. If your work spans both, the general meeting workflow is in transcribing meetings locally.