Podcasting from Linux


Author: Preston St. Pierre

Podcasts are reinventing talk radio on the Web. These homemade audio downloads have become popular since they were introduced last year. Pontificate on your political opinions, praise your favorite bands, interview your hero — the possibilities are limitless.

Podcasts were created by fans of the Apple iPod, but you don’t need an iPod or a Mac to make your own. Properly configured, the average Linux distribution can podcast with the best of them. Here’s how.

Before you start practicing your radio voice, make sure that your system includes the following programs:

  • Audacity (sound recorder and editor, included by default with most distributions)
  • Lame (MP3 encoder, available through RPM or APT)
  • iPodder (subscription tool — see install instructions below)
  • Skype (VOIP client, optional for recording interviews through VOIP, available through RPM or APT)

On the hardware side, you’ll need:

  • A microphone
  • A pair of headphones
  • A sound card with a line-in port

If your distribution can handle these modest requirements, it can handle podcasting.

Listening with iPodder

Essentially, a podcast is an MP3 file paired with a syndication feed. iPodder is the most popular subscription tool for these feeds. The program incorporates an RSS (Really Simple Syndication) reader and a simple download agent to grab the feeds that you select.

The Linux version has come a long way, but it is still in beta. An RPM package is available directly from iPodder. Before you install it, make sure your machine is running the latest version of wxpython.

For Debian-based distributions, iPodder installation is a little more complicated. iPodder isn’t available through APT, but an alien conversion worked straightaway on my Mepis Linux machine. Open a terminal, move to the RPM’s directory, and type the commands:

alien --to-deb ipodder-1.1.2-1cl.noarch.rpm
dpkg -i ipodder_1.1.2-2_all.deb

To start listening, run iPodder and select the Preferences tab. Click Browse, and select a folder for your downloads. You can subscribe to podcast feeds by browsing iPodder’s directory or entering URLs on your own. To browse, select the Status tab and click the button labeled “Select feeds from the podcast directory.” To add a URL of your own, type or paste the address into the text box at the top of the Status window and click Add.

Download your subscriptions by clicking the button labeled “Check for new podcasts.” To listen to your downloaded feeds, go to your download directory and open the files in your favorite media player.

Configuring Audacity

Enough listening. Let’s start recording. The Audacity sound editor offers twice the features of many commercial programs and more power than most podcasters will ever need.

To begin, first make sure that Audacity has MP3 support enabled. Open Audacity and click File > Preferences. Select the File Format tab. Find the section labeled MP3 Export Setup. If this says “MP3 exporting plugin not found,” then click Find Library, and select the location of libmp3lame.so. (On my machine, the path is /usr/lib/libmp3lame.so.)

Now is also a good time to set the bitrate for MP3 encoding. The default is 128, which is probably a bit high for podcasting. (The smaller the download, the better.) Select your preference, and click OK to save your changes.

Recording with Audacity

Odds are, you’ll want to start your podcast with some music. Audacity makes this easy. Click Project > Import Audio, and select your audio file. Audacity includes native support for MP3, WAV, and OGG formats, among others. Click OK, and the program will import the file as a new track. Stereo tracks are displayed as two waveforms (two blue lines of dips and spikes). The time ruler at the top of the track window lets you know how long the track is.

Obligatory copyright warning

When including music in your podcasts, avoid store-bought CDs and other copyrighted works, or the artist’s lawyers may come knocking. Instead, run a search at Creative Commons to find free music and sound samples. Remember to return the favor by releasing your own productions under a friendly license.

The file that I imported was 4:12 in length — much too long for an intro. I wanted only the first 45 seconds or so. To trim a track, highlight the portion that you want to keep by clicking and dragging across its length. Then, click Edit > Trim. The excess disappears.

But now you have a new problem — the sound cuts off too abruptly. To fix this, highlight the last 15 seconds of the track, and select Effect > Fade Out. This result is a brief musical introduction that ends with a smooth fade, perfect for leading into the talk portion of your podcast.

Recording input from a microphone in Audacity is just as easy. Open your system’s sound mixer (KMix or equivalent), and select your microphone as the input. In Audacity, select Mic from the drop-down menu on the top right. Make sure you plug in your headphones if you haven’t already done so; external speakers will bleed into the microphone.

When you’re ready, click record, and Audacity will create a new voice track below the music track. If your microphone is working, the waveform on the track will spike and fall as you speak. When you’re finished, click stop.

If music and your own voice are all you want to record, skip to the Share Your Work section below. If you want to record an interview with someone else, read on.

Recording an interview over VOIP wth Skype

A good way to record a conversation for your podcast is to use Internet telephony software and save the sound directly to disk. Skype is the most popular voice over IP client out there, and it has become the gold standard for podcasts that include interviews. For Linux users, the good news is that Skype is available as a native binary. Version 1.0, released last month, includes most of the goodies available to Windows users.

Now for the bad news. To record both sides of a call, you need a second machine.

In my testing, I could find no combination of programs or settings that was able to record both sides of a Skype call on a single machine. I tried on both a Mepis and a Mandrake machine with no success. Using two machines together, however, solved the problem easily, with minimal setup time.

This method uses the first machine to conduct the interview, and the second to record it. The second machine doesn’t need to be anything fancy. If you don’t have an extra one, try enlisting a friend to help; the machines don’t even need to be at the same location.

To prepare the first machine, install Skype and set up a user account if you don’t already have one. When you’re done, leave Skype running.

To prepare the second machine, install both Skype and Vsound, a command-line program that writes the output from the sound card to a WAV file. It’s available in both RPM and APT packages. Next, run Skype and create a second user account. This account will act only as a passive recorder, so name it accordingly. (I called mine johnbot_recording.) Finally, quit Skype by clicking File > Close. (Merely closing the window leaves Skype running in the background.)

When you’re ready to conduct the interview, begin with the second machine. Open a terminal, and type:

vsound -f filename.wav -d -r 41000 Skype

Replace filename.wav with a name for your recorded interview. The -d option tells Vsound to both write the output to a file and pass it through the soundcard. The -r option resamples the recording to Audacity’s default quality. Depending on your installation, you may need to include the path to Skype in the command. Press Enter, and Vsound will launch Skype and begin recording its audio output.

Now, go to Skype and click Call > Start Conference Call. Invite your first machine and your interview subject to join.

Once the first machine and your interview subject join the conference call, you’re ready to go. Vsound will record everything received by the second machine. (It cannot, however, record any outgoing sound from its host machine, which is why the second machine is necessary in the first place.)

With this method, not only can you capture the entire interview, but the presence of the recorder in the call list reminds everyone that the call is being saved, so no one can cry foul when you post the interview online.

Obviously, this solution isn’t perfect. Podcasters are screaming for Skype to add a record feature.

Importing the interview into Audacity

When the interview is over, quit Skype by selecting File > Close. (Merely closing the window will leave Skype active in the toolbar and prevent Vsound from writing the finished file.) Vsound will then resample and write the file in short order.

To add your interview to the rest of your podcast, move the WAV file to your primary machine. You can import it into Audacity the same way you imported the previous file. Then, you can use Audacity’s editing tools to place the interview within the rest of your show.

Share your work

When your project is ready to share, click File > Export as MP3. Select a name and save location, and the program will prompt you to edit the file’s ID3 tag. These tags store artist, album, and genre information for MP3 files. You may complete the form or leave it blank. Click OK, and your podcast will be written to disk. Finally, upload the MP3 to your Web space. If you need space, Rizzn’s Podcaster offers free hosting and easy uploading.

The last thing you need is a syndication file. If you use Rizzn’s Podcaster, its upload form will create one automatically. Otherwiwse, this easy Web form will help you generate your own. Enter all of the requested information, taking particular care with the URL to your MP3. Submit the form, and copy the XML code it returns from the next page. This code is everything that you need to syndicate your podcast.

To create your syndication file, paste the code into a new document in your favorite text editor. Save the file in plain text format as podcast.xml. (Feel free to change the file name, but keep the XML extension.) Finally, upload the XML file to your Web space.

Your podcast is now ready to go. To subscribe to your feed, listeners can paste the link to this file into iPodder.

To update your feed with a new podcast, simply upload the new MP3 with a different file name, then return to the Web form and generate new XML code with the new podcast’s URL. This time, however, you only need part of the XML code. Copy everything from <item> to </item>. Open your original XML file and paste that code above the existing <item> section. Finally, upload the modified file, replacing the original.

Of course, people have to know about your podcast before they can download it. Post the link to your XML feed to your blog or Web site. To get listed at popular podcast sites, visit these submission forms: