Centrally-Controlled Home Music System on a Budget?
akgoatley writes "Recently my technically inept parents bought a new stereo and have expressed a wish to have it connected to a computer for storing large amount of music - a Linux CD jukebox. An example of this would be The Idiot Jukebox, but the solution has to be less complicated than that. I've already written a fairly basic music database in Perl with a web frontend for searching through it from our LAN, and I'm looking for a Linux-based collection of software to run the jukebox. It has to rip CDs when inserted, store them in a directory structure based on the name of the album. Modification of the ID3 tags is not necessary as my database handles that centrally. To complicate matters, it has to be command-line based as I will be SSHing into the jukebox to control it. The solution has to be a simple collection of software that can be easily controlled via SSH. Due to hardware (and budget) constraints the jukebox will be too slow to run X, anyway :( This means programs like Grip will not be usable. What do you Slashdotters out there think? Any good suggestions or pieces of software you would use?"
Are you entirely certain this is a good idea? Aging parents + new technology = unending tech support calls and the increasing likelihood of parricide...
You mention : "the jukebox will be too slow to run X"
If you can't get X to run smoothly, how do you expect to encode you CDs ?
Buy them a CD rack. Remove CD from CD rack, insert into stereo, play.
Honestly, most new stereo cd players come with a 50 discs capacity... is it worth the trouble? If you have 'low hardware and budget' I doubt you'll have space to rip 500 cds at a good bitrate anyway. Could be a cool project, just for the fun. But it's totally non-practical, in my view.
Eureka Science News - automatically updated
I use gentoo, so my first place is esearch. If I want a ripping program I open up a term and do . It's that easy. Look what came up! .
If you don't use gentoo and don't have esearch there are still places you can look. How about sourceforge or freshmeat? How about google?
Once you find the programs that do what you need such as ripping, encoding, playing, etc. You write a bunch of scripts to make it nicely and easily controlled via the command line.
An even better solution is to write scripts that use ncurses or such to make a better interface in the terminal. Then you can use gnu screen to make it even more awesome.
Ask slashdot should be specifically reserved for questions which either cannot be answered by computers easily or questions that take a very long time to research, and it is likely that someone on slashdot knows the answer off the top of their head.
The GeekNights podcast is going strong. Listen!
OK, I am probably the nth person writing to say this, so mod me redundant... But, why this complicated solution? For a couple hundred bucks you by an iMac (candy colored one) and put in a big hard disk. Connect decent speakers. Use iTunes. And there you are, instant juke box. Why this complicated solution? I mean, you get mega geek points, but as far as simplicity for elderly people is concerned, your way is not the way to go IMHO. My kids have the iMac + speakers solution and it works wonderfully. They use Audion with a nice skin for kids snd have required only very limited explanation of how it works.
----- One learns to itch where one can scratch.
Why store the music in directories based on the album name? Just dump it anywhere it can be quickly retrieved. Keep the name/directory lookup in the database in Perl - the filesystem is a crappy database management system. It's too subset oriented to reflect the relationships among the music data, like bands/solo, compilations, live sit-ins, nonunique titles like "Greatest Hits", etc. Use a unique namespace generated for storing your data, and lookup in the DB when retrieving.
And why write a database in Perl, when you can use Perl DBI::[MySQL, Postgres]? Adding features will be a lot faster/easier, including using other people's code; not to mention the possibility of higher quality code from an open source process. You don't want your stereo to crash during a party.
--
make install -not war