Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a lot of lecture video content that I would like to have the subtitles for. YouTube automatically generates subtitles for videos under certain conditions (those conditions are still somewhat of a mystery to me).

I would like to be able to use this speech recognition technology outside of YouTube. I don't want to upload every video just to get the transcript (too time consuming), plus, I don't think YouTube will do it for videos that are longer than about 30 minutes (most of them are), further, I don't think it will do it for non-public listed videos (which is a problem because it is premium content that is meant to be sold).

Perfect scenario: There is a program that I can run from my desktop to get the transcript out of these videos and it is of equal or better quality than YouTube's and has the time codes similar to an SRT or the XML that YouTube generates [How to get YouTube subtitles].

Acceptable scenario: There are some tricks I can do to force YouTube to transcribe the videos, whether set to private or public, and despite length.

Doable scenario: There is a library or something that I can use to code my own program. I am good with C# and okay with C++ (But I really prefer C#).

share|improve this question
thanks for the link up - from a deaf perspective, very interested to hear how this works... – studiohack Mar 30 '14 at 20:28
@studiohack no pun intended. – fredsbend Mar 31 '14 at 19:30
LOL, I didn't even realize that! :P – studiohack Apr 1 '14 at 17:55
Downvoting is more effective if you also comment on the issues with the post. Otherwise, you just look like a dick. – fredsbend Apr 2 '14 at 14:35

Google implemented the Web Speech API (both for speech recognition and synthesis) into Chrome, which you can use if you are a developer. This is what YouTube uses to generate close captioning on some videos. Maybe you'll find code to interact with it.

The data flow would probably be:

A video file => extract and convert audio => send it to Google API => get the text => write into a SRT.

EDIT: there doesn't seem to be an official API page, other than the W3C spec. So here are more links:

These examples are about using the API from inside Chrome, but you can directly query Google's online speech recognition engine. For instance, Jasper, a speech-recognizing personal assistant for Raspberrry Pi, lets you choose Google as the speech recognition engine.

share|improve this answer
Thank you! I will surely try this out. If it can be done quickly (except for processing time) then I can implement this into my product. What a boon that would be. – fredsbend Jun 24 '15 at 16:29

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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