November 22, 2004

The Rock and Roll Geek Show

As I write this I'm listening to the Rock and Roll Geek Show, by Michael Butler:

http://www.americanheartbreak.com/movabletype/

Michael seems to play bass for the band and hosts a kick ass show that sports some of their music. He also plays some RIAA stuff (which he probably shouldn't), and all kinds of crap I've never heard before like string tributes (for AC/DC and Iron Maiden), various covers, and more. The show is so unprofessional and honest it's got me addicted. I'm lovin' it all.

He distributes his show via Podcast (of course) but you can just download a show and give it a listen if you haven't seen the light yet. Most shows are about 30 minutes. He's a fellow beer drinker, preferring Heineken, and is actively (and comically) seeking a sponsorship from them. He openly admits that all he's really after is free beer in exchange for his continued plugs for their product. Personally, I prefer a good Trappist Ale like Grande Réserve by Chimay (http://www.chimay.com).

If you go to the blog url for today, you can see a photo of his office which seems to sport a gorgeous studio display driven by a G5.

Subscribed.


 

Posted by Nick Codignotto at 10:37 PM | Comments (0) | TrackBack

November 18, 2004

Podcasting without an external mixer... on Windows

When I first got into Podcasting, rather listening to Podcasts, I was pretty interested in figuring out how to record my voice and music at the same time. I even cut two Podcasts that I hope no one will ever get their hands on. If they do, I'm finished. These two podcasts are embarrasing in ways you can't imagine. For me, it's more about the technology and the challenge of doing it than it is about creating a Podcast that might mean something to people.

Anway, I see a lot of posts on how to Podcast on a Mac. These solutions generally involve Soundflower and Soundflowerbed. On both platforms, I hear a lot of advice on how people are successfully using a Griffin iMic and an external mixer.

Although I have a rather gigantic wraparound desk at home (see pic below), I'm not ready to invest in an external mixer. It's not so much the cost as it is the space it would occupy on my desk. Plus, all of those levers and switches will likely get gnawed off by my children.

For my Podcasting technology sojourn, I hunted down an application called Virtual Audio Cable by Eugene Muzychenko. VAC allows you to redirect audio device inputs to audio device outputs. So, you can route your USB microphone to your regular speakers. It gets quite a bit more complicated than that, so I'll explain how I was able to record my voice and record music at the same time.

The application I use for recording is Audacity. It's an open-source audio recording program for Windows, Mac OS X, and Linux. Audacity allows me to set the device I use for recording and the device I use for playback.

What device should I use for recording my voice? Well, how about my Plantronics headset's input? Buzzz! That won't work since I won't be able to mix in audio from iTunes as I'm speaking. I could simply drag an mp3 file into another track and encode both together as a final product but doing that wouldn't allow me to comment on the audio as it's playing. Nor would it allow me to pause it and say something. You get the pciture.

How about I use one of the virtual audio cables provided by Virtual Audio Cable. I can then use the Audio Repeater application to route sound from my Plantronics headset's microphone into VAC1.

Routing my Plantronics Headset to VAC1

Now, I need to get music I play into VAC1. However, music I play is sent to an OUTPUT and not an input. So, there is no easy way to accomplish this. I lucked out that my Sound Blaster Audigy had a recording mode called "What U Hear". Setting my Sound Blaster's input to "What U Hear" allowed me to get music playing in iTunes into the Sound Blaster's input and into VAC1 using another Audio Repeater instance.

Sound Blaster Audigy 2 ZS Mixer Settings

All I needed to do was route Sound Blaster's input to VAC1 like so:

Routing music to VAC1 

Things would have been simpler if I could simply have routed iTunes audio into VAC1. However, doing this corrupted the music for some reason.

Configuring Audacity is simple, but here's the screenshot anyway:

That's it. I recorded a small music clip from GarageBand.com, spoke at the end of it, wrote an mp3 file from audacity, added some artwork and modified the tags a little bit and uploaded the audio file here.

Enjoy.

Posted by Nick Codignotto at 11:05 PM | Comments (0) | TrackBack

November 12, 2004

Favorite Podcasts

Here are my favorite podcasts, or at least the ones I find myself listening to in their entirety. These are not necessarily in any order.

If you look at my sidebar, you'll see all of the podcasts I currently listen to. I wrote some python / bloglines glue a few weeks ago where I synchronized my bloglines podcasts with my local feed files so iPodder can use them.

 

 

Posted by Nick Codignotto at 08:04 AM | Comments (0) | TrackBack

November 07, 2004

PyBloglines

I wrote earlier about having written a Bloglines OPML (Outline Processor Markup Language) extractor in python. It was fun little project but someone took the topic more seriously and wrote a generic library to access the Bloglines API.

Go check out PyBloglines over at www.josephson.org.

The part of the code that fascinates me most is their use of expat, the fast XML parser for Python. I've never used it, but the syntax is so easy it only took me a few seconds to see what they did and realize how superior it was to what I did. Check out  this code from PyBloglines:

class OpmlParser:

    def __init__(self):
        self.parser = xml.parsers.expat.ParserCreate()
        self.parser.StartElementHandler = self.start_element
        self.parser.EndElementHandler = self.end_element
   
    def parse(self, opml):
        self.feedlist = []
        self.parser.Parse(opml)
        return self.feedlist
   
    def start_element(self, name, attrs):
        if name == "outline":
            if attrs.has_key('title') and attrs.has_key('xmlUrl'):
                sub = Subscription()
                sub.title = attrs["title"]
                sub.htmlUrl = attrs["htmlUrl"]
                sub.type = attrs["type"]
                sub.xmlUrl = attrs["xmlUrl"]
                sub.bloglinesSubId = int(attrs["BloglinesSubId"])
                sub.bloglinesIgnore = int(attrs["BloglinesIgnore"])
                sub.bloglinesUnread = int(attrs["BloglinesUnread"])
                self.feedlist.append(sub)
   
    def end_element(self, name):
        pass

When done, a list of feeds is returned quite handily.

Posted by Nick Codignotto at 08:02 AM | Comments (0) | TrackBack

October 29, 2004

iPodder

Last night it took everything I had not to start writing my own iPodder software. I knew I would fail and I simply wouldn't get anything else done.

The stuff out there for Windows still seems to suck real bad even for a more advanced user like myself. I can't imagine how regular computer enthusiasts could survive.

No offense to  the dev groups working on this stuff, I'm simply speaking relative to iPodderX for the Mac, which rocks.

Here are my criticisms on i-podder.js, iPodder (Python), jPodder, and iPodder.NET.

i-podder.js

The script seems to choke on feeds every now and then. This is an intermittent problem. If you read the code, you see that there isn't a whole lot of error checking. Even with this serious fault, I still use it. The other solutions simply seems to mysteriously stop working after a while.

iPodder (Python)

Where's the development on this? I listenened to the ipodder-dev podcast and Garth Kidd says something about a new release soon since not everyone gets the nightly CVS stuff. Well, I must admit that I did see something new last night and it simply didn't work. I got exceptions when it tried to manipulate iTunes and parts of the interface were disabled. Garth mentioned that they were concentrating on the engine and welcomed UI developers to help out. Hopefully someone will have time for that.

jPodder

Neat proprietary install (is lzPack standard in the Java world?). Very iPodderX-like interface. Neat capability to browse the podcast directory. This one seems actively developed and I am a bit surprised to see how much it has come in the past few days (week) since I got my first negative impression.

It's nice that they allow you to pull down an OPML and use that. However, my OPML is behind www-authenticate at Bloglines.com so I can't specify my OPML.

I may write a follow-up if I plan on using it.

iPodder.NET

Very primitive interface and the development seems kind of slow. Feeds have to be added manually and are maintained in the standard .NET config file. Having the feeds in this file makes it difficult for me to use by Blogroll extractor since I have to insert a fragment into the XML file. Not a terrible technical feat, but more than I am inclined to develop right now. (I actually refactored my extractor last night to generate the proper format via a nice generic command-line parameter, but I still have to write the capability to insert the fragment into the app config file).

To sum it all up

The whole revolution is still in its infancy so it's not surprising that the tools are still broken to a certain degree. The way I see it, these are  the key features for me:

  • Browsing of podcast feeds
  • Auto-synchronizing with feeds you want if maintained on something like bloglines
  • Solid integration with iTunes, Windows Media Player, etc.
  • Better overall detection of already-downloaded files (lots of ways to attack this)
  • Allow applying rules to Podcasts and possibly auto-insert tags. This is important as long as iTunes doesn't allow me to say "Genre is 'Speech' or 'Podcast' or 'Comedy' AND PlayCount = 0" Currently iTunes only allows all conditions to be AND'd together or OR'd together.

Lots more to discuss on this topic, but I don't have a lot of time to flesh out a whole white paper on the topic.

 

Posted by Nick Codignotto at 08:49 AM | Comments (0) | TrackBack

October 27, 2004

lookANDsee

I've been thoroughly enjoying lookANDsee, a photo blog/podcast by a guy named Gordon Smith. He takes pictures around his home in Australia.

His blog is simple, pure, yet its full of endlessly rich detail. Even while I'm commuting I enjoy hearing him describe his photgraphs.

The audioblog entries are all under 10 minutes, so it's an ideal subscription if you're into podcasting and looking to fill out your podcast blogroll.

Posted by Nick Codignotto at 11:44 PM | Comments (0) | TrackBack

October 26, 2004

4.5 days of Podcasts queued up

iTunes tells me that I have 4.5 days worth of Podcasts backed up. I can only listen for about 2 hours a day (on the train, a bit in the late evening) so I suppose it's time to start unsubscribing from a few feeds!
Posted by Nick Codignotto at 08:59 AM | Comments (0) | TrackBack

October 21, 2004

OPML and BloglinesBlogRollExtractor

It has just occurred to me that I could enhance my simple Python script to read any old OPML link and you can pull down podcast feeds from anywhere and not just Bloglines. This includes the podcast directory over at ipodder.org such as New Podcasts.

Perhaps iPodder can be configured to pull down feeds on an evaluation basis. Create a GUI to browse the directory and subscribe for a single download. There are so many Podcasts up there now that it seems only logical that browsing them would be a good idea. Maybe.

I see that Dave Winer has launched audio.weblogs.com. However, I don't think I would ever willingly subscribe to that feed in it's entirety. There too many Podcasts! Some people might not point iPodder at it for this reason. Rather, they might want to subscribe to the feed just to see the new stuff coming in.

It might be nice if someone wrote a sampler Podcast. It would resemble Dave's site, but it would only have 5 minutes of each podcast. I'm not an mp3 genius, but I think you can download the first n bytes of a mp3 file, save it, and play it back. I think that the format is tolerant of sudden losses of the rest of the file. It would seem easy, then, to create a sample feed in this manner.

Posted by Nick Codignotto at 08:57 PM | Comments (0) | TrackBack

October 08, 2004

60Gb iPod

Gizmodo has the scoop on a possible 60Gb iPod with a high-resolution color LCD and a video out (for showing the photos on your TV).

With the Podcasting rage sweeping the world like a brushfire, I'd say they should add a Microphone port and a second generic Line-in port.

This way you can audioblog, mix in a conversation with your friend over Skype through the Line-in, and possibly mix in music from the iPod itself while you're talking.

The Podcasting dream machine.

UPDATE: Engadget reports, " Besides playing MP3s, the SA250, Auvia™s new 256MB USB-style flash memory has an FM tuner, a built-in voice recorder, and can record MP3s from radio broadcasts. It connects to your PC or Mac at the faster USB 2.0, and one AAA battery will last you 15 hours." Sounds like some of what I wished for is a reality!

Posted by Nick Codignotto at 07:58 AM