Need a podcast? Create your own!

Here’s the situation: At some point in the past, you subscribed to a podcast that’s now long since gone. You’ve already downloaded the podcast’s MP3 files for your enjoyment later on. And now you want to load all of the old MP3s as a podcast (as opposed to a normal playlist) in your iPod—doesn’t matter what the reason is, only that right now you’re determined to do it.

True story: My situation—and my motivation in the first place for what follows below—is slightly different. I had previously subscribed to a plain ol’ RSS feed for a foreign language site that allowed you to download MP3 tutorial files on a weekly basis, so I did. And I did this for a few months before I discovered that I had the option to subscribe to this site’s podcast as well, where the same files would be served up on a weekly basis. Only thing is that by the time I figured out there was a podcast, some of the earliest items had already rolled off the end of the podcast feed (which only serves up the last 10 articles) and were no longer available via the podcast itself, meaning my podcast subscription was now incomplete. However, since I had been faithfully downloading the files manually via the RSS feed, I actually had the raw content I needed—it just wasn’t part of the actual podcast feed any longer. I like to keep non-music podcasts separate from my normal iPod playlists—I’m funny/anal that way—hence my desire to find a hack to get around this, which led to this article. Phew.

What now? If you don’t want to just add the raw MP3 files into a normal playlist, you’re stuck, right? Aaaaaah, not necessarily…

If you can’t subscribe to a podcast that suits your need, why not just make one of your own that has exactly the items you want?

Please note that I don’t claim that what I describe below is the best or the most efficient solution, only that it works the way I want it to. I’m sure there are optimizations galore that you could make; I’m just sharing this here as-is in case it helps someone else.

1. Set up a local webserver.

Assuming you don’t want to put this up on an actual web hosting server, the first thing you’ll need to do is set up a local web server to host your local podcast files. Whether its on your local workstation or on a private web server on your home network makes no difference. For Windows machines, an easy-to-use option is WampServer, which bundles an Apache web server, MySQL, and PHP out of the box and is drop-dead simple to set up. (Another popular option is XAMPP.)

This tutorial assumes you’re using WampServer on your local PC, though it should be straightforward enough to figure out how to tweak this for a different network setup.

Note: Hosting your local podcast on your PC (and not on a separate web server on your home network) has a minor side effect; see Section 4 later on…

2. Locally populate your podcast MP3 files.

Now you need to put your MP3 files somewhere that the web server can find them. Chances are there’s a dedicated directory where your web server looks for files it’s expected to serve up; this location varies by web server (and is usually configurable by you during installation). For WampServer—assuming you installed WampServer to C:\WAMP and didn’t muck with the default config—this default location is C:\WAMP\www, so stick your MP3s there or, more probably, in some subdirectory under it (for this example, let’s make it C:\WAMP\www\podcast).

(optional) It may be that you’re like me and already have the MP3 files stored in some directory that is not part of your web server’s file directory. (For example, my files are tucked away in a subdirectory under my My Documents folder—let’s call it C:\Documents and Settings\xyz\My Documents\podcast for the sake of this discussion.) Instead of moving or copying them into your web server’s path, you can use the Junction utility to create a link to that directory from somewhere in your web server’s path. So, using my example, you can point C:\WAMP\www\podcast to point to C:\Documents and Settings\xyz\My Documents\podcast and never have to move a thing, and Windows will treat the former as being the same as the latter when accessing files—that is, C:\WAMP\www\podcast\foo.mp3 points to the exact same file as if you had used C:\Documents and Settings\xyz\My Documents\podcast\foo.mp3 instead. Quite cool, though this is old hat for those of you familiar with Unix symbolic links.

3. Create your local podcast feed.

This is really the part the makes it all happen—creating your local podcast feed. If you search around on the Googles, I’m sure you can find all manner of freeware, shareware, and/or commercial programs that will help you do this, but as I was starting at the ground floor, I wanted to get a better understanding of how the whole magic worked. So I created mine from scratch. In any case, all you’re doing is creating an XML file that contains all of the local MP3 files that you have and that you want to serve up as part of your local podcast.

No, I’m not going to go into step-by-step detail on how to do this; it’s straightforward and mechanical, but very tedious (if, of course, you do it by hand like I did). Anyway, it’s easy enough to find DIY instructions floating around the Intertubes; the tutorial I found to be the easiest to follow were the instructions found at podCast411 for creating your own XML podcast feed. (You can also read Apple’s technical specification for creating iTunes podcasts, but it’s more a reference than a tutorial.)

In the end, you wind up with an XML file that describes your podcast in all the necessary detail. Name the XML file whatever you want, and put it somewhere logical in your web server directory; continuing with my example, let’s call my file C:\WAMP\www\podcast\foo.xml.

This is the step that will undoubtedly take you the longest time, but once you finish it, you’re almost done…!

4. Subscribe to your local podcast.

Now you can actually (finally!) subscribe to your podcast. Follow whatever steps your player software (e.g., iTunes, Songbird) needs in order to subscribe to a podcast; for iTunes on Windows, this would be Advanced ––> Subscribe to Podcast…, then enter the local URL for your podcast feed. (Continuing my WampServer example, the XML file location I specified above would translate to a URL of http://localhost/podcast/foo.xml; your mileage may vary depending on your choice of web server, but it’ll be something like this in any case.)

And now your local podcast should show up and look like any other “real” podcast you subscribe to! Do a “Get All” (in iTunes, for example) for your new local feed, and voila!—all of the feed’s files are there for your enjoyment, just as if you had subscribed to a “real” podcast.

[Oh, about the gotcha mentioned up in step #1… If your web server is running on your local workstation—that is, the same computer where your player software (e.g., iTunes) resides, you’re likely going to end up with two identical copies of your MP3 files on your hard drive: one copy is the set of original MP3 files, the other copy is the set of files that iTunes (or whatever) pulls down as part of the podcast subscription and is stored in your player’s designated path for podcast files (for iTunes on Windows, this would be somewhere such as C:\Documents and Settings\xxx\My Documents\My Music\iTunes\iTunes Music\Podcasts\, for instance). Maybe a little annoying, but hopefully not that big a deal for you, especially with hard drive space being what it is these days (i.e., cheap). Anyway, just something to note in case it’s a big deal to you.]

5. Maintenance…

Depending on your circumstances, you’re either completely done at this point, or at most you have a little occasional maintenance to perform…

If you know that no more files need to be added to your local podcast from here on out, you’re done.

If, on the other hand, you occasionally need to add new files to your local podcast, all you need to do at each of those times is edit your podcast’s XML file to include your new MP3 file’s information, save it, then update your podcast subscription on your player software (iTunes on Windows: right-click on the podcast, then select Update Podcast). Get the new podcast item (if your player doesn’t do that automatically when you update a podcast subscription), and now you’re done, too. Lather, rinse, repeat each time you need to add a new item to your “subscription”—it’s really that easy.

Aside: In my case, I just pull the latest MP3 file off of the latest RSS feed item every week, then update my local podcast (per above) to account for the new file.

6. So is it worth all this trouble?

I can’t answer that for you. But it works for me, and it was a nice little educational experience as well. And if I ever decide to host a “real” podcast, I already know 99% of what I need to do having gone through this experience, so there’s that, too.

Anyway, as I said at the beginning, maybe this helps someone else out there. If so, glad to be of some service to you. And if not… well, thanks for reading all the way through, at least. :-)