Runs on our server
Transcribe audio
Upload a recording and get the words back. This is whisper.cpp on our own machine — no transcription service, no account, and your audio is deleted the instant the text exists.
Drop an audio or video file here
Or press to choose one. MP3, M4A, WAV, OGG, FLAC, MP4 and more.
The transcript
What is doing the work
whisper.cpp — a C++ implementation of OpenAI's Whisper speech recognition model — running on the CPU of one small server, with the base.en model. Nothing is sent to OpenAI or to any transcription company. There is no account and no API key anywhere in this.
The model is the English-only one, at 142 MB of weights. It is noticeably better on English than the multilingual model of the same size, and it is what fits the memory this machine has to spare.
English only, and this one could change
Whisper itself is genuinely multilingual and transcribes Vietnamese well. The multilingual model is the same 142 MB. We are not running it, for one reason: on the mixed audio a free public tool receives, the English-only model is clearly more accurate on English, and English is what most of this site's writing serves.
Unlike the grammar checker — where Vietnamese support simply does not exist to enable — this is a choice we made and could unmake. It is the one language gap on the site that is a decision rather than a wall. If it matters to you, it is worth saying so.
How long it takes, and why there is a queue
This server has four shared processor cores and no graphics card. Whisper on a CPU runs at roughly half real time with the two threads we allow it, so ten minutes of audio takes about twenty minutes of work. On a graphics card the same job would take under a minute; we do not have one, and being honest about that is better than pretending the wait is a glitch.
A job that has been running for forty minutes is stopped. That is the real ceiling on how long one recording may occupy the transcriber, and in practice nothing that fits inside the 25 MB upload limit gets anywhere near it.
One transcription runs at a time. That is deliberate: running two would not make either faster, it would make both slower and would take processor time from everything else on the machine. When a job is queued you are told your position and an estimate, and the estimate is based on how long transcriptions have actually been taking today rather than on a guess.
If the queue is full you are refused immediately with a clear message. That is on purpose too — being told "come back in five minutes" beats joining a line that will not move.
What your audio is worth, and what happens to it
The recordings people transcribe are meetings, interviews, medical appointments, lectures and voice notes. They are among the most sensitive files anybody uploads anywhere.
So: your file is written to disk, transcribed, and deleted the moment the transcript exists — not on a timer, not at the end of the job, but as the first thing that happens after the words come out. The transcript itself is deleted thirty minutes after the job finishes, or ten minutes after you download it, whichever comes first. There is a "delete it from the server now" button on the result if you want it gone before that.
Restarting the service deletes everything on disk, because a restart loses the job list that gives those files a reason to exist. Nothing is backed up. Nothing is logged except the fact that a job of a certain size ran.
Getting a better transcript
- Clean audio matters more than anything else. A phone on a table in a café will produce a poor transcript from any system at any price.
- One speaker at a time. Whisper does not separate speakers, and overlapping voices come out as one run-on line.
- Names and jargon will be wrong. Company names, drug names, place names and acronyms are where the errors concentrate. Budget for a read-through.
- Compress before uploading. The limit is 25 MB, and that is the length limit too — roughly 25 minutes of a 128 kbps MP3. Ten minutes of uncompressed WAV is over 100 MB and will be refused; convert to MP3 or M4A first and the same recording fits several times over.
- There is no separate minutes cap, and there is a reason for that worth writing down. whisper.cpp has a flag for it, we tried it, and on any file shorter than the cap it decodes past the end of the audio and repeats the transcript — a five-second clip came back seventy times over. So the size limit is the length limit, because it is the one that is actually true.
There are no timestamps and no speaker labels in the output — just the words. It is a transcript, not a subtitle file.