Learn · Qualitative research

How to transcribe research interviews offline with Whisper (free, step by step)

You can transcribe qualitative research interviews entirely on your own computer with Whisper. The software is free, it works offline after installation, and your recordings never leave your machine. This guide shows exactly how to install it, run it, and correct the transcript. Setup takes about 10 minutes and needs no programming experience.

After this guide you will be able to:

audio file Whisper on your computer human correction with a change log transcript citable in methods

What to expect with real interview audio

From our own work. We ran Whisper on interviews with Finland-Swedish speakers. Roughly half the lines needed correction, because the model heard standard Swedish where the speakers were not speaking standard Swedish. In the end we transcribed by hand, using the machine draft as scaffolding. That number belongs in a tutorial just as much as the install commands do.

So calibrate interview transcription by language, not by hype:

AudioExpectation
English, clear recordingVery good. Fix names, terms, and numbers.
Standard SwedishGood with the largest model.
Standard FinnishGood with the largest model.
Dialects and minority variantsNeeds substantial correction. Treat as a first draft.
Mixed languages, code-switchingHuman review essential. Sometimes hand transcription wins.

A machine transcript you correct on your own computer is a normal research task. A polished-looking transcript from a cloud service, with the audio already elsewhere, is a methods problem wearing a convenience costume.

Why local transcription is easier to defend

Interview recordings are directly identifying data. Voice is identity. Keeping transcription on your own computer means no participant audio is uploaded to a third-party service, which is usually far easier to justify during ethics review. Offline transcription makes the disclosure question disappear instead of answering it.

Read more: ethics boards, the GDPR, and interview audio

Research ethics boards apply this strictly. In one of our own projects the board's position meant we could not release even ten-second audio snippets for teaching purposes. Under the GDPR, sending audio to a cloud transcription service is a disclosure of identifying personal data that you must justify, name in consent forms, and cover with processor agreements. The EU AI Act has sharpened the frame around voice and biometric data further. None of this is legal advice, and your board's word beats this page. But if your approval says the data stays local, this workflow is built around that sentence.

What you need

Step 1 — install Whisper · about 10 minutes

Install Python 3 from python.org. On Windows, tick "Add python.exe to PATH" in the installer.

Then open the command window. On a Mac: press cmd + space, type Terminal, press Enter. On Windows: open PowerShell. Paste this line and press Enter:

pip3 install faster-whisper

That is the whole installation. The speech model downloads itself the first time you transcribe, then lives in a cache on your machine and works offline.

Step 2 — pick a model size

ModelDownloadUse it when
large-v3~3 GBthe research default: best accuracy, best outside English, best on messy audio
medium~1.5 GBgood accuracy, faster, smaller disk
small~460 MBquick drafts of clear English audio

Step 3 — run the transcription

Copy the script below into a plain-text file called transcribe.py, saved in the same folder as your audio. Then, in Terminal, move into that folder (type cd with a space, drag the folder into the window, press Enter) and run:

python3 transcribe.py
Show the script (about 15 lines, copy-paste)
from faster_whisper import WhisperModel

model = WhisperModel("large-v3", device="cpu", compute_type="int8")

segments, info = model.transcribe(
    "interview1.mp3",
    language="sv",        # force the language; leave out to auto-detect
    initial_prompt=(      # your study's words: places, names, clinical terms
        "Vasa, Korsholm, cellgiftsbehandling, pemetrexed, kontrollbesök"
    ),
)

with open("interview1_raw.txt", "w", encoding="utf-8") as out:
    for s in segments:
        t = int(s.start)
        stamp = f"{t//3600:02d}:{t%3600//60:02d}:{t%60:02d}"
        out.write(f"[{stamp}] ?: {s.text.strip()}\n")

print("done - now correct it against the audio")

Two lines in there earn their keep:

Transcription runs at roughly the speed of the recording on a normal laptop. A one-hour interview takes about an hour. Start it, work on something else.

Step 4 — correct the transcript and log every change

The ? on every line is deliberate. The model does not know who is speaking, and it should not pretend to. The human pass is part of the method:

  1. Listen with the transcript beside you. Fix misheard words. Names, terms, numbers, and doses get checked every time.
  2. Replace every ? with the speaker (Interviewer, P01). Pseudonymize names in the text as you go.
  3. Keep a change log, one row per correction. Minutes of work, and it turns "transcripts were checked" from a claim into a record:
TimeOriginalCorrectedReason
00:02:09electric cityelectricitymisheard, checked against audio
00:00:06MarjaP01name pseudonymized

Do not tidy how people actually speak. Hesitations, repairs, and dialect are data. The corrected transcript, with its change log, is the citable object.

What offline transcription does not do

If you only need transcription, this guide is enough.

If you also need coding, a codebook, AI-suggested codes under full human review, an audit trail, and visual evidence maps in an Obsidian research vault, QualiVahti Local packages the complete qualitative workflow. One payment, runs on the same machine, same rule throughout: models suggest, you decide.

Get QualiVahti Local — €49

Related guides

More local-first qualitative research guides are on the way: anonymizing transcripts, Obsidian for qualitative analysis, AI-assisted coding with human review, and building an audit trail. They will appear on the Learn page.