Audio, Programming

Transcribing Podcasts for Fun and… Fun

I’m an avid listener of the Doughboys podcast — two comedians review chain restaurants with guests, taking the process seriously but being funny while doing it. At the top of each show, they play a “drop,” which has come to mean a listener-submitted audio file, usually a humorous remix of clips from previous episodes.

I’ve always enjoyed audio manipulation. I remember making fake radio dramas as a kid with my sister using the sound effects built into Windows 98 and the system audio recorder. In high school, I used GoldWave to remix a recording of a classmate burping, making a song-length trap beat.

I turned my attention to making drops for Doughboys. Initially, I had a few different ideas that I executed by manually cutting audio out of the full ~90-minute episode mp3s, but eventually, I wanted to chase some more ambitious results, so I decided to look into automatic transcription and clip extraction.

The result of that decision and nearly two years of iteration is Dropseeker: a set of command line scripts that will both transcribe an entire podcast feed (for free) on your computer and allow you to search for words and phrases and automatically extract any clips that contain them as separate audio files.

I don’t claim any credit for the actual transcription software. This part is all accomplished by whisper, an amazing (free) transcription tool that I have to imagine is putting audio transcribing companies out of business. Dropseeker takes whisper and puts it to work on podcasts specifically.

How does it work? Once you’ve downloaded it (and installed whisper), you can transcribe an entire podcast feed by just running this command:

php fetch.php --feed https://example.com/podcast-feed.rss

After that has finished, you can start searching and extracting clips. Want to find every instance of someone saying “Burger King”?

php search.php --search "Burger King"

Want to extract a clip of every time someone says “I’m _____ of the _____”?

php search.php --search "I'm * of the *" --extract

Want to extract a clip of every time someone says “burger” or “sandwich”, plus an additional second before and two seconds after?

php search.php --search "burger" --search "sandwich" --extract --before 1 --after 2

Want to search for every time that someone says “restaurant” around the same time that the word “fork” is used?

php search.php --search "restaurant" --context "fork"

Need to only search episodes from 2022 for mentions of “chicken wing” or “chicken wings”?

php search.php --search "chicken wing*" --match 2022

As you can see, this could save a person a lot of time. Alternatively, it could cause a person to spend a lot more time making drops that are more and more elaborate, not saving them any time after all.

In the last two years, I’ve submitted 55 drops to Doughboys and sent in 25 audio submissions to other podcasts I listen to that have similar features, like Comedy Bang Bang, Hey Riddle Riddle, and The Sloppy Boys. Most of this wouldn’t have been possible without Dropseeker, at least not without shirking the responsibilities from my real life.

If you’re interested in transcribing podcast for your own purposes, download Dropseeker and give it a shot. I’m happy to answer any question by email or in the comments.

Standard

Leave a Reply

Your email address will not be published. Required fields are marked *