Automated MP3 Ripping? 32
jimiUK asks: "I've been working for a while on my streaming mp3 server, using Apache:MP3 running on FreeBSD to start with but now running on RedHat Linux. It all runs smoothky, but what I'm trying to do is automate the ripping process so I can just insert cd's and have them ripped and classified automatically. This box is a dedicated server without a keyboard or moniter connected so I'd rather have no user input whatsoever. I've solved all of the initial problems, and now have the box set to login automatically on boot up, but I still can't find the right script. The most useful has been autorip, and I've also tried ripit (although it requires user intervention). My main problem is that if autorip cant find the cd information, it just stalls. My Perl skills are non-existent really so i'm not sure how to alter the script to instruct it to rip away if it doesnt find track info, which I could add in later. Does anyone have any other suggestions for alternative script front ends, or can point me in the right direction on altering autorip to get it over this hurdle." For those of you running MP3 servers, this idea might be a huge timesaver. Has anyone implemented such a system?
iTunes (Re:AudioCatalyst) (Score:1)
Oh, but wait, it's not open source, free, and it doesn't run under linux (or even on X86 hardware) so don't even consider it.
Mod me as -1 Flamebait or +3 Informative
abcde and otto are my friends (Score:2)
A Better CD Encoder (abcde [lly.org])
and
Otto [cardhouse.com]
I'm doing exactly what you describe with a spare laptop that had it's keyboard mangled.
I created a supervise/svscan job to monitor the CDROM and tun abcde if it finds a CD, which allows me to insert a CD and have the laptop eject the CD when it's done ripping.
Complete directory structure support for title/artist info.
freedb and cddb support.
otto then lets me play the new mp3s, and it makes life easier by managing them in mysql. I'd be happy to pay for abcde and otto, someone took the time to tie a bunch of tools and funtionality into a practical interface.
Re:But what do you WANT it to do? (Score:1)
Once a day, it will attempt to lookup the track names again, once they appear in freedb, the tracks get named and stored appropriately.
Re:But what do you WANT it to do? (Score:1)
Re:How about playing while ripping? (Score:1)
Re:The script I use... (Score:2)
I foresee a problem here. The song title may contain a slash or other "naughty" character that isn't whitespace. Now, on Unix file systems, the slash is the only show-stopper, but I've heard complaints from Windows users that the question mark causes tremendous grief.
Just like when you write a CGI that accepts user input from a URL, your CDDB lookup is relying on outside information. Rather than stripping out a subset of characters that you know to be undesirable (whitespace in your case), you need to take the more proactive approach -- only allow characters you know you want, and clobber all the rest.
Also for what it's worth: I prefer cdparanoia for ripping, and I'd put the encoder and its options up at the top of the script where they can be configured more easily.
Re:How about playing while ripping? (Score:2)
On the Windows side, Musicmatch does it, and on the Mac side, the default iTunes does it. Also, since you can display visualization for CDs, the data is being read at the same time it is playing... it's one more step to encode (hey! how about a "visualization" plug-in that encodes? I'm not sure if all data is fed to the plugins, though...)
If you're using a nice Multitasking OS, why not just write a script that starts encoding (you'd have to make sure it writes to the final files directly, and not some intermediate file), forks, and pauses 2 seconds, and starts playing the files by chronological order, starting with a date one minute in the past. Each time a song finishes, regenerate the playlist to reflect new songs that have been encoded, and progress through them. Then, you can be done encoding, and have it prompt you for another CD, even before the first has finished playing.
It doesn't even require perl - a simple bash script with find, plaympeg and your encoder of choice (abcde seems to be recommended) could easily accomplish this.
--
Evan
Re:AudioCatalyst (Score:1)
Re:Abcde (Score:1)
Re:Abcde (Score:1)
Re:How about playing while ripping? (Score:2)
Abcde (Score:3)
Disclaimer: I wrote abcde.
Re:But what do you WANT it to do? (Score:2)
Were I doing this kind of bulk ripping, I'd want it to rip the disc and put the files aside in a special directory. Then I would come back at the end of the day and enter the track info in a big batch. That way I could feed it disc after disc without thinking about it until I was ready.
Good CD-ROMs for ripping? (Score:2)
Happily, one of them just died, so I'm looking for a replacement. What EIDE CD-ROMs are best for ripping? Or are they all equally good these days?
Re:VNC on the headless box (Score:1)
(open)ssh will do the same task just as welll
and if needed... you can do X11 forwarding over ssh
Re:iTunes (Re:AudioCatalyst) (Score:1)
i thought you needed a g3... well at least to install
apple's A/UX will run on some power macs though... as long as you don't mind system 7.0
Re:iTunes (Re:AudioCatalyst) (Score:1)
sorry my fault
The script I use... (Score:2)
#!/usr/bin/perl
/dev/acd0c -I cooked_ioctl -s -b 16 -x -t$tknm $album$tknm.wav`;
#By Jason Denton, Copyright 2001
use Audio::CD ();
use MP3::Info;
$cddev = '/dev/acd0c';
$cd = Audio::CD->init($cddev);
$info = $cd->stat;
$cddb = $cd->cddb;
$data = $cddb->lookup;
$_ = $data->artist;
s/\W/_/g;
$artist = $_;
$_ = $data->title;
s/\W/_/g;
$album = $_;
$genre = $data->genre;
$tknm = 1;
$year = 2001;
foreach $track (@{$data->tracks($info)}) {
$_ = $track->name;
s/\W/_/g;
$title = $_;
$mp3name = "$artist\_$album\_$title.mp3";
`cdda2wav -D
`lame -m s -b 160 -h $album$tknm.wav $mp3name`;
`rm $album$tknm.wav`;
`rm $album$tknm.inf`;
set_mp3tag ($mp3name, $title, $artist, $album, $year, "", $genre,$tknum);
$tknm++;
}
Re:You hackers are so lazy. (Score:1)
Malcolm solves his problems with a chainsaw,
VNC on the headless box (Score:1)
I have several small networks that I support and I mostly use Linux on the servers and firewalls. Since I don't always have a monitor and keyboard that I can dedicate to a machine that is rarely used by a person (and usually stuffed into a closet somewhere), I install VNC [att.com] and have it run on boot.
This will not solve your problem with how to auto-rip MP3's, however if your MP3 server goes down or stalls for some reason, you can just VNC into the machine and see what is happening and fix it.
Or perhaps this will solve your problem, since now you can have "user input" from any machine on your network.
Lego Mindstorms... (Score:1)
Sounds like a fun weekend project. You could have it queue up hundreds of CD's... and let it rip. (Pun intended)
This was posted some time ago...
Lego DJ thing [lego.com]
How about playing while ripping? (Score:3)
What I was wanting to do is to be able to pop in a CD, listen to it, and when I'm done listening to it, it will be archived in my MP3 collection for easier listening later.
I really haven't done much CD ripping though, so I'm no expert on the subject. Is this possible? Are there any tools out there that allow this (while still allowing the automated ripping like the origional poster asked)? Or can the music be ripped/encoded fast enough that the MP3 can just be listened to as it is being ripped? Anyone have any solutions?
Re:Abcde (Score:2)
I think that for what the person wants, he should set up an auto-mounting daemon, but have it run abcde instead of mounting the CD. Just a thought.
--
I use Grip (Score:3)
Re:Good CD-ROMs for ripping? (Score:1)
Re:Abcde (Score:1)
Re:But what do you WANT it to do? (Score:1)
But what do you WANT it to do? (Score:2)
If missing discs completely is acceptable to you, it would probably be very simple to hack the Perl scripts. I'm sure there's other hackers out there like me that would be happy to take a look at it. However, consider the above carefully first.
MadCow.
Re:Good CD-ROMs for ripping? (Score:2)
I can rip at very very fast speeds (think under 5 minutes for a full disc) or at 3x in secure mode. Secure mode is a special feature of Exact Audio Copy that helps to make perfect cd rips by compairing data and other special stuff
The Lottery:
AudioCatalyst (Score:1)
(Actually now owned by RealNetworks)...$30 or
so. Works great, rips, encodes and names (via CDDB)
at 8x in one pass on my box.
Oh, but wait, it's not open source, free and
it doesnt run under linux so dont even consider
it... Sheesh.
Re:But what do you WANT it to do? (Score:1)
Re:Abcde (Score:1)