I have a video (or audio, I think it is not important) stream/file which does not contain subtitles. But it has clean english speech. Is it possible to detect and extract words from it. I don't need 100% accuracy.

Are there some services or applications for this case? Maybe some services gives API for this? Any ideas are welcome.


If you work on a regular basis with the "owner" of the voice I can recommend Nuance's Dragon it offers very accurate speech to text with very few errors but it needs some "calibration" to a specific voice.

So if you can get your actor/narrator to read the calibration text you will have an easy time making transcripts and subtitles (though subs will require manual timing afterwards). Nuance also offers a developer SDK/API if you need that.

However it will not help you in the case of interviews with random people on the street.

An alternative that doesn't need calibration and is also free to use is the Google Voice to Text service. There is a nice un-offical "API" for that on Github.

It will give you usable results in most cases and its fairly easy to use if you know a bit about programming and can use a command line. Though be aware that I do not know the legal status of that, I'm not sure if that service is allowed to be used for commercial use. You might want to read into the Google Terms of Service for that, they unified that about a year ago so it should apply for the Voice to Text service as well. Also a downside, it only accepts 15 seconds snippets but if you want to automate this anyway you can just split your audio file up with FFmpeg and upload them at the same time.

There is also another commercial alternative called iSpeech which works on a pay per use model.

Also there is a built-in speech recognition in Adobe Premiere which should be the easiest way to make subitles as it integrates into the complete video workflow and allows almost automatic adjustment of the timing. A nice how-to can be found here.

  • Really thank you for your answer! It's very helpful. I've quickly checked services what you are talking about and I believe I could use some of them. I accepted and voted up for your answer. But if you remember anything else let me know please. – Igor Tyulkanov Jun 1 '14 at 15:01
  • I will expand the answer if I happen to find anything new. It's a very common issue that I'm sure many people will encounter when producing videos, especially for an international web audience. – PTS Jun 1 '14 at 15:46

YouTube has several captioning options. At one time they had free computer generated captions which you could then download the results in a text file.

YouTube currently provides this list of caption software and services.

  • If you upload content without captions they still get generated automatically. You can download them from the edit>advanced page on YT. It's a free way to get semi-accurate transcripts of rushes. – stib Aug 8 '18 at 0:44

We use an online service to do our subtitling. It's not free, but it's pretty cheap, considering the amount of work it saves - it's certainly cheaper than paying post production staff to do it. There are lots of companies offering this service, with variations from completely machine-driven to completely human transcribed. Usually you want some sort of human intervention because the machines still don't do things 100%.

A quick web search will turn up a long list of them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.