Hot Dog Story: What Goes Into Pulling Clips From TBTL to Post to Marsupial Gurgle

Trigger Warning: Hot Dog Story, Audio Geekery, Code Geekery

In one form or another, I have been asked what goes into the process of pulling clips from TBTL and posting them on to Marsupial Gurgle. I decided to use TBTL #2107 as the episode to document and highlight the process in a bit more detail.

Obviously, the first thing that goes into pulling clips for a show is to download the show when it gets published and open the audio file in my audio editor of choice, Audacity. As for the reason for choosing Audacity… well, it is free and available on both Windows and Mac (the latter being the primary platform that I now use). Although I have access to Adobe Audition CC by way of a Creative Cloud subscription, I found that it ends up being too much for the work I need to do.

01 Select Clip
TBTL #2107 loaded in Audacity and selected clip to isolate

As I listen through the show, if I run across an interesting bit, I will select the region before and after the clip, copy, and paste it into a new file:

02 Paste Clip in New Track
Pasting isolated clip into a new track

With the clip in a new file, I start to trim away bits to isolate the specific clip that I want and do a fade in at the beginning, and a fade out at the end. I try to keep a padding (silence) of at least 0.040s before and after fade in and fade out (this used to be closer to 0.025s, but it was increased to provide for a cleaner start and end). I will sometimes fiddle with the actual amount of padding to get the clip have a total length that gets rounded up to the nearest 0.25s. Why? I suppose it’s to appease one of my OCD attributes.

09 Bring Entire Clip Peak Amplitude to -2.0 dB
Normalizing peak amplitude

In addition to isolating and trimming the clips, I also go through a process of normalizing the volume to even out any spots that are extremely loud or too quiet. When I started pulling and posting clips, I had a target peak amplitude of -1.5 dB for the entire clip; though, recently, I started using a target peak amplitude of -2.0 dB to reduce the effect of random and excessively loud moments from overpowering the listener.

I try not to make too many major changes to alter the audio quality of the clip, as I cannot control the actual content quality of the clip. Also, I don’t want the audio quality to worsen to make the audio jarring in any way. That said, I will fix clipping issues or bring up very, very quiet parts of the clip to emphasize things a little more.

List of clip transcriptions
List of clip transcriptions (As an aside: I actually suck at transcribing audio in general, so typos and grammar mistakes are abound)

Once the clip is ready to be saved out, I will transcribe and/or describe what is going on in the clip and save those notes out to a text file. That will become the clip’s filename, be entered into the clip’s metadata, and will eventually be the clip’s display name on Marsupial Gurgle.

Entering metadata for the clip as part of the file export process
Entering metadata for the clip as part of the file export process

When entering the metadata for a clip, I will list out anyone that can be heard in the clip (ie: speaking, laughing, sighing, snorting, etc.) for the Artist metadata field for the clip. Only those that actually speak in the clip will be listed in the clip’s filename and in the track title. The track title also includes “(From #xxxx)” appended to the end of the title. This is important due to common clip titles and/or descriptions and needing to identify which show the clip comes from when loaded into iTunes or on to phones as a ringtone.

19 Using Fission to Convert Clips from FLAC to MP3 20 Using Fission to Convert Clips from FLAC to AAC
The exported clip gets saved out as a FLAC (Free Lossless Audio Codec) so that the clip does not take an audio quality hit due to the lossy compression nature of MP3 or MPEG-4/AAC. This allows me to re-use the clip later on to derive other clips or to include it in other works without the worry of generational loss of quality. The clips that get posted to Marsupial Gurgle will get transcoded from the FLAC file into MP3 and MPEG-4/AAC files using Rogue Amoeba’s Fission audio tool.

For both formats, I set the bitrate to a constant bitrate (CBR) of 128 kbps, as well as leave the sample rate at 44.1 kHz and channels to mono.

Screenshot of several windows used to create post and upload clips
Screenshot of several windows used to create post and upload clips

Once the files have been transcoded and ready for posting on Marsupial Gurgle, I will log on to the WordPress Admin portal for the site and create a new post (or two, if the number of clips hovers around or above 50). The first thing I do in a new post is to enter in the name or title of each clip and set them to bold. This is done by either manually entering typing in the name of the clip and/or copying and pasting the names from the transcribed text from clips.

Using a script to upload clips to Amazon S3
Using a script to upload clips to Amazon S3

A while back, after getting tired of manually typing out HTML code and introducing even more typos into the process, I created a Python script that does the uploading of the files to Amazon S3.

Sidebar: Amazon S3 (Simple Storage Service) is a file object storage service that provides relatively inexpensive storage of files that can be served out to the public Internet, or used as an off-site file storage for companies. I use S3 to store the MP3 and MPEG-4/AAC files and have them replicated between datacenters in Oregon and in Virginia.

I then use Amazon CloudFront service to actually serve out the files, as CloudFront does a much better job in terms of caching and having servers in many other locations around the US and the world. Using S3 and CloudFront help reduce bandwidth costs of serving up the clips, reduces load on the web server that hosts Marsupial Gurgle, and reduces risk of having clips hosted on only one server.

For each clip that I want to upload, I provide the current filename of the clip that I want to upload (sans file extension) and the shortened filename that the files will be saved out as in S3. The shortened filename does not contain any spaces or punctuation marks, with the exception of the show number suffix. The script will also post a copy of the MPEG-4/AAC file with a file extension of “.m4r” and the appropriate S3 metadata required to store a MPEG-4 Ringtone version of the clip. I can also tell the script to not post an MPEG-4 Ringtone version for any clips that I don’t deem to be appropriate as a ringtone (99% of the time, it’s due to the clip being longer than 30 seconds).

Pasting HTML code containing links to the clip's audio files
Pasting HTML code containing links to the clip’s audio files

Once the clip has been posted to S3, the script will spit out some HTML code and copies that code to the clipboard. From there, all I need to do is to paste that code into the post. When all clips have been uploaded and the post is ready, it is then published for all the world to see and hear.

For every hour of TBTL show material, it takes me about 2.5 to 3 hours to pull, isolate, transcribe and export to the appropriate file formats. Once the files have been generated, it will take an additional 15-45 minutes to get a post written and published on to the site.

Published post with clips from TBTL #2107
Published post with clips from TBTL #2107

Yes, there are days where the entire process can feel like a chore; but, getting to listen to Luke and Andrew (and any other guests that come on the show, including Phyllis Fletcher and Stu-bot) banter, make the funnies, and brighten my day or night makes me not think too much about the labor of love. Plus, hearing Tens say how much they love the site and which drops, clips or sounds have become their favorite ringtone(s) is the cherry on top.

With that, thank you to all of the Tens, Wagoneers and to Luke and Andrew for helping make Marsupial Gurgle a thing!

ps: Please consider supporting the Marsupial Gurgle by donating money to help pay for the hosting of the Marsupial Gurgle site and content.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.