Youtube to Summary

A pipeline for creating text summaries from youtube URLs

Image of the application I mentioned
Video by PhoenixSC

This is a simple example of me playing around with AI. The front-end is existent, but I personally want to focus on the back-end of it here.

When entering a URL, it does the following:

  1. Start a separate thread to not freeze the UI
  2. Download a video's audio stream using pytubefix
  3. Transcribe the audio using OpenAI's whisper
  4. Split the transcription into chunks with a certain amount of overlay
  5. Summarize each chunk seperately
  6. Merge the chunks together
  7. Save it to a JSON with some metadata
  8. Give the user a notification

Note on step 4: It is required to split the data somehow as the summarization model used can only take a certain number of tokens.

When starting a program, it does the following

  1. Print a lot of system information about the user's machine so I can help with troubleshooting if needed
  2. Tell the user if they have enough V-RAM to run OpenAI whisper

Current issues

  1. Speed
    The program is insanely heavy and slow. Specifically the startup time is insane.
  2. Precision
    There is some issues with sarcasm and jokes being taken literally by the AI.
  3. User feedback
    The program doesn't have any sort of visual feedback for when it is processing something.
  4. Code clarity
    There is almost no comments in the code and most of the code is in one giant file.
  5. Visuals
    I don't like the look of the program in its current state

I might fix those issues in the future, but this program was more of a playground to me than anything. It helped me learn a bit about the transformers library as well as things related to GUI.

Morality

Using a program like this is, in my opinion, highly immoral. The only reason why this repository is public is because I'm struggling to look for employment and this is one of my biggest repos. I personally don't use it either.

Github repository (includes instructions for running)