On the heels of my recent comparison of general-purpose data compressors, I bring you the results of far too much time spent hunched in front of a command line, calculating ratios.
The benchmark’s ostensible purpose, at least at first, was to compare four mainstream codecs—FLAC, Monkey’s Audio, WavPack, and OptimFROG—and see how their current stable versions stacked up with the version in development. I ended up throwing in a few others—TTA, LA, and Shorten—for comparative purposes. This test looked at Encoding Time and Compression Ratio; decoding speed was not tested.
If you don’t want to look at the raw data, I’ll save you the trouble of even clicking past the fold.
- FLAC
- FLAC has languished at v1.1.2 since February of 2005. It has the uncomfortable position of having reached an stable position in the world of lossless codecs, even garnering some hardware support. As a result, it can’t make any sweeping changes without breaking compatibility or hurting its (excellent) decoding speed.
- The result is that there have been some definite improvements in compression, though nothing that will blow anyone away. There appears to be an album-wide net loss of between 0.5 and 1.5%, enough to shave another few megabytes from the total size. The default compression (
-5) for 1.1.3b2 now compresses better than the maximum practical compression (-8) of 1.1.2. Of course, part of 1.1.3′s appeal is other features, like album art embedding, but that’s beyond the scope of my test. - WavPack
- WavPack has been around for a long time (it supposedly inspired Matt Ashland, the creator of Monkey’s Audio, to work on his own), but for some reason has always been underappreciated in the world of lossless compressors. I suppose that’s because it manages to fall somewhere in the middle of Monkey’s Audio and FLAC, not offering compression ratios as low as the former or decode speeds as high as the latter. Still, I was impressed that WavPack not only encoded faster than FLAC, but it got a better compression ratio, too—and it’s decoding speed is also very excellent.
- WavPack has two settings: default and
-h, or high. It also has a-x[1-6]switch that can possibly shave off a fraction of the size at the expense of a really long encode time. The tendency of 4.4a3 under the default setting was to take a few seconds longer to encode with the benefit of between 0.1% and 1.5% improvement in the compression. For the high setting, however, the encoding time was a few seconds quicker, but the ratio was always worse. - Monkeys Audio (APE)
- Monkey’s Audio has a storied history, part of which has to do with its laughable “open source” license, spurned by every Linux distribution I’ve ever seen. APE offers better compression than FLAC without drastically increased encoding times, but it’s particularly CPU-intensive for decoding, making it impractical for handhelds or DAPs.
- The change from 3.99 to 4.01b2 has been entirely in the GUI frontend. The encoding times weren’t different enough to be significant, and the sizes were exactly the same. My understanding, though, is that it’s been optimized for dual-core processors, so if you’ve got one, you’ll see a significantly faster encode time.
- OptimFROG
- OptimFROG is the only truly closed-source encoder in the primary four. It offers the best compression of them as well, but also long encode times and piss-poor playback speeds. It hasn’t gained very much traction except as a curiosity: its closed source nature prevents its use in Linux distros, and its intense resource usage means it will likely never be supported in hardware.
- The changes in OptimFROG between 4.520b1 (stable) and 4.600ex (testing) aren’t in the default encoding options. The
—highnewmode (the—bestnewmode took 100 minutes for the first album, so I very quickly decided to try the one below it), which increased encoding time for modest compression gains under 0.5%. - Others
- TrueAudio is another open-source format that’s languished in obscurity. It’s resolutely middle-of-the-road, offering decent compression and a fast speed. Unfortunately, that means it also gets shown up by the Best in Class codecs.
- Shorten was the very first of the serious lossless encoders, first showing up in 1993. It hasn’t gone anywhere in years, and even the organization most attached it to (the live music trading site, ETree, long ago replaced it with FLAC. It offers super-fast decoding speed, but the very worst compression.
- LA is another closed-source encoder with very slow encoding times (not quite as bad as OptimFROG) that repeatedly trounces every other codec available in terms of compression ratio. However, its high resource usage and closed nature make it impractical for just about everything but a curio. It also hasn’t seen any development in some time now.
To see the complete table, look below the fold.
