transcription
How to transcribe audio without uploading it to anyone's server
Run the speech model yourself. Whisper is openly available and runs on an ordinary laptop CPU through whisper.cpp, so the recording never leaves your machine: no processor to name in your records, no retention policy to read. The trade is speed - roughly real time on four cores - and no automatic speaker labels.
5 min read
Every free transcription site works the same way: you hand over the recording, it comes back as text. For a podcast episode that is fine. For a research interview, a client call, a patient conversation or anything with a confidentiality clause on it, “hand over the recording” is the part you are not allowed to do.
The useful thing that changed in the last couple of years is that you no longer have to. A speech model good enough for real transcription runs on an ordinary laptop, offline, for free.
what uploading actually commits you to
A recording of someone talking is personal data, and often special-category data - health, opinions, employment, a name said out loud. Sending it to a transcription service means:
- A processor you have to name. If you work under GDPR, that service is a data processor and belongs in your records, usually with a data processing agreement behind it.
- Retention you do not control. Most services keep the audio and the transcript until you delete them, and some keep backups longer.
- A promise you passed on. If you told an interviewee the recording stays with you, a free web converter is the moment that stopped being true - whatever the service does with it afterwards.
None of that is an accusation against any particular service. It is the ordinary consequence of the file leaving your computer, and the reason ethics boards, DPOs and in-house counsel ask about it.
what runs locally, and how well
The model to know about is Whisper, released openly by OpenAI and runnable through whisper.cpp on a normal CPU. It handles a long list of languages, produces word-level timestamps, and can translate into English. This is the same family of model the paid services run - the difference is where it runs, not what it is.
Two things to be realistic about before you commit a deadline to it:
Speed
On a four-core laptop CPU, the large turbo model transcribes roughly in real time - we measured 33 to 37 seconds for 24 seconds of speech. So a one-hour interview is about an hour of your laptop working, which is fine overnight or over lunch and painful if you need it in five minutes. Smaller models are several times faster and noticeably worse on names. A machine with a decent GPU changes this picture completely.
Speakers
Whisper transcribes speech; it does not tell you who is talking. Cloud services often add speaker labels on top. If your workflow depends on “Interviewer:” and “Participant:” being filled in for you, a local transcript will need that pass by hand - for a two-person interview that is usually minutes, but it is honest work you should know about in advance.
getting a usable transcript, not a wall of text
Raw model output is one long block, which is unreadable and unquotable. Three things make it work as a document:
- Sentence or paragraph grouping. The model emits short cues that often end mid-sentence, so they need regrouping into sentences and paragraphs before anyone can read it.
- Timestamps you can cite. For a quote you will want to go back to, a timestamp every paragraph beats a timestamp every four words.
- A vocabulary. Names, places, product names and jargon are where every recognizer fails. Whisper accepts an initial prompt - give it the participant’s name and the six terms your field uses and the transcript stops being littered with near-misses.
If you need subtitles rather than a document, the same run gives you an .srt or .vtt file, because the timings are already there.
the three ways to do it
| route | audio leaves your computer | effort |
|---|---|---|
| An online transcription service | yes | none, plus a subscription and a DPA |
whisper.cpp from the command line | no | a binary, a model file, and flags to learn |
| A desktop app that wraps it | no | install, pick a model once, drop the file in |
The command line is genuinely fine if you transcribe something twice a year. The reason most people end up wanting an app is not the transcription - it is the formats, the regrouping, the vocabulary and not re-reading a manual every time.
how to check the claim
Any tool that says “runs locally” can be tested in ten seconds: turn off wi-fi after the model has downloaded, and transcribe something. If it works offline, the audio is not going anywhere. For a stronger guarantee, add an outbound block rule for the program in Windows Defender Firewall and try again. We wrote the same test up for dictation in dictating on Windows without the cloud.
Drop a file in, get the transcript.
owntools transcribes audio and video on your own machine with whisper.cpp - one line, full sentences or paragraphs, with or without timestamps, plus .srt subtitles and translation into English. It is part of the free tier: no account, no upload, no per-minute charge.
Who wrote this. We build owntools, which includes the transcription tool described at the end. The speed figures above are our own measurements on one four-core laptop, and the speaker-labelling limitation is a real one we would rather you hear from us than discover at midnight.
questions people ask
Can I transcribe an interview without uploading it anywhere?
Yes. Whisper, the speech model behind many transcription services, is openly available and runs on a normal laptop CPU through whisper.cpp or an app that wraps it. The audio, the transcript and the model all stay on your disk, which is what lets you tell an interviewee truthfully that the recording stays with you.
How long does local transcription take?
On a four-core laptop CPU the large turbo Whisper model runs at roughly real time - we measured 33 to 37 seconds for 24 seconds of speech - so a one-hour interview takes about an hour. Smaller models are several times faster and noticeably worse on names and technical terms, and a machine with a capable GPU is far quicker than either.
Does local transcription label who is speaking?
No. Whisper transcribes speech but does not separate speakers, so you get the words without "Interviewer:" and "Participant:" in front of them. Cloud services often add that step on top. For a two-person recording it is usually a few minutes of editing; for a focus group it is real work, and worth knowing before you plan around it.
Is uploading a recording to a transcription service a GDPR problem?
It is not automatically a problem, but it is a decision you have to be able to justify. A recording of someone talking is personal data, so the service becomes a processor you should have a data processing agreement with and list in your records, and its retention period becomes yours. Transcribing on your own device removes the transfer altogether, which is why it is usually the easier answer to give an ethics board or a DPO.
read next
5 min read
How to dictate on Windows without sending your voice to the cloud
Windows' Win+H voice typing streams audio to Microsoft's servers. Voice Access, Whisper and Parakeet do not. What each one costs you in accuracy and setup.
read it →
4 min read
How to convert a PDF without uploading it to a website
Contracts, payslips and scans do not belong on a stranger's server. What converts well on your own machine, what never converts well, and how to spot an upload.
read it →