Saturday, December 27, 2008
vorbissort: Reorganizing Vorbis comments for the Sansa Fuze
Part of my holiday haul included a 8 GB Sansa Fuze, something I didn't even really know I wanted till I saw it in the Costco Black Friday flyer for $50. My beloved in-laws honored me with this particular gift, which I've been really enjoying over my trusty but aging LifeDrive with TCPMP.One of the key features I demand from a portable music player is, of course, that it play Ogg Vorbis files. The Fuze recently gained this capability via a firmware update, but it is just a teensy bit rough around the edges yet. Notably, album art, which MusicBrainz Picard will put into the Vorbis comments (if you add the coverart plugin, at least), causes problems.
It's not just that the Fuze doesn't display the album art (which is forgivable, but I hope that gets fixed in a future update; MP3 album art displays just fine), but I found out that where the album art is located within the Vorbis comment stream may break tag parsing—and as the Fuze's library is navigated entirely based on tags, this meant that some music was coming across with unknown artists or missing track numbers... making navigating said music a chore.
Thankfully, it's easy to fix. I found that if I move the album art to the end of the Vorbis comment stream, the Fuze seems to be able to handle everything else. The vorbiscomment utility (part of vorbis-tools, for you Ubuntu/Debianites) can be used to edit the Vorbis comments on your typical Ogg Vorbis file. I automate this process with the following script, vorbissort:
#!/bin/shTypically, you'd cd to the directory containing the Ogg Vorbis files you want to re-sort and type vorbissort *.ogg. (If you're feeling particularly brave, find . -name \*.ogg -print0 | xargs -0 vorbissort can do all your Oggs in one go—but don't you dare try it unless you understand what that entire command line is doing.) I used this on probably a good dozen albums and all came across flawlessly. Once I re-ran my MP3s through Picard, giving them id3v2.3 tags encoded in ISO-8859-1 instead of UTF, the Fuze displayed all my music flawlessly.
#
# Reorganize Vorbis comments for the Sansa Fuze, putting album art last in
# the stream, so that other comments don't get ignored.
#
# Public domain by Matt Behrens <matt@zigg.com> with NO WARRANTY. Back up
# your music first.
#
# Usage: vorbissort <filename> [<filename>...]
#
while [ "x$1" != "x" ]
do
tempfile=`mktemp`
echo $1
vorbiscomment "$1" | grep -v ^coverart >> $tempfile
vorbiscomment "$1" | grep ^coverart >> $tempfile
vorbiscomment -w "$1" < $tempfile
rm -f $tempfile
shift
done
Great little player, when it's all said and done. I hope that future firmware versions solve the tag-reading problems.

Post a Comment
Comments are moderated; I don't have to publish what you have to say. But feel free to try me anyway.