Mike's Home Page > Jukebox Home > Our Jukebox > Components of Our Jukebox

Components of Our Jukebox

This page describes the major hardware and software components of our jukebox.

Hardware

The major hardware components of the jukebox are:

  1. My main PC is a 2.4 GHz Quad-core Pentium with 4 Gb of RAM, Windows XP Home.
  2. The server PC is a 2.6 GHz Celeron with 256 Mb of RAM, and Windows XP Home. This PC is isolated from the Internet by the firewall in my broadband router, so there are no automatic updates (or manual updates, come to that) that might disrupt the operation of the server.
  3. The sound is produced by a Benchmark DAC1 USB digital-to-analogue converter.
  4. The wireless access point is a Trendnet TEW-633GR, which gives outstanding speed and coverage, despite the 18" thick stone walls in this old house.
  5. There's a permanent Internet connection through an ADSL router.
  6. Because a run of twin coaxial audio cable from the server PC to the room where my main PC is would be unsightly, I use the CAT5 Blaster QC distribution system to convey the audio signal using a category 5 network cable, which is much thinner and less conspicuous.
  7. I've installed special wall plates and fixed wiring to allow audio and ethernet to share one category 5 cable in the stretch between rooms. Patch cables go from the wall plates to the computers and CAT5 Blaster QC boxes.
  8. Simple low-cost audio adapters are used to connect the output from the server PC's sound card to three stereo cables going to the amplifiers.
  9. There are two remote controls in two rooms.
  10. There's an additional network-connected hard disk, a Buffalo LinkStation, which is used to make backups of the music files. This backup disk is installed in an outbuilding for extra security, and is accessed over the mains wiring using a pair of Devolo dLAN 200 AVdesk powerline adapters.

Here's how they all fit together:

Hardware components of our jukeboxHardware components of our jukebox

Software

First there's all the software that I listed for the minimal jukebox, but now it's installed on two PCs:

  • Software resident on the server PC
    • Apache HTTP Server is used to send pages to the remote control and receive command from it.
    • The "CGI programs" (programs written by me) are used in conjunction with the Apache server to format information for display on the remote control and act on the user's commands.
    • ActivePerl is the language package that runs the CGI programs, which are written in the Perl programming language.
    • Winamp plays the music under control of the CGI programs.
    • Windows Media Encoder is used by Winamp for decompressing the audio files.
    • httpQ allows Winamp to be controlled by the CGI programs.
  • Software resident on my main PC
    • An additional copy of all the software resident on the server PC, listed above.
    • EAC ("Exact Audio Copy") reads CDs and encodes them as PC audio files.
    • (Windows Media Encoder, as well as being used with Winamp, also runs under the control of EAC to compress the audio files and embed artist and title information in them.)
    • J River Media Center is used to maintain a master database of music.
    • The "Database Converter" (a program written by me) converts the Media Center database into the database format used by the jukebox.
    • (ActivePerl, as well as running the CGI programs, also runs the Database Converter.)
    • JPEG Resizer runs under the control of the Database Converter, to convert cover art image files to the size used on the remote control screen.

And then there's the software used in our jukebox but not the minimal jukebox:

  • Mozilla Firefox is my usual browser and can be used on my main PC to operate either of the jukeboxes, acting as a remote control.
  • AJC Directory Synchroniser compares the contents of two directory trees and updates one from the other. I use it on my main PC to compare and synchronise the experimental versions of the Jukebox database and the CGI programs that are installed on the main PC, with the previous versions that are installed on the jukebox server PC. I also use it to create the backup copies of the music files.
  • RealVNC is used to operate the server PC using the screen, keyboard, and mouse of my main PC. The server PC doesn't have a screen, keyboard, or mouse of its own. RealVNC is in two parts, the "Server" on the jukebox server PC and the "Client" on my main PC.

The diagram below shows how those software components relate to each other on the main PC:

Jukebox software components of the main PCJukebox software components of the main PC

The next diagram shows how the software components relate to each other on the server PC:

Software components of the server PCSoftware components of the server PC