As storage space becomes cheaper, there’s a growing trend to save digital music files in a lossless format. Such lossless formats provide an exact replication of the audio quality found in the original content, usually on CD. The resulting files are also much larger, when compared to MP3 or AAC at 128kbps or 256kpbs. A favourite open source lossless audio codec is FLAC, which stands for Free Lossless Audio Codec. Within the possible FLAC settings there are 8 levels of compression to choose from when creating new files.
Lossless codec? Compression? Doesn’t compression result in loss of detail? Not always. There are many lossy codecs, both audio and video, that apply various compression techniques that actually discard some of the original material, to obtain smaller file sizes. The better the codec is at discarding items that don’t impare the listening or viewing experience, the more impressive the end result will be.
FLAC, being lossless, doesn’t discard any of the original content, but still applies compression techniques. View this like compressing a file with Gzip or Bzip perhaps. Smaller files are achieved, but when de-compressed nothing has been lost in the process. Perhaps think of it like folding a piece of paper. Fold it in half once, and the end result is smaller. Keep folding to produce smaller and smaller (or more highly compressed) paper packages. Unfold the paper, and you still have the same original piece of paper. Ignore fold lines and degradation over time! This doesn’t happen in the world of bits and bytes.
We decided to test which of the FLAC compression settings provided the best trade-off between final file size and encoding time. Higher compression will require more time, but should produce smaller file sizes.
Trying to mimic how we would actually go about ripping a whole CD, we decided to use the Ripit utility, and follow instructions posted on the Debian forum. Ripit is a great example of a truly useful utility where a fancy GUI is just not needed. Edit one simple configuration file, then type “ripit” at the command prompt and that’s almost all there is to it. There would be some overhead in using Ripit, as it checks the freedb.org database for each album’s details, but this should be minimal.
Grabbing the nearest un-ripped CD from the shelf, our test file will be U2’s Pride (In the Name of Love) from their Best of 1980-1990 album. This song is 3 minutes and 50 seconds long.
Our exact Ripit command was:
>time ripit 01
“Time” provides feedback on the elapsed time of the process. “01” tells Ripit to just rip the first track on the CD.
The test machine is a reasonably old Dell Inspiron 6400, which contains a Intel Core2 CPU T5500 @ 1.66GHz and 1GB of RAM.
Here are our results from the 8 different levels of compression
available in FLAC. If no compression level is specified, 5 will always
be the default.
Comression Quality: 0
Size: 30261367 bytes (28.86MB)
Compression Quality: 1
Size: 29643288 bytes (28.27MB)
Compression Quality: 2
Size: 29631732 bytes (28.26MB)
compression Quality: 3
Size: 28596473 bytes (27.27MB)
Compression Quality: 4
Size: 27717767 bytes (26.43MB)
Compression Quality: 5
Size: 27710285 bytes (26.43MB)
Comression Quality: 6
Size: 27710119 bytes (26.43MB)
Compression Quality: 7
Size: 27696835 bytes (26.41MB)
Compression Quality: 8
Size: 27664197 bytes (26.38MB)
Between Compression Quality 0 and Compression Quality 8, there’s approximately 13.5 second and 2.5MB difference. This might not seem like very much, but let’s expand these figures to account for an entire CD.
Assuming all tracks are approximately the same length (3:50) and that there are 12 tracks on the average CD, we have the following figures:
13.5 seconds x 12 = 162 seconds (2 minutes 42 seconds)
2.5MB x 12 = 30MB.
Realistically though, you can see there’s a big jump in time between Compression Quality 6 and Compression Quality 7, while there’s not a lot of difference in time between Compression Quality 5 and Compression Quality 0 (Ignoring Compression Quality 3’s time anomaly which we can’t account for). There’s also not a lot of file size difference between Compression Quality 5 and Compression Quality 8.
Therefore, unless storage space is a really big issue, the average user is probably better off leaving the Compression Quality settings at Default (5) and saving almost 3 minutes for CD rip. Then again, on a newer machine, this time difference is likely to be much less, so you may as well use Compression Quality 8 and save that little bit of space.
In the end, Compression Quality settings in FLAC don’t make that much difference. Leaving the settings at Default is a pretty good choice, but setting them to a maximum of 8 will save some space, without a major time impact.
Sometimes the power of Open Source can be amazing. One of the newer digital SLR hybrids on the market is Canon’s 5D Mark II. This is not just a highly capable digital SLR film camera, it also has some useful HD moving image filming capabilities. If you want to know more about who is using the 5D Mark II, this article is a good starter. However, the camera is not without some limitations and disappointments.
Now with the power of open source, there is a new software update that deals with some of the audio issues. “…code adds features that should have been in the software, like on-screen stereo audio meters, live audio monitoring, reduced audio noise and crop marks for different formats.”
There’s an introductory video available and an audio evaluation compares it to the stock firmware, with very good results. The Magic Lantern firmware is GPLed and new features will be written to make the camera even more useful on set. Find the wiki for documentation and deverlopment here.
Linux.com has an interesting How-To article regarding digitising records and tapes with Audacity. If you’re not aware of the software, Audacity is an open source, cross platform, recording and sound editing tool.
The Linux.com article goes through the basic process of digitising old records and tapes, although only touches on some of the technical mountains to climb when connecting a turntable to your sound card line-in. If you require more details about how to connect a turntable to your computer, in conjunction with a phono pre-amp, then the Audacity tutorial for transferring tapes and records to a computer is what you need to read.
While the Linux.com article was squarely aimed at the consumer, desiring to transfer their older music collection to a digital file format, focusing on Ogg and MP3 creation, I was more intrigued about the possibility of using Audacity in a more archival function. As of version 1.3.3, Audacity supports full export of the open source FLAC lossless audio format. FLAC supports metadata tags containing information such as title and artist and generates filesizes roughly 50% less than other popular lossless formats, such as WAV. FLAC and Audacity could make a good solution for a professional audio archival project.
Red Devil’s Tech Blog has a good article reviewing how four different major Linux distributions deal with making video and audio codecs available.
Fedora, Mandriva, PCLinuxOS and Ubuntu are all covered, with Vector Linux getting a brief tongue in cheek mention at the end.
It seems that Fedora is moving away from their strictly no non-free software approach, to one encouraging end users to install Fluendo’s commercial codecs, of which new versions have just been released. Mandriva is doing something similar with their paid for 2008 Power Pack.
Personally, I applaud this approach. While I wholeheartedly support free and open source software, I also don’t mind the concept of paying a small amount for something essential, like video and audio codecs. If this is what it takes, to avoid even the sniff of legal problems for a Linux distribution, I’m fine with it.
Tip of the iceberg you say? I can understand that response too. What I don’t see at this time is a valid alternative, besides installing, what is in some jurisdictions, legally questionable software.
I’d be much more concerned about Sun purchasing MySQL and Novell/SUSE cosying up to Microsoft, than paying £20 for some very useful codecs. Perhaps an organisation like Fluendo deserves support, just to keep yourself personally in the clear.
I wonder why Ubuntu doesn’t follow this lead.
Ultimately though, I think the decision has to be up to the end user. Linux is about choice. And I’m quite the hypocrite anyway, not about to purchase Fluendo’s codecs. All the decoding functionality I need is done with libavcodec, which is a core dependency for FFmpeg.
Although not yet noted on the Fluendo News page, customers who have previously purchased codec packs from Fluendo are receiving an email regarding updates.
In summary, here’s a list of the codecs offered by Fluendo in the Complete Set Pack:
Windows Media Audio Decoder (Windows Media 7, 8, 9, 10, Pro, Lossless and Speech)
Windows Media Video Decoder (Windows Media 7, 8, 9 and VC1)
Windows Media ASF Demuxer
Windows Media MMS Networking
MPEG2 Video Decoder
MPEG4 Part 2 (DivX) Video Decoder
H.264/AVC Video Decoder (32 bits only)
MPEG2 Program Stream and Transport Stream demuxer
MPEG4 ISO Demuxer
MP3 Audio Decoder
AC3 Audio Decoder
AAC Audio Decoder (32 bits only)
Below is the text of the email being received. It looks like some good optimisation work has been completed on the Windows Media and MPEG2 decoders:
You are receiving this mail to inform you that the Fluendo product you bought has been updated…
Here are the details on updated products :
– Windows Media Video now supports Windows Media 7 and 8 on top of
previously supported formats Windows Media Video 9 and VC1.
Additionally this codec has received a lot of optimization love which
makes it possible to play big HD clips on smaller hardware. Products
including that codec : Complete set of playback plugins, Windows Media
playback bundle, Windows Media Video.
– Windows Media Audio now supports Windows Media 10 and Windows Media
Speech on top of previously supported formats Windows Media 7, 8, 9,
Pro and Lossless. This codec has been optimized and consumes almost
50% less CPU. Products including that codec : Complete set of playback
plugins, Windows Media playback bundle, Windows Media Audio.
– MPEG2 Video decoder has been optimized to reach similar performances
than other competing decoders. Products including that codec :
Complete set of playback plugins, MPEG playback bundle, MPEG2 Video
– H.264/AVC and AAC have been added to the 32 bits Complete set of
playback plugins -64 bits should arrive in Q2 2008. You can now play
your AAC songs or watch QuickTime movies using a highly optimized set
of decoders for those formats. Products including that codec :
Complete set of playback plugins.
– MMS network source has been thoroughly tested with a lot of Internet
streams. Lot of improvements were done to support as much streams as
possible. Products including that network source : Complete set of
playback plugins, Windows Media playback bundle, Windows Media MMS.
Fluendo’s team wishes you a happy new year for 2008.
Best regards, Fluendo Support Team , FLUENDO S.A.
So, perhaps consider purchasing your video and audio codecs from an Open Source company, rather than installing w32codecs or Gstreamer Bad and Ugly.
Initially I was quite excited by the release of Elisa 0.3.3 from the team at Fluendo. In general, I like the work Fluendo does – amongst other initiatives they have codecs for sale that alleviate any legal qualms you may have about installing “non-free” video codecs from various locations, they have an interesting Java streaming video applet called Cortado and they provide a reasonably priced online streaming service. So, high hopes for Elisa 0.3.3. Unfortunately, it looks like I won’t be using this software.
Installation was straight forward, using the Ubuntu package found on their packages page. That’s about as far as the good news goes. Elisa installs a link in the Applications > Sounds & Video menu under Gnome. However, the application is clearly following KDE design principles. Immediately I was reminded of the post over at Planete Beranger about useless, annoying cartoonish design icons and effects. That’s Elisa 0.3.3. Huge, quite ugly, cartoon-like graphics. The interface could have been so much slicker. Of course it is possible for someone to re-skin the application on top of Elisa’s functionality, and I sincerely hope someone will. The default graphics are bad enough, but choosing one of the other two icon themes only makes things worse; didn’t anyone teach these guys how to anti-alias?
The other reason I was so keen to try Elisa 0.3.3 is the screaming text on the project’s homepage stating that the software will “Automatically detects IPods, cameras, USB hard drives, etc.” Great news! I can now finally use my iPod Touch with a Linux application for managing my music. Nope. It’s a vicious lie. Connecting my iPod via USB results in the usual pop-up message alerting me that a camera has been detected, but nothing in Elisa. An external hard drive, also connected via USB was recognised correctly, but not the iPod. What a disappointment.
Support from the Fluendo team is also lacking. There is a forum available, where I posted a query about the non-detected iPod, but nobody from the Fluendo development team seems to be answering questions. As of this post, there are 14 unanswered posts in the Help section dating back to January 22nd. Granted, a forum can and should be used by users to help each other, but shouldn’t there be someone from Fluendo regularly looking in to help out?
Elisa 0.3.3 – at the moment useful only for kids who like cartoons and don’t own iPods