“We’ll take four, no, six folders.” A recognition system can transcribe the sentence correctly. For an easily readable subtitle, you might want to shorten the repetition. In doing so, six must not turn back into four. The technical route from sound to text file is therefore only the beginning of the editorial work.
whisper.cpp documents local speech recognition, including CPU support. The appropriate model and runtime files must be prepared. English-only and multilingual variants, as well as transcription and translation, are separate decisions; a program started locally does not automatically carry out the task you want.
Fixing the source language and the goal
First decide whether what is said should be kept in its own language or rendered into English. A German recording with a German transcript is a different job from an English translation. A fluent English text would still be the wrong result for the first purpose.
The server instructions use –translate for translation from the source language into English; –language describes the spoken language. For your actual call, take the options from the corresponding help rather than mixing settings from different examples.
Preparing a short recording of your own
Record a few non-sensitive sentences yourself: a change of quantity, an invented proper name and a restriction such as “only after checking back”. Write down the known wording beforehand. A deliberately short pause also helps to keep word recognition and segmentation in time apart.
Use a prepared local environment and a matching audio format. First produce a text basis that stays close to the spoken words. Listen again to the passages with the number and the name, and mark anything unclear. An expected spelling from your list of names must not quietly replace a passage that is actually indistinct.
Keep this basis separate from the later shortened subtitle version. That way, you can trace which change comes from recognition and which from your editorial work. This article provides the method, not a transcription carried out here.
Time becomes part of the file format
A subtitle track links text to the start and end of a time range. The WebVTT format of the W3C specification describes such time-aligned text segments. A simple format example of our own looks like this; its times are teaching values and must be adjusted for a real recording:
WEBVTT
00:00:00.000 --> 00:00:04.000
We need six folders for the course.
00:00:04.500 --> 00:00:07.000
Open sealed material only after checking back.
Save a text that has actually been edited to fit as a UTF-8 file and check it with the corresponding recording in a suitable player or subtitle tool. Text, timing and readability are three separate observations. A correct line can appear too early or stay visible too briefly.
Place line breaks at meaningful units. A “not” standing on its own can be misunderstood when reading quickly. An approval condition should also remain recognisable in its context rather than disappearing through an unsuitable cut.
Give the original audio, transcript and subtitles the same file stem but different extensions. A short note on language and editing status prevents an old translated version from accidentally ending up next to the new original recording.
What a local workflow demonstrates
With this sample, you can examine whether your prepared set-up delivers the text you want and how much editing the subtitles need. It tells you nothing general about recognition quality across all languages, accents or background noise.
A translation pass is then a separate test. It requires a comparison of meaning, not just of spelling. If there are several languages in the same recording, you should explicitly include the passages concerned in the listening check.
The benefit of local processing lies in a working route of your own that you can name. Usable subtitles result when you connect this route to the actual recording: choose the right task, check the wording, edit deliberately and review the text against its timestamps.
Sources and status
Sources as of 25 October 2026. whisper.cpp README · whisper.cpp server example options.
W3C: WebVTT as a supplementary source on the format.

