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: EAC FLAC Compression Error (Read 11764 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

EAC FLAC Compression Error


I am having issues trying to rip to FLAC using EAC.

In the Compression Options, I have "Use external program for compression" enabled, "User Defined Encoder" for the parameter passing scheme, and ".flac" for the file extension.

"Program, including path, used for compression":
C:\Program Files (x86)\Exact Audio Copy\Flac\flac.exe

"Additional command-line options":
-8 -V -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "TRACKNUMBER=%tracknr%" -T "TOTALTRACKS=%numtracks%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "GENRE=%genre%" -T "ALBUMARTIST=%albuminterpret%" -T "ALBUM ARTIST=%albuminterpret%" -T "BAND=%albuminterpret%" -T "COMPOSER=%composer%" -T "COMMENT="CRC: %TRACKCRC%" %haslyrics%--tag-from-file=LYRICS="%lyricsfile%"%haslyrics% %hascover%--picture="%coverfile%"%hascover% %source% -o %dest%


Upon compression of the first track, the following error message was returned:



The external compressor returned an error!

Options : -8 -V -T "ARTIST=Bell Boys Music" -T "TITLE=11ish" -T "ALBUM=The Jean Hagen EP" -T "DATE=" -T "TRACKNUMBER=01" -T "TOTALTRACKS=5" -T "DISCNUMBER=1" -T "TOTALDISCS=1" -T "GENRE=" -T "ALBUMARTIST=" -T "ALBUM ARTIST=" -T "BAND=" -T "COMPOSER=" -T "COMMENT="CRC: B2EA68ED"  "Btmp556)!.wav" -o "Btmp556)!.flac"

File : C:\Users\JoAnne\Music\CDs\Other CDs\The Jean Hagen EP\Bell Boys Music - The Jean Hagen EP - 01. 11ish.wav



....Can someone smarter than me please tell me what I'm doing wrong?  I appreciate it!

EAC FLAC Compression Error

Reply #1
....Can someone smarter than me please tell me what I'm doing wrong?  I appreciate it!


Looks like maybe some mismatched quotes in there around the CRC comment

EAC FLAC Compression Error

Reply #2
Yep, you have a few different issues with that commandline (which I'm guessing is coming from the wiki).
  • You should use "COMMENT=CRC: %TRACKCRC%" instead.
  • You don't need both ALBUMARTIST and ALBUM ARTIST.  It should use the %albumartist% tag instead.
  • COMPOSER tag should use %albumcomposer%, not %composer%.
  • The lyrics section should read %haslyrics%--tag-from-file="LYRICS=%lyricsfile%"%haslyrics%.
  • -o %dest% is unnecessary.


Or, you can try this commandline instead, which I know works with EAC as it's what I use:
%ishigh%-V -p -l 12 -b 4096 -m -e -r 8%ishigh%%islow%-5%islow% --replay-gain -T "ARTIST=%artist%" -T "ALBUM=%albumtitle%" -T "TITLE=%title%" -T "DATE=%year%" -T "TRACKNUMBER=%tracknr%" -T "GENRE=%genre%" -T "ENSEMBLE=%albuminterpret%" -T "ALBUMARTIST=%albumartist%" -T "COMPOSER=%albumcomposer%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "TOTALTRACKS=%numtracks%" -T "SOURCEMEDIA=CD" -T "COMMENT=%comment%" %hascover%-T "PICTURE=%coverfile%"%hascover% %source%
(This commandline gives you compression settings that are stronger than -8 but still fully compliant.  It also gives you the -5 option if you switch to "Low Quality".  You could remove the --replay-gain and probably a few others.)

EAC FLAC Compression Error

Reply #3
(This commandline gives you compression settings that are stronger than -8 but still fully compliant.  It also gives you the -5 option if you switch to "Low Quality".  You could remove the --replay-gain and probably a few others.)


Please don't give someone who may not know any better the impression that there's any difference in encoding _quality_ between -8 (or "stronger") and any other FLAC _compression_ level. The quality is the same. And you might point out that the difference in these convoluted "high" compression settings and the default level of -5 is usually less than 1 or 2% of additional compression.

EAC FLAC Compression Error

Reply #4
Please don't give someone who may not know any better the impression that there's any difference in encoding _quality_ between -8 (or "stronger") and any other FLAC _compression_ level. The quality is the same. And you might point out that the difference in these convoluted "high" compression settings and the default level of -5 is usually less than 1 or 2% of additional compression.

Respectfully, I don't believe I was giving that impression.  "Higher quality" means better encoding quality for lossy codecs, and either better compression or faster encode/decode for lossless codecs.  Anyone who understands the value of FLAC over, say, MP3, and can also use such a complex commandline in EAC, is very likely to understand that as well.

Besides, I had to give him the commandline I use verbatim, in order to guarantee that it would work.

Finally, I see no harm whatsoever in exposing a new user to more advanced options in FLAC.  If they are interested in them, they are encouraged to read about them in the freely available FLAC documentation, or ask questions on these forums, and then try them out. They can then decide for themselves if the additional settings represent better "quality".  If they are not interested in the additional settings, they are certainly welcome to ignore those settings.

That said, I agree a comment that the "strongest possible compliant" settings I provided only give (on average) 3% better compression than -5, and increase decode time, would have been warranted.

EAC FLAC Compression Error

Reply #5
.... and either better compression or faster encode/decode for lossless codecs.

It's still nothing to do with quality - more compression is more compression and encoding / decoding speed is encoding / decoding speed - neither changes the quality.
lossyWAV -q X -a 4 -s h -A --feedback 2 --limit 15848 --scale 0.5 | FLAC -5 -e -p -b 512 -P=4096 -S- (having set foobar to output 24-bit PCM; scaling by 0.5 gives the ANS headroom to work)

EAC FLAC Compression Error

Reply #6
.... and either better compression or faster encode/decode for lossless codecs.

It's still nothing to do with quality - more compression is more compression and encoding / decoding speed is encoding / decoding speed - neither changes the quality.

My point is that any lossless codec gives 100% quality on any commandline setting, in terms of encode accuracy and transparency, if it is behaving correctly.  For that reason, the only meaningful "quality" measurements on a lossless codec are compression and encode/decode time.

EAC FLAC Compression Error

Reply #7
For that reason, the only meaningful "quality" measurements on a lossless codec are compression and encode/decode time.

You are confusing performance with quality.
lossyWAV -q X -a 4 -s h -A --feedback 2 --limit 15848 --scale 0.5 | FLAC -5 -e -p -b 512 -P=4096 -S- (having set foobar to output 24-bit PCM; scaling by 0.5 gives the ANS headroom to work)

EAC FLAC Compression Error

Reply #8
For that reason, the only meaningful "quality" measurements on a lossless codec are compression and encode/decode time.

You are confusing performance with quality.

Your distinction is academic.  I consider the performance of a lossless codec to be intrinsically tied to its quality, and vice versa.

...

Why are we even arguing this?  How does it help the OP?

EAC FLAC Compression Error

Reply #9
Quality refers to the audio, not speed or compression.

The distinction is important, not academic as you would contend, as lossy codecs use quality settings that affects the quality of the audio output. For a lossless codec using the term quality is misleading at best - lossless is lossless.
lossyWAV -q X -a 4 -s h -A --feedback 2 --limit 15848 --scale 0.5 | FLAC -5 -e -p -b 512 -P=4096 -S- (having set foobar to output 24-bit PCM; scaling by 0.5 gives the ANS headroom to work)

EAC FLAC Compression Error

Reply #10
My point is that any lossless codec gives 100% quality on any commandline setting, in terms of encode accuracy and transparency, if it is behaving correctly.  For that reason, the only meaningful "quality" measurements on a lossless codec are compression and encode/decode time.


For that reason, the only potentially meaningful quality measurements ... if any such exist?

EAC FLAC Compression Error

Reply #11
Quality refers to the audio, not speed or compression.

The distinction is important, not academic as you would contend, as lossy codecs use quality settings that affects the quality of the audio output. For a lossless codec using the term quality is misleading at best - lossless is lossless.

Aha!  I see now where the difference is in our discussion.  You see audio quality as a distinct factor from codec performance, while I see audio quality and codec performance both as factors that define the codec's quality--at least when it comes to lossless.  Honestly both approaches seem valid to me.

Similarly, I would consider compression ratios, encode/decode time, etc. as part of the overall "quality" view on a lossy codec.  (For example, an extremely accurate and compressed, but extremely slow to decode, lossy file would be a problem.)  But audio quality/transparency would of course by far be the most important factor.



EDIT: Anyway, to get back on topic...OP, have we helped you?

EAC FLAC Compression Error

Reply #12
Yes!  The issue must have been caused by that stray quotation mark in the COMMENT tag that my untrained eye couldn't spot.  Removing it fixed the problem.

I wish I had checked back here before the argument progressed so far...  I do understand that with FLAC there is no difference in audio quality for any compression options you use, and that BFG is just utilizing EAC's allowance for the use of two different sets of commands depending on the user's choice between the built-in "High quality" and "Low quality" compression options in EAC.  It probably would have confused me in the past before I studied-up on the way EAC works.  It is important to distinguish between audio quality and degree of lossless compression for someone new to the subject, but I understand why BFG refers to "degree of lossless compression" in terms of "quality".

Would you be able to summarize the difference between "-8" and "-p -l 12 -b 4096 -m -e -r 8"?  The FLAC documentation is a bit more technical than I care to struggle with at the moment.  How much of an improvement in compression do those options provide over "-8"?
(NOTE:  The FLAC documentation says "-8" is "Synonymous with -l 12 -b 4096 -m -e -r 6".)

I also happened to see that FLAC has an option "--best", described in the FLAC documentation as "Highest compression. Currently synonymous with -8".  That statement seems to suggest that "-8" really is the highest possible compression.  I'm just wondering if that's not exactly right.

I'm almost considering using "-8" anyway just so that my future self isn't confused by the complexity of my FLAC arguments, if the compression difference is miniscule, or if it would save substantially on encoding time.


About BFG's other recommended changes to my FLAC arguments:

My FLAC arguments are based largely on EAC's default FLAC arguments.  In its default arguments, EAC includes an "ALBUMARTIST" tag.  In response to one of my previous posts, someone recommended that I add an "ALBUM ARTIST" tag (with a space) because that is what foobar2000 will read.  I then found this handy page here: http://wiki.hydrogenaudio.org/index.php?ti...ID3_Tag_Mapping

So for use with foobar2000, BFG is correct -- there is no need for an "ALBUMARTIST" tag (without a space).  However, I was wondering if there is possibly some other player(s) that utilitze an "ALBUMARTIST" tag.  I thought maybe I would leave it, just to be safe.  Can anyone comment on this?  I'll delete it if it's totally useless.

As far as "COMPOSER" being %albumcomposer% instead of %composer%, what if there are multiple composers on a CD and I want each track to be tagged with the correct composer?  Or is the album composer field more likely to be filled in when I download the metadata from an online database?  (I'm not experienced enough with ripping and tagging to know what I want here.)  EAC's default FLAC arguments use %composer%.

I see the reasoning for using %albumartist% for ALBUM ARTIST instead of %albuminterpret%.  %albuminterpret% was EAC's default argument.  Again, which field is more likely to be filled in correctly / filled in at all when I download metadata?  Do most people just fill in the same data for ALBUM ARTIST and BAND?
According to that foobar2000 ID3 Tag Mapping wiki, it seems like ALBUM ARTIST was intended as a replacement for BAND (though I don't really understand what I'm reading; I don't know anything about ID3 "frames").  So maybe I should use "ALBUM ARTIST=%albuminterpret%" and completely do away with "BAND=%albuminterpret%", unless the BAND tag is used by other players.  ?

About the "LYRICS" tag:  I think BFG must be correct about the quote being in the wrong spot, after comparing the syntax to the other tags.  I'm pretty sure that the way I had it matches EAC's default arguments (I even double-checked the "EAC and FLAC" wiki and the quote is in the wrong spot there, too), which leads me to think the author of EAC made a typo.  I am wondering, though, because it appears that foobar2000 does not make use of a "LYRICS" tag anyway, so maybe the author of EAC just intended for the tag to be solely the text of the lyrics without "LYRICS=" at the front.  But if that is the case, why did he even put "LYRICS=" in there at all?

What programs actually make use of a "LYRICS" tag?

For foobar2000, should I use the "UNSYNCED LYRICS" tag instead?  The description in the foobar ID3 tag wiki: "Unsynchronised lyric/text transcription".  I don't know what "unsynchronised" means here.

About "-o %dest%":  Is the purpose of "-o %dest%" just to allow the user to force a different output filename somehow through EAC?  I probably don't need that, since the temporary WAV files created by EAC during rips should already be named according to my specified naming scheme, but maybe I should leave "-o %dest%" anyway for added EAC functionality?


A lot to think about there!  I greedily await your responses.

EAC FLAC Compression Error

Reply #13
Several questions

Heh, I'm glad I didn't end up confusing you, though upon reflection I think the others are right - I could've ended up causing more harm than help with my initial response!


Anyway, to answer your questions:


-8 and --best are indeed the same thing.  The settings I suggested are identical to -8, except I add -p and -r 8.  (These are the strongest "non-lax" compression options possible, without messing with the -A setting...more on "lax" and -A later.)

The -p flag forces FLAC to do a complete LP coefficient search.  (LP = Linear Prediction, the stronger of two methods FLAC can use to generate the primary audio signal.  Forcing it to do an exhaustive search means that it must look at every possible coefficient and pick the one which results in the best compression.)  The -r flag, meanwhile, controls the residual/Rice partition function.  I think this controls the residual i.e. error signal (the difference between the primary, or LP, model, and the true original signal).  The higher the -r flag, the more separate blocks of data, and thus better compression, can be achieved.

It is possible, though, to exceed these compression settings.  First, --lax allows for up to -r 16, and perhaps some other stronger settings.  However, the resulting FLAC might not be streamable, or might not be playable on certain devices.  Different -A settings, meanwhile, might allow for better compression in some cases.  These would take a LOT of explaining though, and (especially since there's hundreds of possible -A settings!) aren't worth exploring in my opinion.

Finally, keep in mind that all of these settings provide diminishing returns versus the time needed to encode (and later decode) the track.  -r 8, for example, seems to only compress about 0.5% better than -r 6, and takes significantly longer.


Not sure about the ALBUMARTIST versus ALBUM ARTIST question.  I think that comes down to what tags are recognized in the player(s) you use most often.


It's up to you whether to use %composer% or %albumcomposer%.  It appears, however, that the "Composer" entry on EAC's main interface is %albumcomposer%.


I think %albuminterpret% was a mistake in EAC's default commandline for ALBUMARTIST.  I'd highly recommend using %albumartist%; that's what I use and I haven't had any problems with FreeDB or other metadata sources thus far.


LYRICS were added relatively recently in EAC's development.  I wouldn't be at all surprised if the author typoed that section of the commandline.  I'm not sure what programs, if any, use that tag, as it's not one I ever bother with.


I think -o %dest% is left over from earlier versions of FLAC.  It isn't needed with the current version.  And there's no way - that I'm aware of - to specify a different output directory than the one available on the Directories tab.



Hope that helps.

EAC FLAC Compression Error

Reply #14
That does help, thank you.

I tested "-p -l 12 -b 4096 -m -e -r 8" and "-8" on the same track and found "-p -l 12 -b 4096 -m -e -r 8" to take approximately 5 times longer to encode, though still not an unreasonable amount of time.  I don't buy music very frequently, so if I only did this for new albums it would be all right.  However, I still have a collection of CDs to rip and it might be nice to have it go more quickly, and storage space is not really an issue.  ....Really, I just want to give in to my vague discomfort about using specific commands that I don't fully understand (though your descriptions were very good!) and my desire to have a simpler command line that won't look too cryptic when I set up EAC in the future.

UPDATE:  Before submitting this post, I re-ripped/compressed that same track to compare not just encoding time, but also the difference in output file size, and I actually found that -8 yielded a smaller file size than "-p -l 12 -b 4096 -m -e -r 8".  This is not what I was expecting to see.  Maybe the results vary from track to track.  This was a fairly short track (1 minute and 43 seconds).  But this result makes me even more inclined to use -8.  I would be interested in anyone else's test results.

Unless someone else comes up with a reason for specifying an ALBUMARTIST tag in addition to an ALBUM ARTIST tag,  I hereby remove ALBUMARTIST from my FLAC arguments.

I just looked more closely at the tagging boxes near the top of EAC's main interface.  I see "CD Composer" can be edited there, whereas "Composer" can be edited in the info for each track.  I happen to have a CD in the drive right now that has 2 composers for the first track and just one for the rest, so if I were to pick whether I wanted the COMPOSER tag to be the track composer or album composer, I would go with track composer to be more specific/accurate.  Though often on CDs there is only one composer, and it would be handy to be able to use the "CD Composer" box when you need to edit the metadata yourself and don't want to type/paste the same composer's name for each track.  I just care more about preserving the specific data for each track.

From what I read, %albuminterpret% uses the data from the "CD Performer" box in EAC's main interface; however, the online database left the "CD Peformer" box blank for the CD I currently have in the drive, putting the performers' name in the "CD Artist" field instead.  That and the fact that BFG has never had any tagging issues when using %albumartist% in conjunction with metadata databases makes me inclined to use %albumartist% instead of %albuminterpret%, as he suggested.  So I will do that unless someone else can provide a reason not to. 

I will just delete the BAND tag if there is no use for it.  ALBUM ARTIST seems like more inclusive terminology anyway, since not every performer is in a "band".

I'll assume the odd quotation mark placement in the LYRICS tag was a typo on the part of the author of EAC unless someone can provide information to the contrary.

After reading the FLAC documentation, I think -o is for specifying an output filename (excluding extension) that is different from the input filename (excluding extension).  But I can't think of any reason why this would be necessary since EAC ultimately names the output files according to my naming scheme (and I can't even find any way to specify %dest% directly in EAC, unless EAC just inserts the name defined by my naming scheme).  So if "-o %dest%" is not necessary for the functioning of EAC, I might as well delete it.


So the only things I'm still wondering, for anyone who can answer, are:
--  Do any current players or other software make use of "BAND", "ALBUMARTIST" (no space), or "LYRICS" FLAC tags?
--  What exactly is the "UNSYNCED LYRICS" tag used for in foobar2000?


Here are my updated FLAC arguments:

-8 -V %source% -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "TRACKNUMBER=%tracknr%" -T "TOTALTRACKS=%numtracks%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "GENRE=%genre%" -T "ALBUM ARTIST=%albumartist%" -T "COMPOSER=%composer%" -T "COMMENT=CRC: %trackcrc%" %haslyrics%--tag-from-file="LYRICS=%lyricsfile%"%haslyrics% %hascover%--picture="%coverfile%"%hascover%


Thanks for all the feedback, BFG!!

EAC FLAC Compression Error

Reply #15
I thought ALBUMARTIST was more universally accepted, and that ALBUM ARTIST was somewhat unique to foobar2000. I don't use foobar2000, so don't know if that's still true. Perhaps that's the reason why someone would use both fields with the same data.

Do you want to embed album art in your files? I find working with non-embedded covers to be easier. If you later want to change a cover image or replace it with one of better quality, all you do is toss a new file into the folder.

I don't think I've ever found or seen a use for TOTALTRACKS or TOTALDISCS. Doesn't hurt to have them, but it's just one more thing to worry about when you're proofreading metadata before doing a rip.

Why store CRCs in comments? Does that have some particular use?

EAC FLAC Compression Error

Reply #16

Thanks, JJZolx.  Maybe I should throw ALBUMARTIST back in, just to be safe.

I saw the CRC thing in someone's arguments somewhere and added it to mine.  I figured it must just be there as evidence that the track was ripped accurately (if the CRC is correct), but I couldn't say for sure.

I guess I don't necessarily want album art embedded in each track.  I was just now scanning and experimenting with some album art, and if I tag it to each track it will take up a lot of space.  And, like you said, it might be a pain to swap it out later...  Plus, I don't want to feel pressured to scan/crop/tweak the album art every time I want to rip a CD in EAC (though I'm sure there are other programs that I could use to easily embed the album art later).

So if I can just store one copy of the album art with the ripped tracks, that would be great.  Will foobar2000 and other players automatically look for album art in the folder where the tracks are located?  (I suppose I can just test it with foobar and see.)

I guess I will leave the album art tag in the arguments but NOT utilize it (as long as I can simply put the album art in the folder with the ripped tracks) and just leave the arguments there so that I have the option of embedding album art via EAC.  I just won't import album art into EAC unless I specifically want it embedded for some reason.

EAC FLAC Compression Error

Reply #17

Actually, I just discovered that the CTDB plugin in EAC makes it easy to obtain album art when using CTDB for obtaining metadata, and I will probably utilize this feature instead of scanning my own album art.  EAC is set to automatically put a copy of the album art in the folder with the ripped tracks, so I will probably utilize this feature.  But since I no longer want album art embedded in each ripped track, I have removed those commands from my FLAC arguments.

Here are my current (and hopefully final) FLAC arguments:

-8 -V %source% -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "TRACKNUMBER=%tracknr%" -T "TOTALTRACKS=%numtracks%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "GENRE=%genre%" -T "ALBUM ARTIST=%albumartist%" -T "ALBUMARTIST=%albumartist%" -T "COMPOSER=%composer%" -T "COMMENT=CRC: %trackcrc%" %haslyrics%--tag-from-file="LYRICS=%lyricsfile%"%haslyrics%