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?"
you want a solution? hell, i'm having trouble understanding your question!
Are you entirely certain this is a good idea? Aging parents + new technology = unending tech support calls and the increasing likelihood of parricide...
The Idiot Jukebox would be great for someone that is a reasonably sophisticated Linux user. I like what the software suite does but it's beyond my technical ability to implement the Idiot Jukebox. Perhaps if someone wrote a detailed "hwow to" it would be more accessible?
http://www.busyweather.com/
Taadaa!
The Kruger Dunning explains most post on
I would give SlimServer a try. It is web based but would probably suit your needs. You may also like their hardware since you won't need a direct cable connection between the stereo and the computer.
Funny this story was just posted... I've been trying out a couple of these web frontended jukeboxes the last couple of days. I personally like Tunez! the best because I can setup an icecast stream. The installation was fairly simple.
I've also tried Jukebox (which i found difficult to get going - with a icecast stream) and also tried the Andromeda look-alikes.
The Apple Airport Express is what I use to stream my music library to my stereo system, its an amazing device which works great with linux considering it uses open standards. Do a good search for Airport express and linux and you will find the howto. I almost cant live with out it. also its a bridge for my exsisting wireless so I get 10x better connectivity in my living room then I did before with my wireless laptop, and it has an extra usb port on it for a wireless printer(which isnt supported in linux) also its a wireless router in its self!
keanmarine.com
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 ?
Seriously.
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.
"There are no cool guys in musicals." -- Coach McGuirk
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!
I'm working on a project with a few others called Jinzora. It's a PHP jukebox for medium to large music collections. Our next release will feature a much enhanced jukebox mode that lets you play your music back from a wide variety of software (xmms,winamp,etc) and also several hardware players like the slimserver. Check it out at www.jinzora.org (and of course it's all GPL)
You'd have to find something else to rip, but Music Player Daemon is a pretty neat little player that has various front-ends (including a web-based one with an API). I use it at work to play music-on-hold over our telephone system, and it can be controlled from our intranet.
Speak before you think
Ballpark numbers:
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.
RelevantElephants: A Somatic WebComic...
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.
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
If you're already SSH/Telneting into the machine, just install the necessary X libraries and run XMMS with a remote display. You don't even have to configure an X server on the machine itself.
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.
woxy.com - Bam! The Future of Rock and Roll
I believe MythTV will rip cd's, has a user friendly menuing system, etc.
Just for kicks I made remote control streaming karaoke jukebox. I used WWWinamp by Justin Frankel. Pick a song, add it to the playlist, then watch it here. You'll need winamp to watch the streaming karaoke video. Kinda cool, kinda on topic, kinda free (well windows isn't but that's another slash discussion)
AutoRip http://freshmeat.net/projects/autorip/ should take care of the dropping a disk in and ripping it.
mplay http://freshmeat.net/projects/mplay/ 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
You never know...
Why not just get this:
MediaMVP by Hauppauge
It goes for less than $100 and displays to your TV...comes with a remote, too.
you must like doing things the hard way.
I do not fear computers. I fear the lack of them. Isaac Asimov (1920 - 1992)
Crip
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.
It shouldn't be too hard to modify your front end to run a command line MP3 player (relative to what you have donr so far I mean, I couldn't do it, but I couldn't do the database either). For ripping it looks like
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).
Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
I play all of my MP3's via my home network and my TiVo. It's painfully easy to setup.
Also, might I suggest using the MusePack audio format, as it produces higher quality encodes, and is faster than mp3 (both for encoding and decoding), which would be nice for your low-spec machine. However, all the players I know that can use it are X-based (other than the command-line decoder). Is it really an issue to run an X session that opens XMMS? You can use the built-in twm window manager, no Gnome/KDE nonsense.
cdde + abcde
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
http://gjukebox.sourceforge.net/
Development is pretty much dead, but it is a mix of perl, php and mysql. I have been using it for years and love it.
Web gui, cmd line if you know perl, auto rips cds, stores mp3s logically, in general it is nice.
http://packetnexus.com
Try the list of live CDs at frozentech. I believe there are about 5-10 media versions that can be installed to HDD. Some will rip a CD when inserted. They try to have small foot print (disk space wise) knowing that you will use a "spare" box. I'm not sure about the system requirements seeing how most of them will play DVDs. If one of these will work your life will be much easier.
The government which is strong enough to protect you from everything is strong enough to take everything from you.
Check out a tool called abcde. It's a shell script frontend that rips and encodes all in one shot. It supports various formats, makes directories based on a predefined set of variables that you can set up as you wish and many other lovely features. It's completely command line based and, of course, GPL'd.
"There is a way that seems right to a man, but its end is the way of death." Proverbs 16:25 (NKJV)
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.
"My country, right or wrong; if right, to be kept right; and if wrong, to be set right." --Senator Carl Schurz (1872)
Everything you need, right there.
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.
you can set up an streaming server / music repository on a Linux box that doesn't have to have X running on it or even a CD-Rom that you can then use from any iTunes client and if you really want to, you might be able to get it to stream from the repository to a stereo via an AirPort Express.
here is the link.
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.
It's been out for about 4-5 years, and has received good reviews.
I've coded ASP and PHP versions, and it works on Windows, Unix, and Mac OS X boxes.
Basically, you just drag in the one script file, and it turns your folders of MP3s into a complete streaming site -- whenever you add new files, the site is always automatically up-to-date.
You can use it over your LAN, or (bandwidth permitting) over the Internet.
Here's what I do: Bitty Browser & Andromeda
I use an Audrey as a front end for my own setup (check out www.audreyhacking.com if you like). All of my CDs come into the house, get ripped on the Mac using iTunes, the mp3s are copied over onto the NFS server by a daily crontab, and they show up in the Audrey playlist.
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
I just picked up a D-Link Media Server for $150 yesterday.
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...
I know everyone will hate me for saying this, and I know you specifically want to use Linux, but I'm going to suggest it anyway...
I use an old Compaq 466 P.O.S. running Windows 98 and Winamp3. I have it on my network, rip the music on my Slackware or XP box and just copy it over. I have a keyboad with the "play, stop, pause, etc." hotkeys painted on it and I also use VNC to control it when my main system is on. The system is on pretty much 24/7 and it has worked well for me...
It's simple for everyday use (just smack the Bill Gates picture on the side to bring it out of standby and hit 'X') but has easy access to the full winamp EQ, volume controls etc... I don't have to see a windows logo, start menu or anything, just the winamp interface (main screen, EQ, playlist editor, Media library).
--Do Not Write In This Space--
There have been plenty of suggestions here for automatically ripping CDs, but for command line software to run on a server
* 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.
Intelligent Life on Earth
"Any good suggestions...?"
1. Move out of your parents basement. Sure, the rent is cheap, but you will pay for it in free tech support.
2. Get a real job, then you can tell them you are too busy.
All that we see or seem is but a dream within a dream.
Has anyone tried setting up a harddrive based MP3-player without a PC?
It should be possible to use one of the USB harddrive-to-WiFi proxies out there, like this one: Linksys NSLU2 together with one of the MP3 players that plays from the network, like Creatives: Wireless Player (although that one requires a server running some software).
Then you'd have USB harddrive -> WiFi Proxy -> Mp3 player without the hassle, power consumption, noise and ugliness of a PC.
I wrote a little system that does some of what he's looking for, but not all. Mine doesn't rip CDs (plenty of better tools for that), and mine has a GUI for setting up playlists and starting jobs. It's written in Java and uses an SWT interface, and supports MP3 and Ogg. Of course it won't run on ancient hardware, but that's fine with me.
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).
Read my keyboard review.
Simply get one iMac or eMac, add in a good dose of iTunes and an AirPort Card. Hang an AirPort Express off the back of the stereo.
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.
Specialist Mac support for creative pros, Melbourne
Some really bad reviews of this - I don't own one.
XML causes global warming.