From whisper to whisper.cpp
I have used OpenAI’s Whisper a couple of times, with satisfactory results. I mentioned my Debian/Ubuntu setup in a post from 16 months ago:
python3 -m venv whisper_env
source whisper_env/bin/activate
pip install -U openai-whisper
pip install setuptools-rust
whisper input.mp3 --model mediumOf course, this is implied for MP3 decoding support:
sudo apt update && sudo apt install ffmpeg🤖
Now, I wanted to do the same under Windows, and I couldn’t be bothered with Python, so I thought of trying whisper.cpp, whose releases include Windows binaries among assets. In my case, I downloaded whisper-bin-x64.zip for version 1.9.2.
The official quick start includes this FALSE INFORMATION:
Note that the
whisper-cliexample currently runs only with 16-bit WAV files, so make sure to convert your input before running the tool.
The Windows binary already supports MP3. I did have ffmpeg.exe installed, but it didn’t use it!
The documentation is subpar, but this is what I did:
❶ I went to ggerganov/whisper.cpp on Hugging Face, and I downloaded ggml-medium.bin (1.53 GB). I couldn’t know which quantizations to trust, so I decided to keep it simple.
❷ Then, I used this syntax:
./whisper-cli --output-txt --output-file transcript --model ggml-medium.en.bin --print-progress myfile.mp3For instance:
./whisper-cli --output-txt --output-file transcript_1081485160833 --model ggml-medium.en.bin --print-progress 1081485160833.mp3The result is saved to transcript_1081485160833.txt.
🤖
As I use Camomile under Windows, I had to disable it; otherwise, the transcription would have taken ages. There was a price to pay:

The progress was also printed in the terminal:



Not bad.
I transcribed 3 podcast episodes from CGTN’s The Bridge, but I haven’t processed the information yet.

So far, I’ve been using whisper.cpp with a Whisper model. But I noticed
parakeet-cli.exe, so I inferred that it can also use a Parakeet model!While Parakeet uses a completely different technology (NVIDIA’s ASR architecture, based on FastConformer/TDT), some say Parakeet is better with mumbled voices; therefore, I thought I should give it a try.
First, a parakeet-GGUF model was needed. The model of choice is ggml-parakeet-tdt-0.6b-v3-f16.bin (1.26 GB).
The incantation goes as follows:
.\parakeet-cli.exe --model ggml-parakeet-tdt-0.6b-v3-f16.bin --file inputfile.mp3or:
.\parakeet-cli.exe -m ggml-parakeet-tdt-0.6b-v3-f16.bin -f inputfile.mp3Note that
parakeet-cliis dumber thanwhisper-cliwhen it comes to output. So, for a transcript, something like this is needed:.\parakeet-cli.exe -m ggml-parakeet-tdt-0.6b-v3-f16.bin -f inputfile.mp3 > inputfile.txtUnfortunately, under Windows with 16 GB of RAM, it couldn’t allocate 9 GB:
I needed to adapt and downgrade the model to ggml-parakeet-tdt-0.6b-v3-q8_0.bin (669 MB).
The updated command:
.\parakeet-cli.exe -m ggml-parakeet-tdt-0.6b-v3-q8_0.bin -f inputfile.mp3 > inputfile.txtIt was fast, but noticeable worse than the 1.53 GB
ggml-medium.en.bin. This was expected for a much smaller model, but it is what I was able to use on Windows.Under Android, you can test Parakeet vs. Whisper in Anti-Vocale (on GitHub, on Play Store).