HydrogenAudio

Lossless Audio Compression => FLAC => Topic started by: pinkfloydeffect on 2012-03-24 22:41:58

Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pinkfloydeffect on 2012-03-24 22:41:58
I have some audio FLAC CDs in single track format with a CUE file. I read the best way to split up the tracks is with CUETools, but I don't know which audio output (encoder?) to use. There are four options:

libFlake, libFLAC, flake & FLACCL

Can anyone explain what the difference(s) are please?

Thanks!
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pablogm123 on 2012-03-25 02:19:28
Check these links:

www.cuetools.net/wiki/CUETools_FLAC_encoders_comparison
www.cuetools.net/wiki/FLACCL

libFLAC is the standard encoder and the one you should stick with if compatibiliy is the main issue. However, alternative encoders can encoder faster (Specifically FLACCL if you own a proper graphic card) than libFLAC, and apply more aggresive compression levels. However, more aggresive compression levels may broke compatibilty with hardware implementations, as warned in previous links.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Porcus on 2012-03-25 02:25:54
libFlake, libFLAC, flake & FLACCL

Can anyone explain what the difference(s) are please?


The safe advise is to use libFLAC/FLAC unless you know what you are doing, or feel like experimenting. FLAC/libFLAC is the reference tool, the official release from the creators of the format.

The 'lib' only makes the difference between a windows library (.dll) and a windows executable (.exe). The reason for offering a choice between the two, is that the user might want to keep just one version and direct everything to that one, rather than having to do multiple upgrades if and when that is due. Flake/libFlake is an alternative implementation of the FLAC format. Don't remember whether it supports all features.
FLACCL requires a CUDA graphics card. http://www.cuetools.net/wiki/FLACCL (http://www.cuetools.net/wiki/FLACCL)
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pinkfloydeffect on 2012-03-25 02:40:19
Thanks guys! I'm not worried about speed I have a fast computer I'm worried about compression  I'm an audiophile quality freak, 0% compression thank you!
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Kohlrabi on 2012-03-25 03:12:22
I'm worried about compression

0% compression thank you!

You're contradicting yourself here. Apparently you don't care about compression at all?
Keep in mind that FLAC is a lossless (http://wiki.hydrogenaudio.org/index.php?title=Lossless&oldid=23116) format, so you don't lose any information, but "gain" (or lose less) disk space due to compression. Think of it like a zip file.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pinkfloydeffect on 2012-03-25 04:06:00
Wait...so my FLAC audio player extracts the song from the FLAC file before it's played?
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: GenjuroXL on 2012-03-25 09:20:33
Wait...so my FLAC audio player extracts the song from the FLAC file before it's played?

Yup. A process also known as "Decoding". And keep in mind the FLAC file _is_ the song, just in a compressed format that decodes straight to the original data you fed it in the first place. It's called "lossless" for a reason.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: lvqcl on 2012-03-25 10:34:19
Wait...so my FLAC audio player extracts the song from the FLAC file before it's played?

in time of playing, not before.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pablogm123 on 2012-03-25 10:55:48
I own a very ancient PC (A secondary retro PC I built), which has a Pentium III Coppermine, 1 GHz. I use this PC to play FLAC music, mainly. I don't notice any difference between 0, 5 and 8 modes in decoding-playing.

FLAC is a asymmetric algorithm: Encode relatively slow, decode very fast.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pinkfloydeffect on 2012-03-25 17:55:13
I see I see, is this why when I open FLAC files in VLC the first few seconds of the song are cut off sometimes? If you REplay it the first few seconds will be there, and foobar seems to "fade" the first few seconds.

Thanks!
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pinkfloydeffect on 2012-03-25 22:28:34
ALSO, the bar above "Go' that says 0-8 is that compression/quality/priority? Best quality 0 or 8? lol
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Dario on 2012-03-25 22:38:49
I see I see, is this why when I open FLAC files in VLC the first few seconds of the song are cut off sometimes? If you REplay it the first few seconds will be there, and foobar seems to "fade" the first few seconds.

No audio codec should ever cause such behaviour. FLAC is one of the most mature codecs out there (as are fb2k and VLC in their respective departments), so it's definitely you doing something wrong.

I really suggest that you search a bit regarding how codecs work.

ALSO, the bar above "Go' that says 0-8 is that compression/quality/priority? Best quality 0 or 8? lol

It's the level of compression. Higher values result in higher compression (lower file size), but slower encoding speed.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pinkfloydeffect on 2012-03-25 22:50:15
Thanks! So either way it's not about quality it's about compression I understand now, so with that being said, my library of FLAC "tracks" (non CUE) could all technically be opened and the tracks/FLAC files re-written in level 8 compression mode with no quality loss of "re-compressing" ?? Sounds worth my time to me if so!
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: tpijag on 2012-03-25 22:57:27
once again, lossless is lossless. Before getting too excited do one track. Size reduction might not be worth it to you. Many consider level 4 or 5 to be a good mix of size vs the length of time it takes to encode. Time required to compress greater than this can be long. YMMV
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pablogm123 on 2012-03-25 23:17:49
Quote
"and foobar seems to "fade" the first few seconds."


Check Playback/Output options in Foobar. Then, you can tweak Fading options.

In my modest opinion, if you have a (Relatively) modern CPU (Dual-Core or multi-core: Core 2 Duo/Quad, Athlon X2, Core i7, Phenom II...) you always can use -8 mode without any issue. However, in older single-core CPU -8 mode takes a lot of time (Twice the required for -5 mode, more or less), and only compress a little bit more than -5 mode.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pinkfloydeffect on 2012-03-25 23:35:19
It seems to run pretty fast in level 8 for me, I have an Athlon64 X2 @ 3.2Ghz and 4gb of ram....not the best but certainly not outdated.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pablogm123 on 2012-03-25 23:47:42
You can get better perfomance if you use a converter capable of multithreading (i.e, runs one instance for each physical CPU/core). Foobar, for example.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Porcus on 2012-03-26 07:24:17
and the tracks/FLAC files re-written in level 8 compression mode with no quality loss of "re-compressing" ??

Yes, but you should do a backup. If there is an error while overwriting, your file could be damaged.

If you want to recompress, then a good advise would be to (I) make sure the backup is synced first, (II) convert from set #1 to set #2, (III) when done, use e.g. foobar's bit-compare to verify that they contain the same audio signal.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pinkfloydeffect on 2012-03-27 04:57:42
Thank You
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Chinch on 2012-03-27 11:08:57
Exactly. So here is to sum up what everyone has said about your questions:

1. Compression has nothing to do with audio quality in a FLAC file or any lossless file format like it does with a lossy format such as MP3/AAC (aka M4A). Whether you use level 0, or level 8... the output (whether decoded in real-time as you are listening to the music, or decoding it back to a WAV file, etc) will be exactly the same. Compression ONLY has to do with two factors... a) the amount of hard drive space the encoded FLAC file will take up (if you would like to save as much HD space as possible, then always choose level 8) and b) how much resources will be consumed, most often considered are the playback/real-time resource usage, since the greater the compression of the FLAC file, the more CPU/memory it is likely to use when you are PLAYING that file. When you are decoding to a WAV file... it's likely your hard drive is the bottleneck rather than the CPU. Same goes for real-time decoding -- if your system has trouble decoding audio to the point where it can't keep up with decoding 1 (listening) second of audio before your audio player is ready to play that second or those fractions of a second, then it's time to upgrade. If your machine is fast like you said, then I personally recommend using compression level 8, the max in the reference or "official" FLAC encoder.

2. Once again, they mentioned that FLAC is a lossless format... and you're not going to do anything to make it LOSSY unless you're converting from a LOSSY SOURCE such as MP3's or AAC files. As long as you're encoding from another lossless format, such as Apple Lossless (ALAC) or WAV... which is the uncompressed form of the lossless audio, you will suffer no quality loss. Even decoding a FLAC file to a WAV file, then back to a FLAC file with greater compression will not cause audio loss.

There is a super simple way to prove this. If you know how to create a checksum or a checksum file (such as a SFV, MD5 or SHA-1 file/file hash) then grab a WAV file, get make a checksum of it, then encode the WAV to FLAC using any compression level you want. Now delete the original WAV file. Decode the FLAC file right back to WAV (thus re-creating the original WAV file... which should be identical. Check the newly decoded WAV file with the original WAV file's checksum value. It should match. I'm not going to go into super detail about anything that could cause them not to match but still be the same audio data... because they're rare cases, and they're the exception rather than the rule. Also, each FLAC file, once encoded, has a built-in MD5 "fingerprint" or checksum value. This is calculated considering ONLY the decoded/original audio stream, and EXCLUDES metadata (tags, embedded art, etc) or any other non-audio data. Therefore, you can change the file's tags, etc and even re-encode it, and this MD5 should remain the same.

So here's my proof process. I open up foobar2000, load up a random FLAC file. Then I go to the file's properties, and take a screenshot of it. A few very important values to note. 1) filesize 2) total length (or more importantly, total SAMPLES) 3) MD5 checksum of the audio

Before screenshot, I have no idea what compression was used on this file, etc... it doesn't matter. This is the file's properties, still in FLAC format, the way I found it:



Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Porcus on 2012-03-27 11:31:26
the greater the compression of the FLAC file, the more CPU/memory it is likely to use when you are PLAYING that file.


Nope, FLAC decodes at practically the same speed regardless of compression level (and it is very fast). If you look at http://flac.sourceforge.net/comparison_all_procdectime.html (http://flac.sourceforge.net/comparison_all_procdectime.html) , the differences are miniscule, and it isn't even so that better compression takes longer time.

TAK and WavPack are fairly close to the same behaviour.


As for checking lossiness, it is easier to use foobar2000's bit comparator than md5ing files (which could fail due to headers and tags and whatnot ... actually, fb2k's bit comparator might at worst give miniscule differences due to roundoff errors on mp3 files, but you will usually not use it for those cases anyway).


Quote
-V or VERIFY switch/parameter... which encodes a bit of audio, then immediately turns back around and decodes it... then compares it to the source file (either in memory still or on disk)

I agree on that.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Chinch on 2012-03-27 17:40:50
the greater the compression of the FLAC file, the more CPU/memory it is likely to use when you are PLAYING that file.

Nope, FLAC decodes at practically the same speed regardless of compression level (and it is very fast). If you look at http://flac.sourceforge.net/comparison_all_procdectime.html (http://flac.sourceforge.net/comparison_all_procdectime.html) , the differences are miniscule, and it isn't even so that better compression takes longer time.

I'll have to look at your charts a bit later, but to say such a thing would make one ask "if it isn't even so that better compression takes a longer time", then why would the option even exist to compress at the lower levels? If they were identical, it'd be level 8 and that's it... the others would be superfluous. Not to mention it breaks some of the basic accepted laws of computer science and mathematics, such as the time-memory tradeoff-- which this is, essentially. You're trading encoding time for less memory usage (storage memory, specifically, hard drive space; not random access memory). Or the opposite scenario, you get a quicker result, but the tradeoff is more memory/storage space is used. I don't make this up, here's some reading... and it's one of the fundamental concepts behind the creation of rainbow tables and why they are so effective.
See: http://en.wikipedia.org/wiki/Space%E2%80%93time_tradeoff (http://en.wikipedia.org/wiki/Space%E2%80%93time_tradeoff)

As for checking lossiness, it is easier to use foobar2000's bit comparator than md5ing files (which could fail due to headers and tags and whatnot ... actually, fb2k's bit comparator might at worst give miniscule differences due to roundoff errors on mp3 files, but you will usually not use it for those cases anyway).

You must've not read through my post fully, here's a direct quote from it:

Quote
I used foobar2000's Binary Comparator (I can't recall if it is stock or an add-on, sorry)... but this compares the exact same thing... it disregards any NON-AUDIO data, and compares ONLY the audio within both files. I compared the original FLAC file, with the re-encoded (larger) FLAC output file, with the same results... identical files, no differences found:

All tracks decoded fine, no differences found.
Comparing:
FILE1.FLAC
FILE2.FLAC
No differences in decoded data found.

Also the internal FLAC MD5 files are reliable as comparisons, since they compare the UNCOMPRESSED audio stream in the FLAC file, disregarding all "headers and tags". It strictly uses uncompressed audio to calculate. This is stored in the STREAMINFO metadata block, which is required when creating a FLAC format file.

The quote directly from FLAC's developer pages: "Also included in the STREAMINFO block is the MD5 signature of the unencoded audio data. This is useful for checking an entire stream for transmission errors."
See: http://flac.sourceforge.net/documentation_...t_overview.html (http://flac.sourceforge.net/documentation_format_overview.html) under the first header section titled "METADATA".

Don't get the two topics confused-- I do not mean an MD5 created of the entire FLAC file. Simply changing a tag or some other tiny bit of information; any number of things will ruin that MD5 compare. I'm strictly referring to the *internal* MD5 checksum that is auto-generated by the encoder and stored in the STREAMINFO block of the file. You need not do a thing to create this other than to encode to FLAC. This will continue to match across compression levels, if tags are changed, etc -- because, again, it strictly uses the AUDIO STREAM data (the raw audio information, uncompressed) to create this. Thus why in my screenshots, you can see an unchanged MD5 checksum across two FLAC files using the same source WAV, but encoded/compressed at two different levels, even the results are two different file sizes to show the different compression levels used. Read the post again and you'll pick up a lot of this detail; I did mention it.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Porcus on 2012-03-27 20:31:13
I'll have to look at your charts a bit later, but to say such a thing would make one ask "if it isn't even so that better compression takes a longer time", then why would the option even exist


Sorry. To be clearer:
- better compression (smaller file) takes longer time to encode, yes.
- ... but not to decode. Not with FLAC, and not much with TAK or WavPack either (you might very well be constrained on drive speed on those).

(For the likes of Monkey's and OptimFrog, then there is a price for better compression payable every time you decode.)
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Chinch on 2012-03-27 21:26:46
I see, this is can meet more with you on. Definitely going to be more taxing encoding than decoding, surely... and this is going to be a subjective thing, as well... depending on each individual's CPU/memory/hard drive speed, etc. Let me run a quick test. It's going to be a rough one, but an estimated one. I'm curious myself...

Yow. That was so fast it was literally negligible.


Test source (the only CD I could think off immediately that actually fills the entire CD? TOOL - Lateralus).
Decode FLAC -> WAV  took 16.1 seconds (Note: Original FLAC compression was LEVEL 8; I know, because I did it)
Decoded WAV is 01h:18m:56s, uncompressed file size is 796MB, single WAV file



You know what? I already know this is going to be a problem and it is going to demonstrate something important.

I was encoding back to FLAC, and noticed 0 and 8 were taking about the same amount of time. Now, I have a good enough machine to know that it's not being utilized to its potential, by far.

I watched the flac.exe encoder task run... and the CPU load never went above 15%. Now, I have an i7 quad-core with HT, so it shows up as 8 cores in task manager/apps. Then I realized that this reference build of FLAC encoder is dated 09/17/2007! That's a 5 year old compile! Then I realized more... of course it's not going to be multi-threaded, let alone optimized to utilize multiple CPU cores! I ran resource manager and highlighted the FLAC process... watched it... and the final results of the process at termination tell me all I really need to know.

Threads: 1, 32-bit app (of course)... it's likely not even compiled with simple optimized instruction extension sets like MMX/SSE/SSE2, etc...

In other words... the encoder is self-limiting. It's not multi-threaded, it's going to run on what would be seen as "half a core" out of 4 physical cores... and basically... that's as good as it's gonna get. The CPU limitation was actually the bottleneck (which is rarely the case in semi-current applications) vs. the HD. So it doesn't matter if I were to run this on a 12-core thread shredding, number crunching monster CPU... I'm gonna end up with the same encode time as I would with say... a piece of crap single core CPU like a Pentium.... lol... whatever came before the Core 2 Duo, I can't even remember the names... Pentium... Pentium Pro? That was like generation 5 of the x86 architecture chips (pent=5)... the Pro was generation 6 I think? Then the dual core chips could have been 7th gen? I'm making stuff up as I go at this point but case already solved and proven that the encode time will be no faster on a Dual core vs. this Quad core... or even on a single core vs. a dual core at the same speed.

This only gives more backup to what I said earlier -- if your computer can't handle realtime decoding of a FLAC file at any compression... it's time for you to upgrade your gear... cause you're hurtin. Conclusion: Not an issue.

And if this is the case, no wonder the encoding/decoding statistics gathered would not vary much from setting to setting! They're using the same amount of resources no matter what you set the compression to. So crank it up to 8, having said that. One of the test encoders that was starting to try and head that direction with the encoder, now that I am starting to recall... Flake, maybe it was? One of them had a benchmarking functionality built in or packaged with it to compare the encode/decode times and CPU demand amongst different compression settings, or maybe that encoder vs. the reference one.

All in all, the actual DECODE of the 800MB (nearly) CD was so fast that it finshed before I hit START on my stopwatch, LOL. So ONE SECOND or less to decode a LEVEL 8 compressed, FULL CD.

I haven't dabbled in programming to a deeper level in years, so I have no idea if there is any resolve to just an old, single threaded app... to make it .... it seems like I've heard of thread-slicing... I know I have... and while I don't know what the exact meaning is, if I had to infer... it would seem that it could take a single thread and distribute the workload across multiple cores (load-balance an otherwise single CPU focused application). Or, besides a recompile of the code with a newer compiler which would include the newest instruction sets for CPU's... etc... (which won't happen, at least officially) -- but alas, I forgot... FLAC is open source! Duh. Now I'm interested in looking at the code. (I was a programmer for years, but then again... I haven't programmed in years.... so I'm without a doubt rusty and not up to par with current technologies and practices)...

I'll come back to this... Let me do some more looking, some more researching... take a look at the source code. I'm not re-inventing the wheel... as it's been recoded as a multi-threaded encoder, and even in flaCUDA, it employs the very powerful GPU to make the encoder super efficient.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Porcus on 2012-03-27 22:40:07
I was encoding back to FLAC, and noticed 0 and 8 were taking about the same amount of time. Now, I have a good enough machine to know that it's not being utilized to its potential, by far.

I watched the flac.exe encoder task run... and the CPU load never went above 15%. Now, I have an i7 quad-core with HT, so it shows up as 8 cores in task manager/apps. Then I realized that this reference build of FLAC encoder is dated 09/17/2007! That's a 5 year old compile! Then I realized more... of course it's not going to be multi-threaded, let alone optimized to utilize multiple CPU cores!


Since you are a foobar2000 user, I am making the guess that you were converting from there.

If you have a look at Preferences --> Advanced --> Tools --> Converter, you will see an option to use multiple threads, and you will see an option to assign priority to conversion.

I believe the default values are as on my setup: autodetect # of threads, and set priority to 2, on a scale from 1 to 7. I guess that explains the 15 percent figure. Try to set priority to 7 and redo the experiment. (Maybe it even helps to set fb2k at high or realtime priority first.)

As far as I know, you are right that FLAC.exe itself does not support multithreading. However, fb2k will simply start one for each number of threads, although no more than the number of files to convert. That means that big jobs are about equally efficiently done as if FLAC itself had supported multithreading.


All in all, the actual DECODE of the 800MB (nearly) CD was so fast that it finshed before I hit START on my stopwatch, LOL.


fb2k has a decoding speed test: http://wiki.hydrogenaudio.org/index.php?ti...(foo_benchmark) (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Decoding_Speed_Test_(foo_benchmark))
You can choose whether to buffer the files in RAM in order not to be constrained by drive speed. My few-years old laptop with a Turion TL-56 (dualcore at 1.8 MHz), decodes from RAM at slightly less than 200x realtime, meaning that the actual playback is already down to half a percent of max CPU load. And the differences between FLAC -8, FLAC -0, TAK and WavPack are quite uninteresting ...
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pinkfloydeffect on 2012-03-28 03:38:07
Wow those are some lengthy detailed posts there Chinch haha

This talk about Foobars bit-compare, can it determine whether a FLAC file is true CDDA or not? I check all my FLAC files with AudioChecker 2.0 (build 457) it would be nice to eliminate that step / piece of software.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Chinch on 2012-03-28 04:56:20
Since you are a foobar2000 user, I am making the guess that you were converting from there.

Actually, when I encode from single WAV to FLAC, I usually do it in batch... and I simply use the Flac Frontend (the basic, generic one)... but even so, it still doesn't matter, as I just watched it again as I encoded from WAV to FLAC... and it took just as long as the other. Viewing the Resource Monitor, I saw FLAC.exe pop up once it started, and guess how many threads it was using? 1. The whole multi-thread option you're looking at will not bypass this limitation. What it *is* useful for is encoding multiple seperate tracks *in tandem* or in parallel, however you want to put it. So if I were encoding 10 WAV files to 10 FLAC files, then it'd likely fire off 4 to 8 copies of FLAC.exe, each core or HT handling its own track/thread. In doing this, the limitation can be surpassed, by simply executing several copies of the program at once and letting them run at the same time. That's what the threading is for there, I would have to assume.

If you have a look at Preferences --> Advanced --> Tools --> Converter, you will see an option to use multiple threads, and you will see an option to assign priority to conversion.

I actually already tried this earlier by using the START command, which you can use a priority switch to fire off a process... say... START /HIGH flac.exe blah.wav -8 or whatever. So I've already recreated that, and the priority doesn't affect the encode for any instances I have done.

I believe the default values are as on my setup: autodetect # of threads, and set priority to 2, on a scale from 1 to 7. I guess that explains the 15 percent figure. Try to set priority to 7 and redo the experiment. (Maybe it even helps to set fb2k at high or realtime priority first.)

Doesn't matter the priority of foobar.exe, since it opens the external FLAC.exe to do the encoding job. As I mentioned above, I have actually SET the priority via command line switches when starting up the actual FLAC.exe process, with no effect. You can look into the "start" command if you'd like, and its parameters... you will see the ability to set processsor affinity in there, but don't get confused, that is a RESTRICTION not an upgrade or whatever... you are telling it to run on "this" processor core ONLY.

As far as I know, you are right that FLAC.exe itself does not support multithreading. However, fb2k will simply start one for each number of threads, although no more than the number of files to convert. That means that big jobs are about equally efficiently done as if FLAC itself had supported multithreading.

I can finally agree with you here... I can empirically prove that it's not a multi-threaded process (flac.exe)... it's an old 32-bit DOS/command prompt/console based application, that like I was saying earlier... was compiled in 2007! A loooot has changed, hardware-wise and otherwise since 2007. It's definitely not optimally compiled for today's architectures.


fb2k has a decoding speed test: http://wiki.hydrogenaudio.org/index.php?ti...(foo_benchmark) (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Decoding_Speed_Test_(foo_benchmark))
You can choose whether to buffer the files in RAM in order not to be constrained by drive speed. My few-years old laptop with a Turion TL-56 (dualcore at 1.8 MHz), decodes from RAM at slightly less than 200x realtime, meaning that the actual playback is already down to half a percent of max CPU load. And the differences between FLAC -8, FLAC -0, TAK and WavPack are quite uninteresting ...


Yep, I already have this one. I've been using foobar for years and years... so any of the plugins like that and the Binary Comparator (which I use a lot) I'm very familiar with. Buffering to memory isn't that big of a deal to me, I run a 4 drive RAID 10 array, with Western Digital Black model drives (which smoke even as a single drive)... Just for your interest, here is the result I have:

Code: [Select]
Total length: 1:18:56.600
Info Read time: 0:00.000
Opening time: 0:00.313
Decoding time: 0:10.564
448.367x realtime


That's still using TOOL - Lateralus... which as you see is 01hr:18m:56s -- why can't other bands fill up a CD like TOOL always manages to? I get tired of paying so much for 25-30 minute albums, it's garbage. They used to call that an "EP"... now they call them "LP"s and then wonder why sales of their $22 1/2 an-hour CD are low. Write more than 3-5 songs... make them more than the traditional 2 minute punk track... then re-test the waters.

But uhm... yeah the speed difference is fractions of a second difference whether I buffer it to memory or not, so it's not important here... but I am running an insane amount of apps right now, to include THREE different browsers, (this one has about 25-30 tabs open, just itself)... plus an audio track I've been mixing in Audacity that's like 20 tracks thick because I'm in the midst of editing and bouncing, chopping and joining samples and clips.

Yeah, task manager says 166 processes running, and it doesn't count the individual tabs in Firefox and IE9 (though it does for Chrome, which I'm  using now)... and I'm currently using 9GB of memory. Running 64-bit OS, obviously...

Ah yes, and I also know all of the technicals of ripping and ripping properly.... if that's in question at any point, I'll be pro-active:

Code: [Select]
Track  Status
01     Accurately ripped, confidence: 200.
02     Accurately ripped, confidence: 200.
03     Accurately ripped, confidence: 200.
04     Accurately ripped, confidence: 200.
05     Accurately ripped, confidence: 200.
06     Accurately ripped, confidence: 200.
07     Accurately ripped, confidence: 200.
08     Accurately ripped, confidence: 200.
09     Accurately ripped, confidence: 200.
10     Accurately ripped, confidence: 200.
11     Accurately ripped, confidence: 200.
12     Accurately ripped, confidence: 200.
13     Accurately ripped, confidence: 200.


I'd say 200 matches in the AccurateRip database is sufficient enough to call it "dependable". (I believe 200 is the max matches ARv1 will return without setting it to verbose mode?)

And trust, my tagging is complete and I take great care in maintaining my digital audio collection. I have personally ripped all of my discs, properly... and tagged them with nearly every detail you can imagine, as you see here...

and... oh yeah as I said, I do EAC->IMAGE+CUE+LOG... CUE is embedded and artwork is embedded as well. Lyrics are in there... actually... I have the LYRICS tag used... which of course means yes, I have synchronized lyrics in the puppy even... I know it's not showing the "real" cover of the album. I put that one there, so kiss it... If you have the CD you'll know the "cover" is clear cellophane type material, in layers... which is a PITA to scan and then have to fix the scan colors and artifacts, etc... (my scanner is a older flatbed and sucks pretty much... it works though). It can scan things up to the resolution of my HOUSE, LOL... like WTF is that?!? Oh... that's a pixel. Taking up my entire 1080p display. Just... 1 pixel? Damn. I think I set the resolution up a bit too much cause the JPEG saved at 10% quality is 900MB. Now it's just one gigantic, house-sized 900MB DISCOLORED pixel. Ahhhh... hyperbole. I love it. Do me a favor though, after all of my efforts, Porcus... can you put your trust and faith in the idea that I actually do know what I'm talking about and doing, and I'm not a n00b?

It seems like... though mostly you're carrying on a discussion with me about these subjects... I've gotten the feeling that since your first response to me, you've been trying to prove me wrong or catch me making some stuff up, haha... like every time I counter-evidence your doubts, you come right back with more things for me to try and prove! I ain't mad'atcha... It's all cool, I just was being honest with you about how it seemed from this side of the fence.

I had a good time spankin' ya though on each comeback you had for me, LOL. It's all in good fun... but I think that's the last time I will be able to explain myself for tonight, my brain is about to shut down... need rest! So does this forum, I think. I have laid some textual abuse down on it today. Once you get me blabbing about this stuff, it's tough for me to STFU... but I'll zip it right here. Talk to you later, my friend...

Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Porcus on 2012-03-29 08:24:48
Re your concern about a newer FLAC build; I knew I had seen one, because I actually downloaded the build, but luckily someone awoke one of those threads:
http://www.hydrogenaudio.org/forums/index....showtopic=91668 (http://www.hydrogenaudio.org/forums/index.php?showtopic=91668)
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: pinkfloydeffect on 2012-03-29 23:23:09
Re your concern about a newer FLAC build; I knew I had seen one, because I actually downloaded the build, but luckily someone awoke one of those threads:
http://www.hydrogenaudio.org/forums/index....showtopic=91668 (http://www.hydrogenaudio.org/forums/index.php?showtopic=91668)


The speeds are such a minuscule difference it really doesn't matter to me I built my computer not to game but to keep my blood pressure down with patience and I have never ran out of patience or even close with anything FLAC related.

When you say newer FLAC build as in newer encoding/codec?
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Porcus on 2012-03-31 14:28:31
When you say newer FLAC build as in newer encoding/codec?


It was a reply to a complaint that it was old and didn't utilize multithreading, and wanted to compile one for multithread support -- I poined out that someone had done the job. I hae no indication that it produces different files.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Elias Pies de Plomo on 2013-05-04 16:27:54
Hello guys, I've been reading your posts as I was worried about which encoder to use in CUETools. Please help me decide I'm not well versed on this issues as I only knew of flac files weeks ago. I only want to re-encode the single flac (or ape) files into flac tracks without silence between the songs to be played mainly on Winamp. I own a regular PC not good, not bad I don't care if the re-encoding takes more provided I don't mess it up. I've recently been using the 11 level of compression but I've just read somewhere else it's not reccomended. What's the most common option for somebody like me who know practically nothing? Sorry for the silly question but I haven't been able to deduce it from your posts. Thanks.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: belli on 2013-05-07 07:05:33
What's the most common option for somebody like me who know practically nothing?

Use libflac. I've had compatibility issues with the cuetools encoder, even at compression level 8 (e.g. seeking not working).
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Wombat on 2013-05-07 15:09:04
What's the most common option for somebody like me who know practically nothing?

Use libflac. I've had compatibility issues with the cuetools encoder, even at compression level 8 (e.g. seeking not working).

Can you be more specific? Do you mean libflake or flacCL or even the older flaCuda? I use the GPU encoders from day one and neither my hardware devices nor my software players have problems with -8 at seeking.
It will be interesting if you provide more info or samples.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: belli on 2013-05-07 21:21:46
What's the most common option for somebody like me who know practically nothing?

Use libflac. I've had compatibility issues with the cuetools encoder, even at compression level 8 (e.g. seeking not working).

Can you be more specific? Do you mean libflake or flacCL or even the older flaCuda? I use the GPU encoders from day one and neither my hardware devices nor my software players have problems with -8 at seeking.

Flake, what in 2.1.5 is now listed as 'cuetools'. The player is foobar2000. I've had several instances, where files gave seek errors (most do work though). Reencoding worked fine and the files were bit-perfect.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Wombat on 2013-05-07 21:36:30
Flake, what in 2.1.5 is now listed as 'cuetools'. The player is foobar2000. I've had several instances, where files gave seek errors (most do work though). Reencoding worked fine and the files were bit-perfect.

I mostly still use Winamp but sometimes foobar. I don´t have that problem, rercently using flacCL. Maybe Grigory may have an idea what is different with seeking against libflac.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: belli on 2013-05-08 08:17:48
Flake, what in 2.1.5 is now listed as 'cuetools'. The player is foobar2000. I've had several instances, where files gave seek errors (most do work though). Reencoding worked fine and the files were bit-perfect.

I mostly still use Winamp but sometimes foobar. I don´t have that problem, rercently using flacCL. Maybe Grigory may have an idea what is different with seeking against libflac.

I just tried to reproduce it, but with foobar 1.2.6 even level 11 is working for everything I tried.

Maybe the problem was/is not even related to the flac encoder. The seek table seems to be stored with the metadata, maybe foobar had problems with some metadata that was there, resulting in it not reading the seek table properly.

Unfortunately, I don't have any defective files lying around - everything was reencoded (and I did redo a lot of metadata).
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Gregory S. Chudov on 2013-05-09 04:06:46
Flake, what in 2.1.5 is now listed as 'cuetools'. The player is foobar2000. I've had several instances, where files gave seek errors (most do work though). Reencoding worked fine and the files were bit-perfect.

Thank you, there was indeed a problem with seek table in 2.1.5 cuetools flac encoder. Fixed in latest build.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Wombat on 2013-05-09 15:19:59
I also tried latest 2.1.5 because i am still with 2.1.2 in favour of its Tag handling, i don´t like the Comment from the CUE is in my flac file Tag.
Strangely when using the flacCL codec from within CUEtools it gives me different filesizes as when i use the cmd executable. This was not the case with older versions. While trying what swiitch may differ i even was able to crash my Windows 7/64 the first time using a group-size of 64.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: Gregory S. Chudov on 2013-05-09 16:47:59
I think the difference in size is just padding. CUETools knows the approximate size of tags / cover art and calculates padding accordingly, so that it wouldn't normally have to rewrite the whole file.

There will likely be a separate option for comments tag in the final release.

Yes, be careful with low-level hardware settings for OpenCL
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: sune1974 on 2015-03-11 08:01:20
What audioplayer do you use for your FLAC-files? Your screenshot looks nice.
Title: What differences among CUETools outputs? libFlake/libFLAC/flake/FLACCL
Post by: larryfine on 2015-03-16 16:56:04
What audioplayer do you use for your FLAC-files? Your screenshot looks nice.


Maybe I wrong, but it is a very minimalistic but with a good album/pertrack info interface from foobar2000 : )