16

You know how Youtube creates "automatic" subtitles based on the sound on a video? (sound-to-text)

I have an MP4 file on my computer. How do I create "automatic" subtitles based on the video's sound, for free? (sound-to-text) I don't want to type up the subtitles by hand, I want sound-to-text to create them automatically.

I don't see how this page is helpful for automatic subtitles.

As a final note, I use a Mac, version 10.9.

migrated from cs.stackexchange.com May 22 '14 at 17:51

This question came from our site for students, researchers and practitioners of computer science.

  • For Web videos, see the question: Adding closed captions to online videos – unor May 22 '14 at 18:37
  • wow, just that i had on my mind. +200 – George Chalhoub Mar 17 '15 at 8:19
  • No guarantees, but try this: download the video, split it up into one-hour segments, upload unlisted or private, create closed captions (automatic), enjoy the correct parts and laugh at the mistakes. – aparente001 Jul 29 '17 at 14:49
10

This is one of the dreams of many many people and currently a perfect solution is not publicly available. However it can still be done with a bit of messy work. One method which will work if a) the video is okay to be public for a few minutes and b) Youtube's auto-captioning will work is to upload to Youtube, get Youtube to auto-caption and then use KeepSubs web-app to download the subtitles, then delete video.

Then it is a simple matter of finding the subtitle editor with the features you need/want. AegisSub is a high-quality subtitle editor/applier which should work for what you need.

  • 2
    This is a good hijacking trick. However, YouTube does not create automatic subtitles to all videos. – George Chalhoub Mar 17 '15 at 8:21
  • :( -- KeepSubs seems to be gone at this point. There may be others. I'll edit if I find one. – Mike M Oct 17 '17 at 14:23
3

This Python 2 script use Google Web Speech API and FFmpeg to generate subtitles: https://github.com/agermanidis/autosub

  • That sounds amazing! – Ryan Aug 8 '16 at 23:33
2

There is also another option but it is even more work for you.

That is using speech->text engine and a double-male 3.5mm audio cable to route your speaker output to your mic input. The quality will be based on the quality of the text-speech engine. The best engine I know that will work on Macs is Dragon Dictate (I have used the windows version - Dragon Naturally Speaking - rather than the Mac version).

Then it is a simple matter of finding the subtitle editor with the features you need/want. AegisSub is a high-quality subtitle editor/applier which should work for what you need.

Then more works comes again; you have to set the timing up (through the subtitle editor) and check for errors ofc.

In summary it's a nasty amount of work and not very automated but slightly better than hand entering usually - if it has poor audio quality you may be able to take less time just manually doing it all rather than editing horribly inaccurate speech->text engine results.

0

Gaupol 0.19.2 (Python) use GStreamer 0.10 (with plugin PocketSphinx 0.7) to recognize speech and create automatic timings. I have not tested newer versions.

https://wiki.gnome.org/Apps/Gaupol/SpeechRecognition

I am using Linux, but maybe it's possible to run them on OS X too.

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