I recently completed, for the most part, a wxPython app to convert speech to text in files containing an audio stream. As someone who is hearing impaired I find I am relying more and more on captioning. I am also finding that a number of videos, even when they include captioning, have captions that are irritatingly out of sync with the video. For videos that have no captions, Windows Live Captions are often inadequate.
I found a package (Whisper-cli) on github that is free and open source, and has a large number of downloadable models. I found one model which does a pretty good job of converting speech to text. But, the software runs from the command line and I found it cumbersome so I wrote a wxPython wrapper.
The wrapper offers a few extras. For example, Whisper works only on mp3 and wav files. If you have a local copy of ffmpeg, my GUI will convert the mp4 to mp3 and then do the transcription. In addition, you can convert the output into subtitle srt format.
If there is interest here I will write this up as a project and post the code.