In the above example, the dialogue #1274 - The Force is strong with this one appears at 1:55:48 remains in the screen for two seconds and disappears at 1:55:50.
The aim of my GSoC project was to build a tool for word by word synchronisation of subtitles with audio present in the video by tagging each individual word as it is spoken, similar to that in karaoke systems. I have named my project CCAligner as it conveniently lays out it's basic functionality.
In the above example each word from subtitle is tagged with beginning and ending timestamps based on audio.
CCAligner makes use of automatic speech recognition to analyse audio and recognise words to perform alignment. The project comprises of both user friendly tool and developer friendly API.
The project was built by me individually. All the external libraries and code used are credited wherever due.
In addition to my main project, I also worked on creating a single header SubRip subtitle parser library in C++ and contributing to various open source projects, including, but not limited to CCExtractor, Sample-Platform, AutoEdit2, Rhubarb Lip Sync, CMUSphinx.
1. Created a single header SubRip subtitle parser library in C++. This served as a core in CCAligner subtitle handling. It has very huge number of options available, and is very simple to use.
2. Improving existing CCExtractor features, fixing issues and help in PR and code reviews.
3. Improving CCExtractor's sample-platform, fixing and reporting issues, and help in PR and code reviews.
All the third party libraries are located in `src/lib_ext` and along with their individual licenses.