Changelog

Making Podcast Transcripts Readable - Update (03/10/25)

Transcript Generator Project

GitHub Repository


Progress is being made. Today I’ve finished up pretty in depth documentation for the base Python script that is handling the downloading of audio files and then transcribing the audio into a text file.

So What Does This Script Actually Do At This Point?

At a high level, this script acts as a bridge between online audio content and text. When you provide a URL, the script automatically analyzes the link to determine whether it’s a YouTube video, podcast episode, or direct audio file without requiring you to specify the source type.

Based on this detection, the script then selects the appropriate download method - extracting audio from YouTube, parsing through podcast RSS feeds to find media files, or locating audio files that are either uploaded to or directly embedded on websites.

After obtaining the audio file, the script moves to transcription using a CPU-optimized version of OpenAI’s Whisper model. This particular model is great for speech recognition on standard computers that don’t have specialized GPUs.

What’s Next?

Formatting of the Text File

As of now the output of the transcribed audio is not the easiest to read from a formatting perspective. Paragraphs and sentences have line breaks that shouldn’t be there so the next step is to see if I can incorporate a Large Language Model (LLM), like ChatGPT, to process the text file into something more readable.

YouTube Downloader Being Blocked On Other Computers

When I attempt to run this script on a computer other than the one it was created on, I’m receiving an error from YouTube’s anti-bot systems.

The error message if you’re curious: `ERROR: [youtube] kPJLj1xeRyg: Sign in to confirm you’re not a bot. Use –cookies-from-browser or –cookies for the authentication…

After some digging I’ve discovered that since my computer has an established “trust profile” through cookies, YouTube recognizes it as a legitimate user, whereas on computers that the script has never ran on, there is no browsing history or patterns that YouTube recognizes as human behavior. There are ways to export cookies from browsers that I can then feed into my script and hopefully bypass this issue. However since the end goal of this project is to incorporate the script into a website, I need to figure out how this can be done on a server that might not have a web browser installed.