Jill is Amazing
Jill from the Northwoods is a beast at learning new things and implementing the things she learns. When she met me in real life, she bought one of my older MacBook Pros because she wanted to learn the Mac and potentially move over to macOS leaving Windows behind.
Shortly after that, she decided to start a podcast, and I offered a wee bit of help. I suggested a few apps to her. I suggested Hindenburg as a multi-track editor, Audio Hijack for recording different sources, and Auphonic to level my audio and get it to the loudness standards for podcasting.
Approximately 8 minutes later she had abandoned Windows, bought a modern M1 Mac, mastered all of the apps I suggested, and created her podcast Start With Small Steps with 116 episodes already.
When I say she mastered the apps I suggested, I’m not kidding. She actually watched training videos, read the manuals, and is now regularly helping me with these apps when I run into problems. She also keeps up with what’s new on the apps she uses. Jill’s diligence in constantly staying up-to-date and knowledgeable will now bring a visible benefit to you.
Auphonic Adds Automatic Transcript Creation
Jill tipped me off that the web service Auphonic that processes our audio files had a new feature. Georg Holzmann, the developer implemented a speech recognition engine using an open source tool called Whisper by OpenAI. What this means to you is that I think I’m going to be able to provide transcripts of all Podfeet Podcasts.
The alert amongst you are thinking, “Wait a minute, doesn’t she script the NosillaCast with full-fledged, beautifully crafted blog posts?” While that’s true, Chit Chat Across the Pond Lite normally has no text version at all. And even on the NosillaCast, you might find benefit to hearing Bart’s explanations on Security Bits beyond just the articles to which he links in the shownotes. Deep dives are written but there’s a lot more content available.
Not only will this be of benefit for those with hearing impairments, but what if you did hear an episode but wanted to reference something you heard, or quickly refresh your memory? You could search for a word or phrase and find it in the transcripts.
Auphonic Interface
The process to create the transcripts is incredibly trivial through Auphonic. The service works on the concept of presets. I have one for the NosillaCast, one for Programming By Stealth, and one for Chit Chat Across the Pond Lite. The processing is mostly the same, but the three presets add the correct logo to the file, add the meta data like artist (me!) and the podcast name, and then SFTPs the mp3 file to Libsyn which is the service that serves all of my audio files.
To produce a show, I select the preset, point it at my audio recording on my computer, and Auphonic does all the rest. When it’s done the mp3 file is ready for you, and I can download a copy for my own archives.
Adding transcription to a preset is just as easy. In addition to the mp3 output file, I can choose three different output file formats: Subtitle (.vtt), Transcript (.html), and Speech (.json).
The only output file type I think I’ll be using is the HTML transcript unless someone tells me something nifty I can do with the VTT subtitle or JSON speech files.
Auphonic is fairly quick to transcode the high-quality M4A file into an MP3, but transcription takes quite a bit longer. I haven’t timed it since I’ve only done it once so far, but I think it was over an hour to transcribe a 45-minute show. I don’t have to wait for the transcription to download the MP3 file and publish the podcast as soon as it’s ready.
I love the download interface of Auphonic because it shows me what the waveform looked like before it leveled the audio. If I’ve been in a conversation with Bart or another guest, it’s astonishing how different the two waveforms look. I can also play the audio from this interface.
Once the transcription and MP3 files are ready, there’s a download button next to them.
Hazel Does the Magic
I realized as soon as transcription was available that it would be very tedious to deal with these files on my own, so it would be in my best interests to automate what I did with them right from the beginning.
I use Hazel from Noodlesoft to automate file management and I knew it would be the perfect tool to help me with the transcriptions. I was already using Hazel to deal with the MP3 file downloads. Hazel watches my Downloads folder and if it sees any files starting with NC_
with an extension of .mp3
, it automatically moves them into a dedicated folder I have called NC_AUDIO_2022
. Hazel also watches that folder and when files have been sitting there for two weeks, it moves them over to my Synology for cold storage.
What I needed for the transcripts was going to be a bit more advanced but not that much harder. I set up Hazel to again watch the Downloads folder and this time to look for files starting with NC_
and ending with .html
, which should uniquely identify the transcripts files. I set up a second rule for Hazel to look for the Chit Chat Across the Pond transcripts.
When Hazel finds a match, I told her to move these files to a folder on my Mac called transcripts-all-shows
. Now for the tricky bit. Hazel can also connect to remote servers and use secure file transfer protocol (SFTP) to log in and push the files up to the server.
I created a directory on podfeet.com at the top level called transcripts
and told Hazel to watch the transcripts-all-shows
folder on my Mac and push any new files it finds up to podfeet.com/transcripts.
I created a diagram to try to illustrate all of the automation I just described. Hopefully, it will clarify what I’m doing.
TextExpander Automation
This was only the first part of the automation. You may have noticed that the NosillaCast shownotes are very standardized. That’s because I use TextExpander to create them. It automatically creates the intro (including the date for the show) and creates the sections for the articles, how to support the show, and the outro.
This automation needed to now include the link to the transcript of the show. One of the cool features of TextExpander is that you can embed snippets inside of other snippets. That allows me to create a standalone snippet that links to the transcript and then use it in different ways for the different shows.
The Chit Chat Across the Pond notes don’t have as much of a rigid structure because they’re often just a short paragraph with a link to play the show, and if it’s for Programming By Stealth it includes a link to Bart’s shownotes. With a standalone snippet for the transcripts, I can include it like that in the Chit Chat notes, and also include it in the more complex snippet for the NosillaCast shows.
TextExpander’s embedded snippets is super powerful and makes automations much easier. In theory, it makes me less error-prone as well. I say in theory, because much of these podcast-related snippets rely on my executing them on the correct day. The files you download, whether they’re the audio files for your podcatcher or the transcript, are all date-based. I’ve instructed TextExpander to automatically create the episode episode names formatted with YYYY_MM_DD.
On rare occasions, I don’t post Chit Chat Across the Pond on the same day I record it, and anarchy ensues as a result. I use the same date format snippet to name the audio files, so the blog post and podcast episode and the transcript will all have the wrong date.
On other rare occasions, I start the NosillaCast show notes before Sunday and I have to manually go in and change all of the date info there too. Both are surmountable problems for those rare occasions when I do things on an off day.
Bottom Line
The bottom line is that the Podfeet Podcasts shows will be now be even more accessible with full transcripts for the hearing-impaired, and these transcripts might benefit others. I have no intention of editing these files, but Auphonic does provide an editor where you can listen and edit at the same time. If a volunteer wanted to take on this task, I might consider that, but for now, you’ll get whatever Whisper by OpenAI gives us.
I may also change slightly where the files end up on my server, but if I do move them, be assured that I’ll have a redirect so you can always go to podfeet.com/transcripts/episodename.html. I’m working on a way that you will be able to look at that top-level directory to scan what’s available but I haven’t gotten that working just yet.
Please let me know if you find value in the transcripts, whether it’s because you aren’t able to listen, choose only to read, or just want it as a reference to find something you heard on a podcast. Even if only one person gets value from this it’s free for me to create and with my automations by Hazel and TextExpander it won’t be any more work that clicking the download button in Auphonic.