MP3Jukebox Project

I am currently building an MP3 Jukebox. Based on a Linux box I am writing software to control the system. I am first writing the software on my laptop, so I don't have to buy hardware immediately. I am using xaudio as audio engine. For the display I am thinking about an LCD display (20x2 characters from Matrix Orbital). They also make nice drivebay front with navigation buttons. The idea is to build everything into an external 5.25" case. As a motherboard I am thinking about a biscuit-size embedded board (3.5" size) together with two huge harddisks. Use 2.5" drives, because they are more robust (nice if you want to use it as well in your car).

Control software

Written is Tcl/Tk. I just love this scripting language. It is running as a server and controls the connection to the display software, the audio engine and the database that contains all information about the songs on the system.

Display software

I will probably use LCDProc to control the LCD Display. Right now I have build a Display Simulator in Tcl/Tk. Using the Simulator I can develop the software without having to buy the expensive display. First check if I can build a working system.

Audio software

I use the xaudio engine to play the MP3 files. It comes with rxaudio, a commandline driven version of xaudio where you can connect your software with. It then uses something similar as a socket connection to read and write the datastreams. The datastream includes information of the MP3 encoding and updates of the time counter when playing.


I will use PostgreSQL as the MP3 database on the Linux machine. This database can be accessed by a package called pgtclsh, a Tcl/Tk based shell that is capable of making database connectivity. On Windows I have already an Access database running that contains all my CD information (Artist, Album, Song time, ...). It is managed by a program called CDSort, developed by Peter. This database will be synchronized over the network with the database running on the MP3 Jukebox.

MP3 ripper

Nothing decided yet how to convert my CD's into MP3 format. It looks like Lame is a very good Codec. Since I want to connect the Jukebox to my audio system I want good quality. The preferred bitrate is therefore 192 kbps. That's why I also need a huge harddisk.


Still shopping, nothing decided yet. But 3.5" size boards with ethernet and onboard audio are expensive. What I really like is a board with a Crusoe Processor. They have enough CPU power, don't use much power, but also fall in the highest price range.


Since 3.5" motherboards supply only 2 harddisks and I want to build it into a 5.25" case, the best option is to use 2.5" (laptop) drives. To store my entire CD collection on disk with 192 kbps I need about 70 GB. So I am looking for the biggest drives available. IBM makes 48 GB disks, but I don't like IBM (many drives have crashes, especially high density drives). Toshiba has introduced a 40 GB drive in 9 mm height (2 platters). I wish they would also come with 60 GB (12.5 mm, 3 platters). Sofar I haven't seen them in the shops yet. The biggest disk I could find were 30 - 32 GB. I need a little bit more, hopefully about 100 GB with two drives.

Ethernet connection

Ethernet is essential to connect the Jukebox to my normal PC, since I will use this one for converting CD's into MP3 files. Also needed for database synchronization.
I am thinking about running Samba on the Jukebox, so I can see my Jukebox in the Network Neighborhood. Also handy if I want to use the Jukebox just as a network fileserver.