Help - Search - Members - Calendar
Full Version: Image or separate files?
Hydrogenaudio Forums > Lossless Audio Compression > Lossless / Other Codecs
Pages: 1, 2
lydgate
I'm sort of new to lossless, and I've read several tutorials, tried out MAREO and FLACATTACK, but I'm still a little confused.

I like ripping to an image, because that way I can back up to a FLAC file with embedded CUE sheet which is clean and nice for if I want to burn it again. However, I still haven't figured out how to encode this into separate songs.

I also like encoding to separate FLAC files, because this makes transcoding to lossy codecs very easy, but I am worried that if I lose this CD and want to restore a backup, just burning the separate FLACs will give me gap problems on the CD.

Now, I'm not so worried about the gaps that I want to mess around with offsets, but is there an easy way to backup a CD to some lossless format (preferably FLAC but I'm open to suggestions -- around here people seem to like la for archival), that will both allow me to burn a perfect copy of the CD, and allow for easy transcoding to lossy codecs? I'm sorry if this has been addressed, but I've been reading lots of posts in here for several days and haven't been able to figure out how to do both from only ripping once. I know that FLACATTACK can rip to both image and lossy individual files, but I'm interested in transcoding to newer formats without having to rip, and I don't understand how FLACATTACK splits the files.
Digisurfer
QUOTE (lydgate @ Oct 28 2004, 03:55 PM)
I am worried that if I lose this CD and want to restore a backup, just burning the separate FLACs will give me gap problems on the CD.
*

If you have Nero installed, just use the audio CD writer feature in foobar2000 to create gapless audio CD's. Super easy and works great. Because of this feature I don't worry about making single images with cue files at all, which frankly I found to be a bit of a pain. If you need to transcode, again foobar2000 is a great solution.
Synthetic Soul
I believe that one of the "ToDo's" on FLACattack is to allow transcoding to other lossy formats (if not, it should be wink.gif ).

What lossy formats are you considering?

From what I can see FLACattack is the best/only option at the moment for creating an image and transcoding to lossy track files in one process.

If you don't mind getting a bit manual then using foobar to transcode to lossy tracks from an image with cuesheet is a piece of cake.

If you do archive to individual tracks then MAREO will have all the flexibility you need, no doubt.

Edit: FLACattack splits the files using an inbuilt facility (--cue) in FLAC, to split the file by specifying track and index points. See ponchorage's post here: http://www.hydrogenaudio.org/forums/index....ndpost&p=246083

Edit 2: I don't think this will be of interest, but the only other "option" I can think of is creating an APE (Monkey's Audio) image and using a modified version of LAME to create track MP3s, as per my post here: http://www.hydrogenaudio.org/forums/index....ndpost&p=245471. Sounds as if this is way too limiting for you though.
lydgate
Well, I think I have decided just to rip to separate .flac files using MAREO.

The lossy I am interested in is mainly MP3 and Ogg for my Karma, although if I were going to encode for my computer I would probably use Musepack. I also sometimes put FLAC on my Karma for albums I really like, especially since I modded it to have 40 GB biggrin.gif

Anyway, at first I thought I should rip to image, because it is very easy to burn from an image, but I did not know how to encode an image into separate files. Apparently you can do this from foobar but I didn't know that.

Instead I chose to rip using MAREO to FLAC for archival and to --preset extreme MP3 for my Karma, because Digisurfer said that it is easy to burn using foobar + Nero into a gapless copy of the CD. I don't care if the offsets are perfect, but if the gaps are the same then I'm happy.

Please tell me if separate .flac files will not have the same gaps as the original CD when burned.
boombass
I think it will have the same gaps. I've been trying a few different ways to make a "perfect" copy from separate flac files with a cue sheet. The gaps come out fine, the "new" CD is recognized in the freeDB database, but it is not "perfect".

I've rebuilt a CD using Burrrn (.cue from the original rip (replaced .wav with .flac) and .flac encoded music), done the same thing with EAC (.cue from the original rip and .wavs "reconstituted" from the same .flacs), and ripped them both as a single .wav file. Then I used EAC's "Compare WAVs..." tool to compare these rebuilt CDs to the original CD. I've never managed to get a perfect comparison. Always a few little defects, or a lot. I'm not really sure if these defects matter. If anyone is interested, I'll post the output from the "Compare WAVs..." function.
ChangFest
To burn non-compliant EAC .cue sheets I'd suggest using Gambit's program burrrn.
ponchorage
QUOTE (boombass @ Oct 29 2004, 05:08 AM)
I think it will have the same gaps. I've been trying a few different ways to make a "perfect" copy from separate flac files with a cue sheet. The gaps come out fine, the "new" CD is recognized in the freeDB database, but it is not "perfect".

I've rebuilt a CD using Burrrn (.cue from the original rip (replaced .wav with .flac) and .flac encoded music), done the same thing with EAC (.cue from the original rip and .wavs "reconstituted" from the same .flacs), and ripped them both as a single .wav file. Then I used EAC's "Compare WAVs..." tool to compare these rebuilt CDs to the original CD. I've never managed to get a perfect comparison. Always a few little defects, or a lot. I'm not really sure if these defects matter. If anyone is interested, I'll post the output from the "Compare WAVs..." function.
*


A possible reason that you aren't getting exact results is because if you choose to rip to individual flacs and use the default gap settings (append gap to end of track), you will not ever get the gap before track 1. While this is usually silence, you are technically missing part of the CD. The only way I know to get around this is to append the gap to the beginning of each track (this makes it strange if you play back the songs individually, a silence at the beginning of each track with a gap) or to rip to an image file.
Triza
I am absolutely anal about ripping, but that 2 seconds at the begining of the CD, which is zero most of the case and probably you cannot even play it by a normal CD player, is just not worth it.

Triza
lydgate
QUOTE (Triza @ Oct 29 2004, 01:07 PM)
I am absolutely anal about ripping, but that 2 seconds at the begining of the CD, which is zero most of the case and probably you cannot even play it by a normal CD player, is just not worth it.

Triza
*

In other words, you rip to individual .flac files and the gaps are fine? I too am anal about gapless, but I don't care about a bit compare really, or about the gap before the first song. As long as the gaps between songs are the same as the original, I will be happy. Can this be done using separate .flac files?
Synthetic Soul
Sounds to me as though you just ought to persevere with FLACattack.

If you rip to a CD image using FLAC, and then create track MP3s, OGGs, and Musepack files using FLACattack all your bases (are belong to us) are covered. It sounds to me as though FLACattack could almost have been written for you!

I've seen your posts on the FLACattach 0.6 thread (I think it is) - you must be 95% there...
Digisurfer
QUOTE (lydgate @ Oct 29 2004, 02:23 PM)
As long as the gaps between songs are the same as the original, I will be happy.  Can this be done using separate .flac files?
*

Out of the 181 albums I've ripped to individual FLAC files so far (using EAC), I haven't encountered a single problem. If I ever do run into a CD where track one has sound in the pregap, I'll probably just re-rip that song manually as required. I too am not interested in bit identical copies. As long as I can take a FLAC album with gapless tracks and burn it to audio CD, and that CD sounds exactly like the original, then I'm happy. So far the foobar2000 CD writer component hasn't let me down in this regard, and individual files are much more flexible than a single file with cue sheet.

Something to consider about MAREO though; ripping to multiple formats at the same time means double the work when correcting tags and filenames. Depending on how you like to organize different material, as well as the correctness of freedb data, it could be that ripping to FLAC first and then transcoding to a lossy format later may be easier. As I said before, foobar2000 is decent enough for transcoding. As long as you don't mind downloading any codecs you need and setting up your own command lines (if required) that is. dbPowerAmp and Frontah are two other possibilities as well. I'm sure other folks will throw in their favorites too.
Triza
QUOTE (lydgate @ Oct 29 2004, 12:23 PM)
QUOTE (Triza @ Oct 29 2004, 01:07 PM)
I am absolutely anal about ripping, but that 2 seconds at the begining of the CD, which is zero most of the case and probably you cannot even play it by a normal CD player, is just not worth it.

Triza
*

In other words, you rip to individual .flac files and the gaps are fine? I too am anal about gapless, but I don't care about a bit compare really, or about the gap before the first song. As long as the gaps between songs are the same as the original, I will be happy. Can this be done using separate .flac files?
*


INDEX 0 Specifies the starting time of the track "pregap".
INDEX 1 Specifies the starting time of the track data. This is the only index that is stored in the disc's table-of-contents.

The area between the two is called the "gap". When you step through the tracks on an audio CD, your player jumps to INDEX 1 of each track. This is where the track really starts. To mimick this when you rip into separate files you have to make sure that that this is where your files start. That is to say, the gaps must be appended to the end of the track. That is to say your file has to contain everything from INDEX 1 of Track x up to INDEX 1 of Track (x+1) including the INDEX 0 - INDEX 1 portion of Track (x+1). This way if you step through these files your player will step through them as they do on an audio CD. You can set this behavior in EAC. I think this is the default. Just make sure that you do not set in EAC to prepend the gaps to the beginning of the file or to exclude the gaps. I cannot remember the term EAC uses, and I cannot check because I am on Linux now.

As you see if you concatenate these tracks not a single bit will be missing except the aformentioned first 2 seconds. (Assuming that you use lossless encoding or Ogg Vorbis. MP3, AAC are not gapless, but this is an encoding issue)

I go further. You do not even need CUE sheets to create an identical CD (apart from the 2 second before the 1st track). Just tell your burner not to insert any silence between the tracks.
All the CUE sheet fetish people need only the CUE sheet to recover INDEX 0 or some other INDEX > 1 indeces. Now INDEX 0 and INDEX > 1 are not used in any sensible way by audio CD players. Some reaching INDEX 0 will start with some negative time and count up to INDEX 1 where the time counter becomes 0 and turns positive once it passes INDEX 1. I would not regard this an important feature.

Considering the tagging issues and incompatibilies with players I think ripping into a single file is madness.

I hope this helps,

Triza
JayDPiii
QUOTE (boombass @ Oct 29 2004, 09:08 AM)
I think it will have the same gaps. I've been trying a few different ways to make a "perfect" copy from separate flac files with a cue sheet. The gaps come out fine, the "new" CD is recognized in the freeDB database, but it is not "perfect".

I've rebuilt a CD using Burrrn (.cue from the original rip (replaced .wav with .flac) and .flac encoded music), done the same thing with EAC (.cue from the original rip and .wavs "reconstituted" from the same .flacs), and ripped them both as a single .wav file. Then I used EAC's "Compare WAVs..." tool to compare these rebuilt CDs to the original CD. I've never managed to get a perfect comparison. Always a few little defects, or a lot. I'm not really sure if these defects matter. If anyone is interested, I'll post the output from the "Compare WAVs..." function.
*


Burrrn! seems to be the only writer that will create an audio CD from the lossless compressed APE files (Monkey Audio).
k.eight.a
QUOTE (JayDPiii @ Oct 30 2004, 04:21 AM)
QUOTE (boombass @ Oct 29 2004, 09:08 AM)
I think it will have the same gaps. I've been trying a few different ways to make a "perfect" copy from separate flac files with a cue sheet. The gaps come out fine, the "new" CD is recognized in the freeDB database, but it is not "perfect".

I've rebuilt a CD using Burrrn (.cue from the original rip (replaced .wav with .flac) and .flac encoded music), done the same thing with EAC (.cue from the original rip and .wavs "reconstituted" from the same .flacs), and ripped them both as a single .wav file. Then I used EAC's "Compare WAVs..." tool to compare these rebuilt CDs to the original CD. I've never managed to get a perfect comparison. Always a few little defects, or a lot. I'm not really sure if these defects matter. If anyone is interested, I'll post the output from the "Compare WAVs..." function.
*


Burrrn! seems to be the only writer that will create an audio CD from the lossless compressed APE files (Monkey Audio).
*


EAC can burn from APEs too! wink.gif
Brink
QUOTE
Burrrn!  seems to be the only writer that will create an audio CD from the lossless compressed APE files (Monkey Audio).

So nero, with a proper plugin.

http://neroplugins.cd-rw.org/
Digisurfer
QUOTE (Brink @ Oct 30 2004, 07:50 AM)
QUOTE
Burrrn!  seems to be the only writer that will create an audio CD from the lossless compressed APE files (Monkey Audio).

So nero, with a proper plugin.

http://neroplugins.cd-rw.org/
*

At the risk of sounding repetitive, if you have Nero and use the foobar2000 audio CD writer, you don't need any plug-ins as long as it's something foobar can play.
Synthetic Soul
QUOTE (JayDPiii @ Oct 30 2004, 01:21 PM)
Burrrn!  seems to be the only writer that will create an audio CD from the lossless compressed APE files (Monkey Audio).
*
JayDPiii, I think this assumption comes from the recommendations on your thread.

I think Burrrn was recommended on that occassion as you stated that you had Roxio Easy CD, and the assumption was made that you don't have Nero.

As well as Nero in conjunction with the additional plugins or foobar's Audio CD Writer component, I believe burnatonce can be used to burn APE-encoded CD images. Both Burrrn and Burnatonce are free, and use CDRDAO as the writing engine.

EAC, will also burn an APE-encoded image to CD, as I discovered myself only recently.

Edit: grammar
Synthetic Soul
QUOTE (Triza @ Oct 30 2004, 03:42 AM)
Considering the tagging issues and incompatibilies with players I think ripping into a single file is madness.
*
I rip a CD to lossless as a backup to the original.

The original doesn't have tags.

I have no problem playing an image file with foobar, but as I say: it's for backup anyway - if I wanted to listen to it I'd convert the lossless image to lossy track files, using the cuesheet for tagging. If, for some freak reason, I desperately need to know the release date of the album I'll look at the case, or Google "<artist> discography".

As far as I am concerned, when talking about archiving/backing up a CD, ripping to image is by far the easiest method of ripping, storing, and re-authoring.

If you want to rip to listen, then I can see the appeal of tracks.

Each to their own. Even the insane.
Triza
Synthetic Soul,

I fail to see how a single file simplify things apart from the advantage having the 1st 2 seconds of the disk, which I do not have and which no audio CD player ever plays. This is the only drawback.

You seem to argue that the single file method is simpler (beyond this 'hidden' 2 sec problem). Well I do not see just how much more complicated the 1-file-for-each-track method. You did not mentioned that. If you really think about it there is no complications. In fact almost all SW is geared up for this model only. In fact you only mentioned all the limitations and complications now you have. You mentioned that you can only play it with foobar, you have to split the files and tag them if you want to play them elsewhere. This is also means that you probably cannot have tags other than title artist and album (unless you complicate your process even futher).

I use flac in the manner described above (fully tagged and I can also easily add tags later) and I can easily recreate a CD (apart from 2 seconds). They are archives, but I can play them on any platform with several players. It is also easy to turn them into lossy.

If I really want 1 file I can alway tar them together.

I really think you are fooling yourself. But it is up to you.

Triza
Synthetic Soul
Triza

I'm not arguing anything! I'm not having a go at you, or saying you are mad or fooling yourself.

I'm just making the point: each to his own. Both methods have their advantages and disadvantages, I'm sure.

For my purposes I find ripping to a single image easiest. I know then I don't have to worry about gaps, trailing silence, etc., and that I can have all I need in one file. Perhaps pyschologically I like having a single file to represent a single CD. Who knows, perhaps I really am whacko blink.gif

QUOTE (Triza @ Nov 1 2004, 01:13 PM)
Well I do not see just how much more complicated the 1-file-for-each-track method. You did not mentioned that. If you really think about it there is no complications.
If you read just the posts above this doesn't seem to be the case. For my purposes there is less to go wrong with an image.
QUOTE (Triza @ Nov 1 2004, 01:13 PM)
In fact almost all SW is geared up for this model only.
Not when burning back to CD - I can easily burn back to CD using EAC (and Burrrn or Burnatonce) with my image. For playing... RTFP
QUOTE (Triza @ Nov 1 2004, 01:13 PM)
In fact you only mentioned all the limitations and complications now you have. You mentioned that you can only play it with foobar, you have to split the files and tag them if you want to play them elsewhere. This is also means that you probably cannot have tags other than title artist and album.
This thread isn't long enough for all the limitations and complications I have... huh.gif
Triza
Synthetic Soul,

Thanks for the reply. I did not mean to be disrespectful. Sometimes we all go through all sorts of complications for some elusive gain. I just tried to help you if you want to step back and reexamine your strategy. Also by revelaing my strategy I am actually allowing peer-review in this discussion. (Although if it turns out that something is wrong with my way then I am in big trouble because I already ripped my 250+ CDs and there is no way I am ever gonna do that again.)

Either way the choice is yours.

Triza
Synthetic Soul
QUOTE (Triza @ Nov 1 2004, 01:48 PM)
Also by revelaing my strategy I am actually allowing peer-review in this discussion. (Although if it turns out that something is wrong with my way then I am in big trouble because I already ripped my 250+ CDs and there is no way I am ever gonna do that again.)
I'm near the end of ripping my ~300 CDs to image files... you may have hit the nail on the head wink.gif

I honestly think I may have come closest by saying "Perhaps pyschologically I like having a single file to represent a single CD". It just seems neat and tidy to me. It's not necessarily a technical preference. Not all decisions are based on logic I suppose.
lydgate
Okay, I just wanted to post what I have decided, because I think it is working out well.

I am ripping using the default gap mode in EAC, to individual FLAC files. I make sure that everything is labelled correctly and then use MAREO to give me --preset extreme MP3s and compression 8 FLAC files. Then I make a CUE with EAC and change .wav to .flac and WAVE to FLAC. I am not sure if this is necessary... can anyone tell me?

I am happy with this because:

1. I can transfer the FLAC files directly to my Karma if I want lossless on there, or transfer MP3 if I want that
2. It is easy to transcode the FLAC files using dbPowerAmp or foobar
3. I tried using foobar's diskwriter and the CUE file to make a single wave, and then I used foobar's bit compare to compare it to the uncompressed image ripped from the CD, and they came out identical, so it looks like this also works for archiving.

I realize that also I could do all these things to an image file, but because I might want to transfer some of the individual FLAC files to my Karma it is more convenient this way.
Synthetic Soul
What?! Are you crazy?!!!





Sorry, couldn't resist.
k.eight.a
QUOTE (Synthetic Soul @ Nov 1 2004, 06:46 AM)
What?!  Are you crazy?!!!

Sorry, couldn't resist.
*


What's wrong with his procedure?

Maybe I don't understand it well but your problem lies in the pregap of the 1st track. Very occasionally there's a hidden track present and then it's a good idea of ripping by "gaps appended to the next track" but in majority of cases there's no pregap or there's a 32 or 37 frames of silence, that are concerned in appropriate cue-sheet...
I think the best way is to hit F4, look at the gaps and decide which way to go...
ponchorage
QUOTE (k.eight.a @ Nov 1 2004, 02:16 PM)
QUOTE (Synthetic Soul @ Nov 1 2004, 06:46 AM)
What?!  Are you crazy?!!!

Sorry, couldn't resist.
*


What's wrong with his procedure?
*


I think Synthetic Soul was just joking around.
k.eight.a
Ah... I see! My English needs some improvements, I know it well...
Tangerine
QUOTE (lydgate @ Oct 28 2004, 11:55 PM)
I'm sort of new to lossless, and I've read several tutorials, tried out MAREO and FLACATTACK, but I'm still a little confused.

I like ripping to an image, because that way I can back up to a FLAC file with embedded CUE sheet which is clean and nice for if I want to burn it again.  However, I still haven't figured out how to encode this into separate songs.

I also like encoding to separate FLAC files, because this makes transcoding to lossy codecs very easy, but I am worried that if I lose this CD and want to restore a backup, just burning the separate FLACs will give me gap problems on the CD.

Now, I'm not so worried about the gaps that I want to mess around with offsets, but is there an easy way to backup a CD to some lossless format (preferably FLAC but I'm open to suggestions -- around here people seem to like la for archival), that will both allow me to burn a perfect copy of the CD, and allow for easy transcoding to lossy codecs?  I'm sorry if this has been addressed, but I've been reading lots of posts in here for several days and haven't been able to figure out how to do both from only ripping once.  I know that FLACATTACK can rip to both image and lossy individual files, but I'm interested in transcoding to newer formats without having to rip, and I don't understand how FLACATTACK splits the files.
*


I had to make some programs for doing this.
I archived 47 CD-s (flac image), made a mp3 image and split into tracks by mp3splt program.
Then I realised that mp3splt sucks, so I deleted all my mp3s, and decided to make them again.
I made 5 programs last week for doing this automatically

1. a wavsplitter program that uses cuesheet for getting cutpoints, it makes the same wave tracks from a wave-image as EAC would do when you choose 'F5'
It also can run Lame and add splitted wav files to lame for gapless encoding.

2. a cuesheet modder program. You can add extra infos into cuesheet (i.e.: REM YEAR "1996" or REM GENRE "Rock")
Unfortunately this cannot be automatized, so I had to add each cue-sheet by hand
(it took 10 minutes) but you do not have to if you do not need genre, year or comments in the tags

3. a tagger program (id3v2) that will tag mp3s using cuesheet mentioned above

4. a renamer program that can rename tagged mp3 (id3v2) to scheme
also will replace/strip illegal chars in filenames (not in tags)
(default replacing sheme can be overridden)

5. and last (not least) a runner program that will parse directories finds filetypes (as specified in its ini. In this case *.flac) and run programs on it.
You only have to specify some parameters (start directory, logfile, priority) and some things in ini. Then it will recode all your flacs to mp3s. My all 47 CD-s (flac image) were decoded to wav/splitted to tracks/encoded by lame (gapless)/tagged/renamed/and put in their directories (e:\Music\MP3\<artist>\<year-album>\) and a playlist/directories were made in 4h 35min. cool.gif

the only code in the ini was:
----------
[*.flac]
flac -d -f "@file@"
wavsplit --cue "@fname@.cue" --s "@fname@.wav" --r lame --cbr -b 192 -q2 --nogap @all@
del *.wav
tagcue --cue "@fname@.cue" --files *.mp3
rentag --scheme "(N) T" --files *.mp3
if not exist "@dir0@\Music\MP3\@dirsfrom3@\@fname@" md "@dir0@\Music\MP3\@dirsfrom3@\@fname@"
dir /on /b *.mp3 > "@dir0@\Music\MP3\@dirsfrom3@\@fname@\(00) playlist.m3u"
move *.mp3 "@dir0@\Music\MP3\@dirsfrom3@\@fname@"
----------


In few days I will release these programs if somebody wants to use them, as soon as possible. I have to do some testing and readme for them.
ponchorage
I'd be interested in seeing how you accomplished #1 from above. I've been wondering how to do the same thing.
Tangerine
QUOTE (Tangerine @ Nov 2 2004, 02:00 AM)
QUOTE (lydgate @ Oct 28 2004, 11:55 PM)
I'm sort of new to lossless, and I've read several tutorials, tried out MAREO and FLACATTACK, but I'm still a little confused.

I like ripping to an image, because that way I can back up to a FLAC file with embedded CUE sheet which is clean and nice for if I want to burn it again.  However, I still haven't figured out how to encode this into separate songs.

I also like encoding to separate FLAC files, because this makes transcoding to lossy codecs very easy, but I am worried that if I lose this CD and want to restore a backup, just burning the separate FLACs will give me gap problems on the CD.

Now, I'm not so worried about the gaps that I want to mess around with offsets, but is there an easy way to backup a CD to some lossless format (preferably FLAC but I'm open to suggestions -- around here people seem to like la for archival), that will both allow me to burn a perfect copy of the CD, and allow for easy transcoding to lossy codecs?  I'm sorry if this has been addressed, but I've been reading lots of posts in here for several days and haven't been able to figure out how to do both from only ripping once.  I know that FLACATTACK can rip to both image and lossy individual files, but I'm interested in transcoding to newer formats without having to rip, and I don't understand how FLACATTACK splits the files.
*


I had to make some programs for doing this.
I archived 47 CD-s (flac image), made a mp3 image and split into tracks by mp3splt program.
Then I realised that mp3splt sucks, so I deleted all my mp3s, and decided to make them again.
I made 5 programs last week for doing this automatically

1. a wavsplitter program that uses cuesheet for getting cutpoints, it makes the same wave tracks from a wave-image as EAC would do when you choose 'F5'
It also can run Lame and add splitted wav files to lame for gapless encoding.

2. a cuesheet modder program. You can add extra infos into cuesheet (i.e.: REM YEAR "1996" or REM GENRE "Rock")
Unfortunately this cannot be automatized, so I had to add each cue-sheet by hand
(it took 10 minutes) but you do not have to if you do not need genre, year or comments in the tags

3. a tagger program (id3v2) that will tag mp3s using cuesheet mentioned above

4. a renamer program that can rename tagged mp3 (id3v2) to scheme
also will replace/strip illegal chars in filenames (not in tags)
(default replacing sheme can be overridden)

5. and last (not least) a runner program that will parse directories finds filetypes (as specified in its ini. In this case *.flac) and run programs on it.
You only have to specify some parameters (start directory, logfile, priority) and some things in ini. Then it will recode all your flacs to mp3s. My all 47 CD-s (flac image) were decoded to wav/splitted to tracks/encoded by lame (gapless)/tagged/renamed/and put in their directories (e:\Music\MP3\<artist>\<year-album>\) and a playlist/directories were made in 4h 35min. cool.gif

the only code in the ini was:
----------
[*.flac]
flac -d -f "@file@"
wavsplit --cue "@fname@.cue" --s "@fname@.wav" --r lame --cbr -b 192 -q2 --nogap @all@
del *.wav
tagcue --cue "@fname@.cue" --files *.mp3
rentag --scheme "(N) T" --files *.mp3
if not exist "@dir0@\Music\MP3\@dirsfrom3@\@fname@" md "@dir0@\Music\MP3\@dirsfrom3@\@fname@"
dir /on /b *.mp3 > "@dir0@\Music\MP3\@dirsfrom3@\@fname@\(00) playlist.m3u"
move *.mp3 "@dir0@\Music\MP3\@dirsfrom3@\@fname@"
----------


In few days I will release these programs if somebody wants to use them, as soon as possible. I have to do some testing and readme for them.
*


Quite easy:

-open source wav
-read header of source wav (first 44 byte)
-make destination wav header
the destination header can be the same as source header with some modifications:
two things you have to modify in it the size fields 2x4 bytes.
byte #5-6-7-8 must be the wav datasize +36
byte #41-42-43-44 must be the wav datasize
All other header bytes can be simply copied.
After header copy data from source.
(1 frame = 2352 byte, 1 sec=75 frame.)

Example: If track length is 04:11:66 (mm:ss:frame) then wav data size will be:
4*60*75*2352+11*75*2352+66*2352=42336000+1940400+155232 = 44 431 632 byte
So set header byte #5-6-7-8 to 44 431 632 + 36 = 44 431 668 = 2A5F934 (hex)
Byte #5 will be 0x34
Byte #6 will be 0xF9
Byte #7 will be 0xA5
Byte #8 will be 0x02

set header byte #41-42-43-44 to 44 431 632 = 2A5F910 (hex)
Byte #41 will be 0x10
Byte #42 will be 0xF9
Byte #43 will be 0xA5
Byte #44 will be 0x02

Write 44 431 632 bytes to destination wav, from source wav (skip sorce wav's header)

Some tips:
- look for "Index 01" in cuefile those will be the splitting points.
- if first Index 01 is not 00:00:00 (ie.: 00:00:33) then do not copy the first 33*2352 byte to destination wav. This is what EAC does.
Tangerine
QUOTE (ponchorage @ Nov 2 2004, 03:02 AM)
I'd be interested in seeing how you accomplished #1 from above. I've been wondering how to do the same thing.
*


Download Wavsplit
Delphi source included.
Tangerine
QUOTE (lydgate @ Oct 28 2004, 11:55 PM)
I'm sort of new to lossless, and I've read several tutorials, tried out MAREO and FLACATTACK, but I'm still a little confused.

I like ripping to an image, because that way I can back up to a FLAC file with embedded CUE sheet which is clean and nice for if I want to burn it again.  However, I still haven't figured out how to encode this into separate songs.

I also like encoding to separate FLAC files, because this makes transcoding to lossy codecs very easy, but I am worried that if I lose this CD and want to restore a backup, just burning the separate FLACs will give me gap problems on the CD.

Now, I'm not so worried about the gaps that I want to mess around with offsets, but is there an easy way to backup a CD to some lossless format (preferably FLAC but I'm open to suggestions -- around here people seem to like la for archival), that will both allow me to burn a perfect copy of the CD, and allow for easy transcoding to lossy codecs?  I'm sorry if this has been addressed, but I've been reading lots of posts in here for several days and haven't been able to figure out how to do both from only ripping once.  I know that FLACATTACK can rip to both image and lossy individual files, but I'm interested in transcoding to newer formats without having to rip, and I don't understand how FLACATTACK splits the files.
*


Try Catwalk for transcoding.
Synthetic Soul
Probably of little interest to anyone than perhaps ponchorage, Tangerine, and maybe TwoJ, but I find it quite interesting that the tools Tangerine has created (Wavsplit & Tagcue anyway) closely match those I specified a need for in this post:

http://www.hydrogenaudio.org/forums/index....ndpost&p=246053

... in the thread in which ponchorage first discussed the beginnings of FLACattack.

I suppose this simply proves that there are many people who want to be able to transcode from image file to track files.

@Tangerine

Wavsplit looks especially useful. One minor suggestion for improvement: how about adding a switch to delete the track WAVs after everything else is done?

So:

wavsplit.exe --c cdimage.cue --s cdimage.wav --d --r lame --preset standard @all@

... would split the WAV into track WAVs, encode those tracks into MP3, and then remove all the track WAVs - so you would be left with only those files you want.

I know you could do this in subsequent lines if you were using it in conjunction with, e.g., Batrun - but the option would improve it as a standalone app.

Also, does Rentag zero-pad the track number?

While you're on the line... I don't suppose you know of a free Delphi compiler?
Tangerine
QUOTE (Synthetic Soul @ Nov 8 2004, 12:24 PM)
Probably of little interest to anyone than perhaps ponchorage, Tangerine, and maybe TwoJ, but I find it quite interesting that the tools Tangerine has created (Wavsplit & Tagcue anyway) closely match those I specified a need for in this post:

http://www.hydrogenaudio.org/forums/index....ndpost&p=246053

... in the thread in which ponchorage first discussed the beginnings of FLACattack.

I suppose this simply proves that there are many people who want to be able to transcode from image file to track files.

@Tangerine

Wavsplit looks especially useful.  One minor suggestion for improvement: how about adding a switch to delete the track WAVs after everything else is done?

So:

wavsplit.exe --c cdimage.cue --s cdimage.wav --d --r lame --preset standard @all@

... would split the WAV into track WAVs, encode those tracks into MP3, and then remove all the track WAVs - so you would be left with only those files you want.

I know you could do this in subsequent lines if you were using it in conjunction with, e.g., Batrun - but the option would improve it as a standalone app.

Also, does Rentag zero-pad the track number?

While you're on the line... I don't suppose you know of a free Delphi compiler?
*



> Wavsplit looks especially useful. One minor suggestion for improvement: how about adding a switch to delete the track WAVs after everything else is done?

> So:

> wavsplit.exe --c cdimage.cue --s cdimage.wav --d --r lame --preset standard @all@

'--d' is for specifying destination directory
I will add --dd for deleting destination files (wavtracks), -ds for deleting source image file, and --dc for deleting cue sheet file.
There is another problem. Wavsplit will run lame only once, so if you have 3 splitted tracks then '--r lame --preset standard @all@' means: 'lame --preset standard 01.wav 02.wav 03.wav'
That would not work, because you would need lame run 3 times:
1. 'lame --preset standard 01.wav 01.mp3
2. 'lame --preset standard 02.wav 02.mp3
3. 'lame --preset standard 03.wav 03.mp3

@all@ seems to work only when encoding to gapless:
'lame --nogap 01.wav 02.wav 03.wav' is ok, because you have to enumerate wav files like this when gapless encoding.
So I will add another parameter to distinguish wheter to run lame N times on one file or run once on N file.
Tangerine
> Also, does Rentag zero-pad the track number?

Yes. smile.gif

> While you're on the line... I don't suppose you know of a free Delphi compiler?

> No sad.gif
Tangerine
wavsplit has been improved:

the bahavior of '--r' options did not changed, but if you use --rn instead of --r then lame will run n times (n = number of wavs) so if your cdimage.wav has 3 tracks then use next command:

wavsplit.exe --c cdimage.cue --s cdimage.wav --d c:\mp3 --ds --dd --dc --rn lame --preset standard @tn@.wav @tn@.mp3

@tn@ will be the tracknumber (zero padded) and destination dir added (--d)

wavsplit will put 01.wav, 02.wav, 03.wav into c:\mp3 and will run lame three times (--rn):

1. lame --preset standard c:\mp3\01.wav c:\mp3\01.mp3
2. lame --preset standard c:\mp3\02.wav c:\mp3\02.mp3
3. lame --preset standard c:\mp3\03.wav c:\mp3\03.mp3

After that will delete the source wav: cdimage.wav (--ds), delete destination wavs: 01.wav, 02.wav and 03.wav (--dd), and delete the cuefile: cdimage.cue (--dc)

Nothing will be left apart from the three mp3s in c:\mp3
Synthetic Soul
Thanks Tangerine. biggrin.gif

I think Wavsplit, Tagcue and Rentag are extremely useful tools for those of us with image files.

My previous intention was to create individual track files, if and when required, using Foobar. However these tools give me the opportunity to accomplish this through script - and also an easy way to create both the image and lossy track files at the same time from EAC.

I've just successfully used Wavslit, Tagcue and Rentag to create named, tagged --preset standard MP3s from a CDImage.wav/CDImage.cue pair.

FYI: here's my command lines:

wavsplit --c cdimage.cue --s cdimage.wav --d c:\dos\qotsa --rn lame --preset standard @tn@.wav @tn@.mp3

tagcue.exe --c cdimage.cue --f c:\dos\qotsa\*.mp3

rentag --s "N - T" --f c:\dos\qotsa\*.mp3



Keep up the good work.
Synthetic Soul
QUOTE (Tangerine @ Nov 2 2004, 12:00 AM)
2. a cuesheet modder program. You can add extra infos into cuesheet (i.e.: REM YEAR "1996" or REM GENRE "Rock")
Unfortunately this cannot be automatized, so I had to add each cue-sheet by hand
(it took 10 minutes) but you do not have to if you do not need genre, year or comments in the tags
*
Maybe not in your situation, but if used as part of a ripping script (e.g.: Batrun) it could be. E.g.: EAC -> Batrun > Cuemod > Wavsplit > Tagcue > Rentag. For those people who rip to an image, and like to have year and genre (and comments) in their lossy files' tags, this is very useful. Personally I'm not so bothered, but then I may use it as it's there.

NB: I MP3 encoded one of the WAV files created by Wavsplit using Foobar, and bit-compared that with the MP3 I have created from the CD with Foobar. Both files were 100% comparable. Which is nice. My main concern with Wavsplit (or any program like this) would be that it cuts the file correctly. I'll obviously test some more, but that initial match was good to see.
Tangerine
QUOTE (Synthetic Soul @ Nov 9 2004, 12:03 PM)
QUOTE (Tangerine @ Nov 2 2004, 12:00 AM)
2. a cuesheet modder program. You can add extra infos into cuesheet (i.e.: REM YEAR "1996" or REM GENRE "Rock")
Unfortunately this cannot be automatized, so I had to add each cue-sheet by hand
(it took 10 minutes) but you do not have to if you do not need genre, year or comments in the tags
*
Maybe not in your situation, but if used as part of a ripping script (e.g.: Batrun) it could be. E.g.: EAC -> Batrun > Cuemod > Wavsplit > Tagcue > Rentag. For those people who rip to an image, and like to have year and genre (and comments) in their lossy files' tags, this is very useful. Personally I'm not so bothered, but then I may use it as it's there.
*


Yes. I put this line into batrun.ini in the [COMMON] section (in Batrun v2.0)
cuemod.exe --cue "@cuefile@" --f "@flacfile@" --t flac --y "@year@" --g "@genre@" --c "@comm@"

So every cue-seet will contain year, genre, and comment info.
I had to do it manually only on previously ripped album's cue sheets.
Tangerine
> Personally I'm not so bothered, but then I may use it as it's there.

You mean that you don't rip to image or you don't need or care about year/genre/comment in mp3s?
Synthetic Soul
QUOTE (Tangerine @ Nov 9 2004, 11:51 AM)
You mean that you don't rip to image or you don't need or care about year/genre/comment in mp3s?
*
I don't much care about any tags other than artist, album, track and title.

I really don't see the point in Genre. Why do I need someone to categorise my music for me? Why do I care that someone has (often incorrectly) labelled my music as "Rock". If my heart is pounding and I have a smile on my face I know that. wink.gif

Comments are obviously useful for recording ripping/encoding info. The scripts I used to back up my 319 CDs created a CSV file of every disc processed. I partly wish that I had included the Year on this, as it would have been interesting to see my CDs in chronological order. Only midly interesting though.

I know a lot of people seem to like to store year/genre and comments though - again, each to his/her own.
Tangerine
QUOTE (Synthetic Soul @ Nov 9 2004, 02:00 PM)
QUOTE (Tangerine @ Nov 9 2004, 11:51 AM)
You mean that you don't rip to image or you don't need or care about year/genre/comment in mp3s?
*
I don't much care about any tags other than artist, album, track and title.

I really don't see the point in Genre. Why do I need someone to categorise my music for me? Why do I care that someone has (often incorrectly) labelled my music as "Rock". If my heart is pounding and I have a smile on my face I know that. wink.gif

Comments are obviously useful for recording ripping/encoding info. The scripts I used to back up my 319 CDs created a CSV file of every disc processed. I partly wish that I had included the Year on this, as it would have been interesting to see my CDs in chronological order. Only midly interesting though.

I know a lot of people seem to like to store year/genre and comments though - again, each to his/her own.
*


You are right about genre.
I.e.: My favourite band is Tangerine Dream usually claimed to be electronic band. TD made a lot of Soundtrack also. So what genre do I set on the album: Miracle Mile? Electronic because of TD or Soundtrack because it is the soundtrack of the movie.
Anyway I use genre for grouping my musics and my Gmini 400 can sort(filter) mp3-s by genre, so I can select what to play by genre.
I do not use many genres and an artist will have the same genre (ie. if artist is TD then genre will be always Electronic, even if the album is a soundtrack), So 3-4 genres will cover all my CDs.
Electronic: TD, Jarre, Kraftwerk, Vangelis, Elektric Music, ...
Synthpop: OMD, Erasure ...
Musical: Webber...
Year tag is more important, for sorting and renaming.
Comment is not impotant for me since my Gmini does not use it. If it would then could be used for grouping of another aspect
Tangerine
QUOTE (Synthetic Soul @ Nov 9 2004, 12:03 PM)
NB: I MP3 encoded one of the WAV files created by Wavsplit using Foobar, and bit-compared that with the MP3 I have created from the CD with Foobar.  Both files were 100% comparable.  Which is nice.  My main concern with Wavsplit (or any program like this) would be that it cuts the file correctly.  I'll obviously test some more, but that initial match was good to see.
*


Before I made wavsplit. I examined how EAC make tracks of a CD, and why there is difference sometimes in the size of image and sum of tracks. The next usualy true:
sizeof(cdimage)-44 = sizeof(track1+...+trackN)-N*44
(44 byte is the wav header)

There will be difference in size if the first track does not start at the beginning, in other words the first INDEX01 line is not 00:00:00
In this case the the data (in most case it contains silence) between the the beginning and the first INDEX01 will be discarded.
The process of wavsplit's splitting is very simple:
1. Sets position in the sorce where index01 'points' to
2. Copies data to dest wav until get to the position where next index01 points to or reach the end of source
3. add a header to dest.wav
ponchorage
QUOTE (Tangerine @ Nov 9 2004, 05:40 AM)
QUOTE (Synthetic Soul @ Nov 9 2004, 12:03 PM)
NB: I MP3 encoded one of the WAV files created by Wavsplit using Foobar, and bit-compared that with the MP3 I have created from the CD with Foobar.  Both files were 100% comparable.  Which is nice.  My main concern with Wavsplit (or any program like this) would be that it cuts the file correctly.  I'll obviously test some more, but that initial match was good to see.
*


Before I made wavsplit. I examined how EAC make tracks of a CD, and why there is difference sometimes in the size of image and sum of tracks. The next usualy true:
sizeof(cdimage)-44 = sizeof(track1+...+trackN)-N*44
(44 byte is the wav header)

There will be difference in size if the first track does not start at the beginning, in other words the first INDEX01 line is not 00:00:00
In this case the the data (in most case it contains silence) between the the beginning and the first INDEX01 will be discarded.
The process of wavsplit's splitting is very simple:
1. Sets position in the sorce where index01 'points' to
2. Copies data to dest wav until get to the position where next index01 points to or reach the end of source
3. add a header to dest.wav
*


I've read about quite a few people who would actually prefer that the track 1 pregap be kept as part of track 1 instead of discarding it. They see this as a deficiency of EAC because it technically doesn't allow for a complete perfect copy while backing up to individual files.
k.eight.a
QUOTE (ponchorage @ Nov 9 2004, 07:55 AM)
I've read about quite a few people who would actually prefer that the track 1 pregap be kept as part of track 1 instead of discarding it. They see this as a deficiency of EAC because it technically doesn't allow for a complete perfect copy while backing up to individual files.
*


Sorry, but I think it's very easy to adjust the cue-sheet as you desire, so you can have a cue-sheet with pregap, first track & pregap of the second track in one file (Track 1.wav) and so on, just to try it. Very simple...
ponchorage
QUOTE (k.eight.a @ Nov 9 2004, 08:25 AM)
QUOTE (ponchorage @ Nov 9 2004, 07:55 AM)
I've read about quite a few people who would actually prefer that the track 1 pregap be kept as part of track 1 instead of discarding it. They see this as a deficiency of EAC because it technically doesn't allow for a complete perfect copy while backing up to individual files.
*


Sorry, but I think it's very easy to adjust the cue-sheet as you desire, so you can have a cue-sheet with pregap, first track & pregap of the second track in one file (Track 1.wav) and so on, just to try it. Very simple...
*


When ripping to individual files, EAC (as mentioned above and the justification for Tangerine doing it this way) does not include the pregrap of track 1 (unless you append the pregap to the beggining of each track instead of the end which is default). This has nothing to do with the way the cue sheet is formatted.
Synthetic Soul
@Tangerine

I've hit a bug.

Using the command:

wavsplit.exe --c "E:\Testing\CDImage.cue" --s "E:\Testing\CDImage.wav" --d "E:\Testing\The Creatures\Standing There (Single)\WavSplit" --rn LAME --preset 128 @tn@.wav @tn@.mp3

The WAV was split correctly, but an eror occurred with the LAME command as below:

Running command: LAME --preset 128 "E:\Testing\The Creatures\Standing There (Sin
gle)\WavSplit\01.wav "E:\Testing\The Creatures\Standing There (Single)\WavSplit\
01.mp3


As you can see, the quotes are missing from the right-hand side of both paths.

I get the same result if I use:

wavsplit.exe --c "E:\Testing\CDImage.cue" --s "E:\Testing\CDImage.wav" --d "E:\Testing\The Creatures\Standing There (Single)\WavSplit" --rn LAME --preset 128 "@tn@.wav" "@tn@.mp3"

If I look at the source I can kind of see what's happening. Line 287 is replacing @tn@ with the file name excluding the extension. However, if the path has spaces the file name it grabs would be "<path><filename>.<ext>", so it's actually getting "<path><filename>. - so @tn@.wav will be converted to "E:\Testing\The Creatures\Standing There (Single)\WavSplit\01.wav.

Wavsplit needs to check whether the filename is surrounded by quotes first, and if so make sure it sticks one on the end again. Or something smile.gif

Please! biggrin.gif
k.eight.a
QUOTE (ponchorage @ Nov 9 2004, 08:29 AM)
When ripping to individual files, EAC (as mentioned above and the justification for Tangerine doing it this way) does not include the pregrap of track 1 (unless you append the pregap to the beggining of each track instead of the end which is default). This has nothing to do with the way the cue sheet is formatted.
*


Sorry but it has! You can extract the first song separate with the option append gap to the next track and the remaining song with append track to the previous track. Or just use copy range when it is required (eg. pregap before and after the first song). I don't see any problem with just doing a little "manual" work... I think you all are too much demanding... As I said above it's very, very simple to adjust it just like you want it...
Tangerine
Thank for the testing.

I eliminated (I hope) the bug that Synthetic Soul found.
I have also added two more options:

--k = (Keep the pregap of first track) will not discard the pregap of first track(means simply setting the start position of the first track to the beginning of the source wav, and copying data to the 2nd 'INDEX 01')
Using this option 01.wav will consist of pregap of track1 + track1 + pregap of track2

and the formula mentioned above will sure be true:

sizeof(cdimage)-44 = sizeof(track1+...+trackN)-N*44

The other option is: --n = append pregap to the Next track (not to te previous as the default)

Please anybody download and test it.
Synthetic Soul
I can confirm that the quote problem has been solved. Thank you.


Also, I did a little more testing last night on the WAV files created, and each one was bit-identical to those created by Foobar.


Thanks again Tangerine.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.