Centrally-Controlled Home Music System on a Budget? 287
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?"
Ooooh, that's easy. (Score:1, Informative)
Idiot Jukebox (Score:2, Informative)
Try SlimServer from SlimDevices (Score:4, Informative)
Tunez! (Score:4, Informative)
I've also tried Jukebox (which i found difficult to get going - with a icecast stream) and also tried the Andromeda look-alikes.
Airport Express (Score:2, Informative)
Get a Mac (Score:2, Informative)
I have an old iMac that is used for nothing but serving web pages and playing music. It's plugged into my home stereo in the other room. I use Salling Clicker and my bluetooth phone to control iTunes from anywhere in the apartment. And, with iTunes sharing I used it to play music off my PowerBook over my wireless LAN.
XBMC - simple, cheap and works (Score:3, Informative)
Used xbox = $110
Used xbox DVD kit (for remote) = $10
Mod for xbox = $60 (installed)
120GB drive = =$90
Install XBoxMediaCenter. Total cost $270
Additional stations probably do not need the hdd, so they are $180 a piece
Optional $10 for a used component output, which includes optical out.
Done. All you need is some networking gear to connect them and it will do MP3/photos/videos/etc.
I am totally enamored with the Squeezebox. (Score:5, Informative)
I got several of tem when they were on sale, and I've been totally happy with it. They have wifi and ethernet versions, and the best part is that it just worked. I was worried that since I have my music in FLAC format it would be a problem, but their software detected it and just did the right thing. It was super easy to set up.
Want to try it out without buying a device? There are several software projects that can use a regular Linux machine to act as a client. SoftSqueeze, IIRC, is a Java program that accurately emulates the squeezebox.
The hardware devices can be synced together, so they play the same music in sync. That's pretty neat. Or you can unsync them and have different music in different rooms.
I am so happy with the Squeezebox.
Sean
XMMS displaying remotely (Score:3, Informative)
I have an old P100 w/ 48MB EDO RAM in it connected to my stereo, and I control it that way. It works just fine, on top of being a Samba server (120 GB HD, where the music lives), and a DNS server.
It's not set up to rip on demand, because I do that from my main desktop machine. I tend to spend a lot of processor time encoding my MP3s (LAME presets standard or extreme), so it already takes long enough on a reasonably powered machine. However, if you were willing to settle for less (or were willing wait a week), it probably wouldn't take much to write a shell script to do it.
MythTV (Score:5, Informative)
some ideas (Score:1, Informative)
abcde for ripping
and
mpd for playing the music (http://www.musicpd.org/)
it can be run from the command line, or from nice graphical/web interfaces on remote computers.
good luck
Well, let's see... (Score:5, Informative)
mplay http://freshmeat.net/projects/mplay/ [freshmeat.net] should take care of a text mode front end for mplayer.
Obviously you would need to include Mplayer, which will probably want to include the ability to do video playback. As long as you only include a CD player, and don't introduce your folks to VCD's, you should be alright.
Hey, hope this helps...
-Rusty
Re:Try SlimServer from SlimDevices (Score:3, Informative)
You are kidding, right? (Score:2, Informative)
MediaMVP by Hauppauge [hauppauge.com]
It goes for less than $100 and displays to your TV...comes with a remote, too.
you must like doing things the hard way.
Crip (Score:3, Informative)
From the page:
crip is a terminal-based ripper/encoder/tagger tool for creating Ogg Vorbis/FLAC/MP3 files under UNIX/Linux. It is well-suited for anyone (especially the perfectionist) who seeks to make a lot of files from CDs and have them all properly labeled and professional-quality with a minimum of hassle and yet still have flexibility and full control over everything.
Re:XBMC - simple, cheap and works (Score:3, Informative)
If you go this route, find slayer's xbox installer. It will reformat the new hard drive and set it up with new dashboard and xbox media player. Then just ftp into it and copy over xbox media center.
Installing a mod chip isn't difficult either. I'd get a xenium chip with the solderless install. Some people say that's a bad idea because it will come loose. I don't know about that, I've never had problems and I didn't risk making the xbox into a paperweight as with soldering.
Use what you got (Score:3, Informative)
crip http://bach.dynet.com/crip/ could be used aloing with an expect script to work non interactivle and get what you need.
It also looks like tagging the files will be easier then getting the tags seperatly, but I am sure there is a perl library for using cddb (there is at least a python one).
Tools of use (Score:2, Informative)
Re:CPU (Score:2, Informative)
Another poster has indicated a doubt as to the possibility of playing without skipping. MP3 playback on 133MHz Win95 systems with 16MB rarely took more than 10% CPU, back in the day.
From what I hear of the requirements to run X, it sounds like it has bloated terribly since the old 486 / 1MB graphics card days.
Re:Why bother? (Score:3, Informative)
as for ripping... (Score:1, Informative)
Re:Try SlimServer from SlimDevices (Score:2, Informative)
Live CDs will install to HDD... (Score:2, Informative)
Check out abcde (Score:5, Informative)
An Easier & Cheaper Solution (Score:2, Informative)
For less than $100 you can get a progressive scan DVD player. Many of these will play back MP3 files from a data DVD (a friend of mine got one at Sam's Club for about $49). Some will even show the MP3 tag info on the TV as each song is being played. You don't get playlists here, but if you're careful with what you put on each DVD, and use the player's randomize function, you prob. won't need it. 4.7 GB is a lot of jukebox.
Why bother a non-geek with a computer solution when a simpler answer is available.
Re:I am totally enamored with the Squeezebox. (Score:1, Informative)
Huh? If you're using the headphone socket, then it has a perfectly good volume control on the remote. If you've got it jacked into your hi-fi then you can use either the buttons on the remote or the volume control of your hi-fi.
Re:I am totally enamored with the Squeezebox. (Score:3, Informative)
abcde + mpd + mpc + phpmp (Score:2, Informative)
The Music Player Daemon (mpd) takes care of the database and playlists: http://musicpd.sourceforge.net/
That site has links to all kinds of clients for the damon, including the command-line bash-friendly 'mpc' client, as well as the web-based php client, which can run on any webserver that can connect to the music server running mpd.
A Better CD Encoder (abcde) is a command-line CD ripper/encoder that is *hugely* flexible. It can rip to mp3, ogg, flac, and something else I can't remember. You can pass it any options to the encoder you need, and you can set up a filter for how it names the encoded files, so you can get rid of spaces and capital letters if you like (as I do). You can also set up your music DB structure easily - ${GENRE}/${ARTIST}/${ALBUMNAME}/${TRACKTITLE}, for example. http://lly.org/~rcw/abcde/page/
I'm currently running mpd on two boxes in my house, one which plays music upstairs, and the other downstairs. (So I can play different things if I want.) The downstairs machine reads my music database via a wireless nfs mount, which I don't recommend. (I've switched to shfs for now, but it still hangs the mpd process in disk-sleep after a few hours.) So streaming the music files wirelessly sucks and I will be adding a usb-based external drive to give the box the storage it needs to handle my music collection.
Oh. I guess mpd also supports esd, so I could/should try that before I give up. (Then I'd run mpd upstairs and stream the actual audio packets wirelessly to my basement.) Maybe.
And that downstairs machine is an AMD K62 running at 266. It only has 1.2G of disk space, so no X or anything else. It's all command-line access to that box itself, + the web-based mpd client running on another server on my network. It works like a charm other than the w/l nfs/shfs problems.
Re:solution? (Score:5, Informative)
He basically wants a music server, and he apparently wants it to be as complicated as possible, and he wants to run it on an 8088.
This isn't the first time the music server question has come up here, and the questioners always seem to want to make it as hard on themselves as possible. They want a text-based interface, they want to be able to rip and burn, they want Linux, and they want to do it all on a hacked HP calculator or something.
I've got a media server that I cobbled together out of old spare parts, combined with a new hard drive and a new case. Whole thing cost me about $200 for the new parts and I've got a reasonably nice machine that hosts my music, movies, and photos. I have it set to auto-logon to Windows XP (with a username and password) and then launch iTunes and Media Portal (an OSS media center clone) with a girder plugin for my remote control. Then I've got a bunch of options. I can access that PC directly through my TV using Media Portal and play music with my remote control. I can carry my laptop anywhere in the house and control that PC through Windows' own remote desktop connection. Or I can use it as a real music server and stream music through iTunes over my wireless LAN, playing it on my laptop or whatever else I'm using.
iTunes will also rip and burn, which was another listed requirement.
My advice to anyone who wants to do this - build or buy a cheap, mostly second-hand PC. Along with whatever new hardware you buy, pick up an OEM copy of Windows XP for cheap at a site like Newegg.com. Install iTunes, install Media Portal, put them both in your startup folder. Import all your music into both apps and enjoy.
Very simple and very powerful. Not expensive either.
use iTunes... (Score:3, Informative)
here is the link [linuxgazette.com].
Furthermore, you can still have the songs available for other streaming servers, and you get to bury it in a closet or the garage or something and SSH to the command line so you don't have to listen to the fan.
Front end. (Score:3, Informative)
If your parents are bright enough to put a CD in the drive and click on a "rip" button, something similar might work. And the Audrey is a simple, simple, simple touchscreen interface that even my parents were able to figure out.
--saint
Re:use iTunes... (Score:2, Informative)
Re:Idiot Jukebox (Score:3, Informative)
Ok, here's what you want to know.
mpg123 is a command line mp3 player. I think the vorbis library comes with a command line vorbis player. If you go to my website and look at the program pyAlarm, you can pull out the magical code that plays music. You could easily write a Python-based media player, if you need to.
Ecasound plays everything under the sun, and more importantly, is a command line player. Just make srue you install lame, ogg vorbis, and anything else you want to play (timidity for midi, mikmod for mod files, etc).
PHP and Python are both well-supported for your web server. Both support syscalls, but you'll have to make sure the user has appropriate rights. The biggest problem you're likely to find is that only certain logged in users can have access to the sound device. Good luck with that, but I couldn't get anything to play from a cronjob.
As for automatically ripping CDs? cdrecord rips, and Grip is a front-end to cdrecord's ripper. transcode also rips, and I think MPlayer will rip too. All three of these are command line applications, but cdrecord is the one most likely to be bundled in your distribution.
Mandrake uses a kernel patch that makes it so that whenever you put a CD in, it watches and then does something. I think you can put something in your fstab for the CD player device that'll let you execute a script or program, and it shouldn't take much for you to throw something together for bash or python or something that'll handle the ripping. You might also find a solution to this problem with a few minutes spent googling.
What else do you need? Ask and you shall receive.
If you're really dead set on doing this yourself, knock yourself out. I might be interested in doing it for you (if you ship me the computer and I'll ship it back) if I can get one of my editors to be interested in the story. Send me an email from my website (linked in my sig) if you're interested.
Re:solution? - How about this for $150 (Score:3, Informative)
It's got wired and wireless network. Audio outputs Optical/Coax/Composite. Video Outputs S-Video/Composite/Component (anything I could imagine hooking to my stereo or tv)...
I've got my MP3s, MPEGs, and JPGs on a server downstairs, and can play most everything in my living room. Handy remote control blends in with the rest on the cofffee table, and the unit itself is the smallest thing in the AV console. (It's only about an inch and a half high).
It's about what I've been looking for, and for a lot less money than any I've seen the last few years. It won't rip/burn CD's like this guy wants to, but that's really not something I need to do in my living room anyways.
$150, and about 10 minutes to get it to talk to my wireless network, and it's done...
jack & slimserver or mp3blaster/mserve (Score:3, Informative)
* jack from http://jack.sf.net, mentioned previously as a highly configurable excellent ripper in a python script
* slimserver from http://slimdevices.com, mentioned 1,000 times but no one mentioned all in one posting that the server software is freely downloadable, you can point any streaming client at it, like winamp, and that the slimserver has its own internal web server; if the article submitter doesn't know how to port forward over SSH, well..
* mp3blaster with mserve - I haven't seen this little beauty mentioned once. Check THIS out.. the server is console-mode full-screen (use 'screen' to log out of a box and keep a full-screen app running), but the real beauty is that everyone loads a tiny agent in windows, and everyone gets to rate whatever song is currently playing. Then the system keeps track of everyone's preferences and *dynamically* updates the playlist so that only songs everyone likes are queued up (well, everyone who's currently logged in).
Originally intended for small offices with music throughout, mp3blaster is a console mode app that kicks off mp3s one at at time through a player of your choice, so it can use mpg123 or xmms or whatever. It can even use netcat "nc" to send the play command to your slimserver. As an aside, if I don't feel like using the Shoutcast plugin on my Slimp3, I use an older copy of Streamtuner, configured to use netcat to tune into Shoutcast streams.
Remember, you can do all of the Slimserver stuff we talk about totally for free and just buy whatever Slimdevice you decide you want, when you want it or can afford it. Put the infrastructure in place now! There's even a java emulator of the squeezebox and another of the remote!! Finally, I gave my father-in-law a Squeezebox as a thanks for replacing my hot water heater after it exploded on a Sunday afternoon, and he loves it. He bought wireless speakers for poolside and a PC off eBay to dedicate to the server and music library. We have collected 55GB so far and the box has 180GB capacity. We also do rsync replication between our homes.
Re:solution? (Score:2, Informative)
The list of problems with Linux setups of this time are endless - no gapless playback, spotty compatibility with some codecs, ugly front ends etc etc. I'd love to move over, but this is preventing me.
As an aside, my company makes Linux based hardware for displays in betting shops which generally have 20-30 TVs, all controlled by one box. Most of our hardware is custom, but it's all controlled by the Linux portion. The idea was to be able display mpeg video too, but compatibility/driver availability/etc were so spotty it was pointless.
All these things aren't the fault of Linux itself, but they are problems. I'd go with the bloke who installed XP on a cheapo computer - it's the route i've gone. One day when Linux has more options i'll go with that.
My Solution (Score:3, Informative)
None of that is especially interesting, but the cool part (to me) is that I wrote it as three separate apps - a server, player, and controller. The server runs wherever the music is stored. The player resides on a machine connected to a stereo or speakers. The controller can be on a third machine, and is what the user interacts with. One controller can set up multiple jobs streaming different music to different players, and you can shut down the controller once the jobs are running. All three pieces discover each other on the local network via broadcast.
In my house, I have the server on a Windows machine downstairs in my office, the player on a Linux box in my living room connected to the stereo, and the controller on both my Linux laptop and my wife's Windows XP box in the kitchen.
I'm thinking of open-sourcing the app (it's basically alpha/beta quality right now - usable, but needs more features and a little rework)... if anyone's interested in looking at it, let me know (msimpson at abelsolutions dot com).
Why reinvent the wheel? (Score:3, Informative)
Set iTunes' preferences to "On CD Insert: Import CD and Eject" to handle the ripping automatically, it will also connect to CDDB to get album and track names, and encode all the ID3 tags correctly. Down the bottom of the iTunes window, select the name of the AirPort Express Base Station. Hit Play.
If you can't be arsed selecting music, there's an excellent party shuffle, where you can see what's coming up, and what's been played, as well as queue music up to add to the shuffle, without distrupting it.
Plus, and this is the a big plus, it's easy enough for pretty much anyone to use.
Re:solution? (Score:3, Informative)
It looks like your the only one spreading FUD champ.
Re:solution? - How about this for $150 (Score:3, Informative)