Skip to content

An ML based program which transcribes Online video lectures/meetings and adds highlights/topics generated and summaries of the video lecture.

License

Notifications You must be signed in to change notification settings

itsandyd/Transcribo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Transcibo

An ML based program which transcribes Online video lectures/meetings and adds highlights/topics generated by the video lecture.

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgements

About The Project

[Product Name Screen Shot] [Product Name Screen Shot]

Transcribo basically trascribes Online video lectures/meetings and adds highlights/topics related to content present in the source! This project is can be useful in many interests.

For eg:

  • If one needs keywords for their Yt video, they can use it for subtitles as well as for reach via topics.
  • Students can use the returned document as reference or side notes for studying.
  • It's tedious to just read a transcript of the words spoken, so it adds highlights to the content to be aware what part interests someone!

Of course, this project is at it's initial stage, but with more data and more model validation, it can turn out to be quite useful.

Built With

This project is entirely based on Python. The following packages and Models were used:

  • Scikit-Learn
  • MoviePy and Pydub
  • SpeechRegonition by Google
  • Latent Dirchlett Allocation
  • Numpy
  • Gensim
  • TfidVectorizer
  • NTLK

Getting Started

Prerequisites

I assume you are using either anaconda or Google colab for running the python notebooks. *

pip install -r requirements.txt

or Download the environment file for Anaconda prompt

https://drive.google.com/file/d/1mYBmfRa5E3BshmDhCVgsDhNcqoQOWqqr/view?usp=sharing

Installation

Just add your video title and files_path variable, and you are good to go!

System Implementation

Firstly the project is based on Flask, so all the data dealing is done by the framework smoothly. The first real task of the program is to convert the video file provided to an .wav audio file for transcription. We did this using a package called moviepy. Then the output audio clip was gone through Google’s Speech recognition API in a loop to cover the whole audio. The transcription from the API was saved in a local .txt file for better use. We tried to append the whole transcription to a single string, but we got some runtime issues (Basically out of RAM). Though Google API is one of the best speech Recognition API out there, it doesn’t punctuate the text in the output. Thus, we came across a pre-trained punctuation model based on theano and a package called “punctuator”. We punctuated our text with the model itself. The summarization process: For getting the summary out of the text, we went through several options, and chose Scikit learn’s tfidfvectorizer. The process seems to be complicated but was quite easy. First, dividing the text with sentences with the help of punctuations, then tokenize each word with the help of nltk’s word_tokenise. Then getting the average of frequency of words and removing stopwords/regular words from the text. Then calculating the importance or Accuracy of the words in the sentence. Then with that accuracy, calculate which sentences are more valuable. Lastly, adding the sentences with the highest threshold to the cut of final summary. And all the data we obtained from the following system is given out as html with the help of Flask!

Applications

This project has wide range of applications, some of which are listed below:-

  1. For School/College Students, to get notes, if they missed any class by chance.
  2. For School/College Students, to get notes with highlighted keywords, to revise the class during examinations.
  3. For Business professionals to get the minutes of meeting.
  4. For all the online events and workshops, which happens online, and after that report is to be prepared.
  5. To know the name of medicines and brief of call, when the doctor consults the patients online using video/audio call.
  6. To store the financial based startup’s (like policy bazaar) call data in transcripted files, for future evidence and reference.
  7. For all Specially abled who can’t hear the audio/video can see the transcription.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Team - @just_a_folk - @MeeraliN-

Acknowledgements

  • [GitHub Emoji Cheat Sheet]

About

An ML based program which transcribes Online video lectures/meetings and adds highlights/topics generated and summaries of the video lecture.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 59.6%
  • HTML 29.6%
  • Python 10.8%