Example:
Search Stories: Use Reddit's PRAW API to search specific subreddits for stories of a specific length.
Moderate and Grade Stories: Use GPT-4 to moderate, grade, change names, etc., of the story(s).
Order Stories: GPT then creates an order for these stories to be shown in the video, prioritizing the better stories first.
Generate Audio:
Use AWS Polly to break up the stories and convert them into .wav
audio files.
Align Text and Audio:
Use Montreal Forced Aligner (MFA) to align the .wav
files with the .txt
file, creating a .TextGrid
file.
Convert to SRT:
Convert the .TextGrid
file to .srt
for easier subtitle creation with FFmpeg.
Create Intro Cards: Create an intro card for each story with the title (created by GPT) and use it at the start of the video.
Render Each Story: Render each story separately using FFmpeg.
Concatenate Stories: Finally, concatenate the stories in the order specified by GPT at the start of the process.
Repeat Process: Repeat the process for as many videos as you request.
Improvement at compartmentalizing my code to keep everything organized and build off of each new file/function.
Thorough experience in serveral API's such as gpt, aws polly, and praw.
Learned FFMPEG and how to utilize its speed to make up for the slowness of python.
Experienced in using forced aligners like Aeneas and Montreal Forced Aligner for aligning audio back to the story.
Improved expierence with image editing libraries in python like PIL.
I have purposefully deleted/edited certain parts of the program, such as GPT prompts, to reduce the likelihood of people just downloading and running the program to make videos. All the core content/logic remains intact. This is to prevent widespread misuse of the program.