NukeboxPerl, a web-based music jukebox

I originally wrote this in 2004. This was built with some pretty old-school stuff (e.g., running PostgreSQL and Apache on cygwin). Yikes. I’ve since rewritten it for WAMP. There is some interesting stuff in that zipfile though, such as a hack to remove DRM from WMA files and a metadata database that include AMG tags and song lyrics… Not bad for the time.

iTunes and WMP choking on your library? This is a web-based music jukebox designed for really large catalogs.

There are a ton of jukeboxes out there (from iTunes, to Windows Media Player, to Songbird, to about a zillion others), and they all look beautiful, have album metadata, etc. Unfortunately, the problem with all of them is they come to a chokling halt once you have more than, say, a few thousand songs. XMLdata storage is just not efficient enough to support the large record sets that arise if you have tens of thousands of songs to manage.

My solution to this is NukeboxPerl – a frontend to a RDBMS (in this case, PostgreSQL, but MySQL etc. would work just as well). I started this in 2002. It actually began life as a desktop .NET app but I switched to a server-based LAMP platform.

This Apache/modPerl/PostgreSQL web application was built to:

  • Handle collections of tens of thousands of files without noticeable performance degradation.
  • Transparently handle MP3, WMA and optionally unprotected MPEG-4 files. DRM-protected WMA files can even have the DRM removed for your convenience
  • Run on old, slow hardware. I run it on a 500 MHZ Pentium II, circa 1999.
  • Be entirely, 100% free to use.
  • I haven’t had time to work on this for awhile. If I was to pick it up again, the first thing I would do would be port it to PHP5 and make it completely object-based.

Operating System Requirements: Windows 2000/XP with Cygwin Linux-emulation package installed.

Download it: NukeboxPerl