Question

I have about 500 cd's that need backing up, they contain old sessions.

I need a library that can be used by either (Java / Python) to rip these cd's

It does not need to support 'nix and must support *Windows*

Bonus points given for a framework that can also handle metadata attached to tracks.

I have been looking for ages now, I cannot find anything and this question is on-topic

We feel the best Stack Overflow questions have a bit of source code in them, but if your question generally covers … software tools commonly used by programmers … then you’re in the right place to ask your question!

Edit:

Still not found freeware libraries that support audio-cd ripping

Was it helpful?

Solution

I can't find anything on Windows that has a direct API either, but you might get what you want by search for "command line". I found things like:

Which you could then integrate into either a java or python process which managed the larger conversion process. You could then use a tool like Mutagen to add the appropriate audio metadata for your recordings.

Also, keep in mind that if you can find some way to mount the audio CD as a data disc (I don't know what current Windows behavior is, but MacOS X can do this, for example), you can just copy the CDA files from the disk and use a larger variety of tools and libraries to do the file type conversion.

OTHER TIPS

Java has a sound api http://www.oracle.com/technetwork/java/index-139508.html

This site has some good resources, examples and source code: http://www.jsresources.org/examples/ And this:

that read audio CDs directly to extract the sound data. The examples utilize the package javax.sound.sampled.

http://www.jsresources.org/examples/audio_cdda.html

If I could I would have done a "let-me-google-that-for-you-link"...

http://www.foobar2000.org/

Foobar2000 seems to do what you want and has an SDK. You could use Python CTypes although truthfully I don't think you will need to do any programming for what you want to do.

Addendum:

Python Option:

You might want to also check out: http://code.google.com/p/quodlibet/ . Its written in Python and is cross platform with some rather powerful tagging capabilities (thanks to Mutagen which is free). However (from a cursory glance) it does not look like it supports ripping but you could use another tool for that.

Java Option:

I haven't tried atunes but it looks promising: http://www.atunes.org/?page_id=6 . According to their site there is a windows installer but "For ripping, lame, flac or oggenc must be installed."

I'm pretty sure the the Windows Media Player COM API includes ripping functions. Semi-guaranteed to be on your Windows computer. Here's the C++ IWMPCdromRip interface (MSDN)

Shot in the dark Python solution would be pywin32 for COM added to the WMP COM API - should get you what you want, though I'm also curious why you wouldn't want to just rip using WMP (or something else) and then post-process the resulting files as suggested by Adam Gent. With 1 or 500+ CDs, I'd expect the big time sink to be physically loading the media and waiting for it to rip, not operating the buttons for ripping.

I haven't done too much with COM under either Java or Python (I don't use Windows for dev much any more), but years ago it was easy enough from C/C++ using the Windows gcc port (so no help from MSVS/CLR), Pascal, etc., so I can't imagine it wouldn't be available in Java (and of course it's there for Python using pywin32).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top