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.
Database
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.
Motherboard
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.
Harddisks
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.