Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Ripping with plextools (Read 7260 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Ripping with plextools

Ok, I'm convinced Plextools is the fastest, most accurate ripper when used with my plextor cd-rom drive.  Now, How do I actually get it to do what I want to do.

I want to rip about 500+ cd's, save the wav's (preferably as single files with cue sheet) and store id3 tag info, and then later encode and tag them (as a batch) to mp3.

I have a current set up that works quite well.  I use EAC to rip and a slightly modified lameb to tag&encode mp3's.  I slip the disk in EAC, do a freedb call do get title/artist/genre/track info, make modifications to that info (or fill them in as needed), then write out wav files that are specially named so that lameb can extract id3 info from the names.  Lameb then encodes the mp3's, and moves the wav's to another directory.

The beauty of the process is that it's almost totally brain dead.  Unfortunately, It doesn't work quite so smoothy for rippining single file WAV's with TOC.  And it doesn't use plextools.

Unfortunately I see some significant problems using plextools to duplicate my current setup;
1. Plextools doesn't allow you to rename ID3 tags found from freedb  You have to manually rename each file, which is a lot of typing.
2. Plextools doesn't allow genre to be part of the filename, so I can't pass that info to lameb

Worst of all, Plextools doesn't write out a TOC.  So If I want to write a single wav with TOC, i've got to use another tool.

I've considered  writing a pxi image file (with cueshet embedded in it), but pxi fies are slower and not a standard to save to.  I've looked at Tangerines apps but it seems a bit labor intensive and prone to error (I'll make too many mistakes manually typing info into a cue sheet 500 times).

I'm considering now the following approach
1. Rip single file wav using plextools
2. Run a perle script that reads the disk, creates a TOC named discid.cue and renames the wav file to be discid.wav.  discid is a unique disc identifier (erhaps the freedb discid algortihm
3. Use foobar or a similar program to read the wav, retrieve id3 info fromfreedb, modify it, and store it into a local database.  While I do this, I can rip another cd. 
4. When I'm done, use foobar to read all the wav files created, retrieve id3 tags from the local database, move them to some directory structure (eg atrist/album/),  and encode and tag the lame files.

Am i on the right track?  Any other suggestions?

Ripping with plextools

Reply #1
I just came up with an idea on how to create cuesheets using plextools.  Plextools returns all the information needed to create a cue sheet using the cd/dvd info tab.  It writes a file called "cddvdinfo.txt".  There are two modes.  Using the "advanced" feature, it spits out cdtext, pregap, everything you need for a cue sheet.  All I have to do is hack a perle script to mangle this into the right format.

Ripping with plextools

Reply #2
Quote
I just came up with an idea on how to create cuesheets using plextools.  Plextools returns all the information needed to create a cue sheet using the cd/dvd info tab.  It writes a file called "cddvdinfo.txt".  There are two modes.  Using the "advanced" feature, it spits out cdtext, pregap, everything you need for a cue sheet.  All I have to do is hack a perle script to mangle this into the right format.
[a href="index.php?act=findpost&pid=264390"][{POST_SNAPBACK}][/a]

Well why don't you do that & upload the file to the forum so we can also test it?

Ripping with plextools

Reply #3
Work Permit,

If you can get a single file + cue sheet method working you could probably still use Lameb. Lameb contains a script called split_wav that will split the single large wav file according to your cue sheet. The downside is that you'll need to manually add
REM genre
REM year
to your cuesheets.
daefeatures.co.uk

Ripping with plextools

Reply #4
Thanks for the responses.

I looked at just splitting wav's and adding info to the cuesheet manually.  But I am error prone when performing a "manual" step in a process that's repeated hundreds of times.  That's why I'm so hung up on doing it manually.

I'd like to post my script when I actually do it, but I won't get to it until this weekend.  Where should I post it?  I don't have an ftp server.

The id3 retagging process would be eaiser if I just used FLAC encoding in plextools, but plextools has a bug and can't deal with abum names >31 characters.

Ripping with plextools

Reply #5
Quote
I'd like to post my script when I actually do it, but I won't get to it until this weekend.  Where should I post it?  I don't have an ftp server.
[{POST_SNAPBACK}][/a]

You can post files at the [a href="http://www.hydrogenaudio.org/forums/index.php?act=SF&s=&f=35]upload forum[/url].


Quote
The id3 retagging process would be eaiser if I just used FLAC encoding in plextools, but plextools has a bug and can't deal with abum names >31 characters.

What are the effects of this bug?

What would be more generically useful is if you could input a folder with the extracted tracks/file(s) + CDVDInfo.txt contained & a compliant CUE sheet was generated using this combination of data. That way you could also generate a CUE sheet for each mp3 album which you could use for playback & writing back to CDA.

Ripping with plextools

Reply #6
Quote
What are the effects of this bug?

When you retrieve the id3 tags for an album with a long name, amd tehn go to edit them, they showup correctly.  But when you cycle through the tracks numbers, the album name gets truncated to 31 characters.


Quote
What would be more generically useful is if you could input a folder with the extracted tracks/file(s) + CDVDInfo.txt contained & a compliant CUE sheet was generated using this combination of data. That way you could also generate a CUE sheet for each mp3 album which you could use for playback & writing back to CDA.


Good idea.  This may take me a while, but I'll certainly post when I get done

Ripping with plextools

Reply #7
Quote
Quote
What are the effects of this bug?

When you retrieve the id3 tags for an album with a long name, amd tehn go to edit them, they showup correctly.  But when you cycle through the tracks numbers, the album name gets truncated to 31 characters.

For mp3 tagging PlexTools uses ID3v1 which allows up to 30 characters for it's Album field, this is not a PlexTools bug but a ID3v1 limitation.

 

Ripping with plextools

Reply #8
Quote
Quote
Quote
What are the effects of this bug?

When you retrieve the id3 tags for an album with a long name, amd tehn go to edit them, they showup correctly.  But when you cycle through the tracks numbers, the album name gets truncated to 31 characters.

For mp3 tagging PlexTools uses ID3v1 which allows up to 30 characters for it's Album field, this is not a PlexTools bug but a ID3v1 limitation.
[a href="index.php?act=findpost&pid=265013"][{POST_SNAPBACK}][/a]


Thanks, now I understand.  Strange, it DOES retrieve long names from freedb, and it does use those long names when creating files.  They go to all the trouble, you'd think they'd give you an id3v2 flag for tagging.

Curious what people do to enter id3v2 tags?  Just do them afterwards?

Ripping with plextools

Reply #9
Quote
I just came up with an idea on how to create cuesheets using plextools.  Plextools returns all the information needed to create a cue sheet using the cd/dvd info tab.  It writes a file called "cddvdinfo.txt".  There are two modes.  Using the "advanced" feature, it spits out cdtext, pregap, everything you need for a cue sheet.  All I have to do is hack a perle script to mangle this into the right format.
[a href=\"index.php?act=findpost&pid=264390\"][{POST_SNAPBACK}][/a]
I took the liberty to write a small script i Python that does this. You can download it here.

"txt2cue.py CDVDInfo.txt" will create CDVDInfo.cue

EDIT: removed URL

Ripping with plextools

Reply #10
Wow, thanks.  I'll try it tommorrow.

Ripping with plextools

Reply #11
Quote
Wow, thanks.  I'll try it tommorrow.
[a href="index.php?act=findpost&pid=265472"][{POST_SNAPBACK}][/a]

You're welcome! Let me know if you find any problems with it.

I have now updated the script to handle CD Text as well. You can download the new version via the link in my post above.

Ripping with plextools

Reply #12
Quote
Quote
Wow, thanks.  I'll try it tommorrow.
[a href="index.php?act=findpost&pid=265472"][{POST_SNAPBACK}][/a]

You're welcome! Let me know if you find any problems with it.

I have now updated the script to handle CD Text as well. You can download the new version via the link in my post above.
[a href="index.php?act=findpost&pid=265520"][{POST_SNAPBACK}][/a]


Thanks.  I ran it on a few disks, and it seems to work.

What really intrigues me is how clean your python code is.  I'm an old "c" programmer, but its been a while since I've done any "real" programming.  I've played a bit with perl over the last couple of years, but I find it a very unsatisfying language.  Its generally hard for me to figure out someone elses code; in fact its generally hard for me to figure out MY OWN code after I've left it for a few months.

Python seems quite different.

I'm taking off for a week, but when I get back I'm going to teach myself python.

What IDE would you suggest I use?  I did a web search, it seems activestates komodo and wingwares wing ide are a couple of popular choices.

Ripping with plextools

Reply #13
Yes, Python is a really simple and clean language, but yet very powerful. What so great about Python is that you can write rather complex scripts, fast and easy, scripts you never would have had the energy to finish in other languages.

You mentioned another advantage that Python has, it's very easy to read (and understand) the code, compared to most other programming/scripting languages.

If you want to learn Python, I suggest that you take a look at the excellent manual that comes with Python, otherwise you can find it here. There is, among other things, a great tutorial to get you started. Later, when you know some Python, the documentation is a great source of information when programming.

About the IDE. I've never found any use for a advanced IDE when writing scripts in Python, so I have no experience about which IDE to use with Python. If you settle for something simple, you can always try the "IDLE (Python GUI)" which comes with the Python package.

Ripping with plextools

Reply #14
Quote
Quote
Wow, thanks.  I'll try it tommorrow.
[{POST_SNAPBACK}][/a]

You're welcome! Let me know if you find any problems with it.

I have now updated the script to handle CD Text as well. You can download the new version via the link in my post above.
[a href="index.php?act=findpost&pid=265520"][{POST_SNAPBACK}][/a]

Your script doesn't analyze the audio files in the source folder, just assumes there will be one wav file name "CDVDInfo.wav". Not very useful if you are crating multiple files or using compression.

It also outputs strange spaces I'm not sure why this is, try opening [a href="http://users.tpg.com.au/chirano/CDVDInfo.cue]this[/url] CDVDInfo.cue file in notepad

It would be great if your program could accept folder & file name variables (%A, %C, etc) as parameters that could be used to generate CD-TEXT for the CUE sheet.

Ripping with plextools

Reply #15
Quote
Your script doesn't analyze the audio files in the source folder, just assumes there will be one wav file name "CDVDInfo.wav". Not very useful if you are crating multiple files or using compression.

Actually, it assumes the the CDVDInfo file has the same name as the .wav file, but with a .txt extention.
Example: If the CDVDInfo file is named "ABBA - GOLD.txt" the script assumes the the .wav file has the name "ABBA - GOLD.wav".

Quote
It also outputs strange spaces I'm not sure why this is, try opening this CDVDInfo.cue file in notepad

You probably mean the line breaks. It's now "fixed". The script now uses both Carriage Return and Line Feed for the line breaks (like Notepad likes it), previously it just used Line Feed (like in *nix).
You can download the new version here.

Quote
It would be great if your program could accept folder & file name variables (%A, %C, etc) as parameters that could be used to generate CD-TEXT for the CUE sheet.
[a href="index.php?act=findpost&pid=272414"][{POST_SNAPBACK}][/a]

I'm sorry, but it was never my intention to write such an advanced program. I was just trying to help work_permit, by creating a base upon which he could write his own script.

Please feel free doing what ever you'd like with the script. 

Ripping with plextools

Reply #16
Hello, I am also looking into archiving my 500+ CD collection using PlexTools.

I'd like to rip to single FLAC (or maybe APE) files with CUE sheet for archival, then convert to mp3 for daily listening.

Thanks to Westgrove for the Plextools ripping guide which taught me the basics.

AMN, I would be interested in using your script, however I am not a programmer and do not have Python installed. Could you please create an executable file like you previously did from your scipt ? (The link to the exe file higher in the topic returns a 404). That would be greatly appreciated !

I guess this script would be all I need to reach my goal : rip to single Flac with Plextools, generate CUE sheet with AMN's script, and then convert to multiple mp3 with foobar2000.