Learn · Qualitative research
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:
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:
| Audio | Expectation |
|---|---|
| English, clear recording | Very good. Fix names, terms, and numbers. |
| Standard Swedish | Good with the largest model. |
| Standard Finnish | Good with the largest model. |
| Dialects and minority variants | Needs substantial correction. Treat as a first draft. |
| Mixed languages, code-switching | Human 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.
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.
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.
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.
| Model | Download | Use it when |
|---|---|---|
large-v3 | ~3 GB | the research default: best accuracy, best outside English, best on messy audio |
medium | ~1.5 GB | good accuracy, faster, smaller disk |
small | ~460 MB | quick drafts of clear English audio |
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
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:
language= forces the language. Do this for bilingual interviews; auto-detection can flip mid-file when speakers code-switch.initial_prompt= takes a short line of your study's own vocabulary. The model spells proper nouns and domain terms far better when it has seen them once. Municipalities, drug names, local institutions: put them here.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.
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:
? with the speaker (Interviewer, P01). Pseudonymize names in the text as you go.| Time | Original | Corrected | Reason |
|---|---|---|---|
| 00:02:09 | electric city | electricity | misheard, checked against audio |
| 00:00:06 | Marja | P01 | name 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.
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 — €49More 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.