Spoken Tutorial - Auto-generation of Spoken Tutorial


Auto generation of audio from a given transcript and merging of video & audio to create a Spoken Tutorial.

PART I. Create a page that takes a transcript and creates a voiceover of the transcript.  Option to select Male or Female voice should be given on the page.  Any open source voice generating software can be used in the back-end to auto-generate the audio.

PART II. Create a page that takes an input video & the auto-generated audio and merges them to create a spoken tutorial. 

     1. Create a basic form that takes input video and input audio from the user.

     2. Create a button MERGE that uses these 2 multimedia files and merges them into a single spoken tutorial.

     The MERGE button should use

  • ffmpeg to strip the orginial video of its audio
  • ffmpeg to use the new audio and merge it with the video
  • ffmpeg to compress the resultant file and create a low filesize spoken tutorial 

3. Create a button PREVIEW to view the new spoken tutorial.

     The PREVIEW button should 

  • Open a player with VCR Controls with the new tutorial preloaded in the preview area


Please Note: Understanding Django request and response cycle is very important for completing this task.



Submit your proposal for this auto-generation tool to fellowship@spoken-tutorial.org with the subject line as "FOSSEE Semester-long Internship 2022 - ST".

Mention which open source voice-generating software you will be using to build this tool.  Using ffmpeg is mandatory to stitch the audio and video, as well as to compress the final merged video filesize.

Also submit sufficient documentation, wire frames, mock-ups, etc. for your proposal.

Once your submission is shortlisted, we will administer a Python test which you will need to clear.  Only then will you be selected for the fellowship with us.


Evaluation Criteria:

Following criteria will be considered while evaluating the tasks:

  • The simplicity of the code
  • Comments for each block or function written
  • Accuracy of results obtained
  • Documentation should be readable and understandable
  • No plagiarism (if your submission matches another student's submission, both will be rejected)


Technologies to be used:

Python, Django.