BladeEnc Quality

Different MP3 encoders use different algorithms and therefore also produce
different results. The quality difference can be large and often depends
a lot on selected bitrate and the music encoded.

Finding the right tool for the job is essential to produce high quality
mp3 files. In this section I hope to clear up some information and
help you select.

BladeEnc's output quality is one of those rare subjects that completely divides the world in two parts. Either you love it or you hate it, there never seems to be an opinion inbetween. Different audiophiles and mp3 experts tends to come to completely different conclusions depending on their methods and testsamples.

The reason for this is of course that BladeEnc is a very different mp3 encoder (compared to Fraunhofer, LAME etc) with a very unique approach to mp3 encoding.

In order to compress sound to an mp3 file, you need to make certain sacrifices in quality. Taking into account how we percieve sound, the mp3 encoder tries to remove the details that it believes us to be least likely to notice. How much that needs to be removed depends on the bitrate and the encoder often has the choice of doing different kinds of sacrifices. It can remove low volume tones that are "shadowed" by high volume tones of similar frequencies, remove the high frequency part of the sound spectrum, cut down the stereo effect (so called joint stereo) and simply decrease the samplerate. What approach is the best depends on a lot of things, like the style of music and the selected bitrate.

BladeEnc and different bitrates

BladeEnc is completely geared for high quality encoding at high bitrates. BladeEnc really shines at 256 kbps and sucks at anything less than 128 kbps. Special approaches and different techniques needs to be used to maximize quality at lower bitrates (most notably high frequency filter, joint stereo and lower sample frequencies) and BladeEnc doesn't include any of them.

On the other hand, most developers have chosen to concentrate on the segment around 128 kBit since that is the most popular bitrate and in the process (knowingly or unknowingly) made design decisions that hamper high bitrate performance. A good example was an earlier version of Fraunhofer's encoders that left joint stereo encoding on at 256 kbps, seriously limiting the quality. Some tests have even hinted that some mp3 encoders might contain bugs that lowers the quality at high bitrates!

Pre-echo & Tonal Purity

One of the most common negative findings about BladeEnc is that the generated mp3 file has lost some "punch". A short "pre-echo" has been added to all the sounds, making for example hihats sound less sharp and drums to have less puch.

The other side of the coin is that BladeEnc has an extreme tonal purity. While all (?) other mp3 encoders seems to distort sound in the frequency domain, BladeEnc keeps the tones sharp and precise.

This gives the result that BladeEnc generally performs very well with classic, accoustic and some new age music, while not being so good at heavy, rock, pop etc where the punch is more important.

Stereo vs Joint Stereo

One trick in order to compress the mp3 file is to encode the low frequencies mono, while keeping the high frequencies in stereo. This saves some extra bits that can be used to increase quality in other ways (most often used to fill up the frequency bands better) to the cost of damaging the stereo or "live" feeling of the music. It can be compared to playing music on a system with satellite speakers and subwoofer instead of real stereo equipment, but is normally taken a bit more to the extreme by the mp3 encoder (more frequencies being made mono).

This is a typical mid-fi sollution. It's normally a good choice when encoding at low or medium bitrates since the frequency bands otherwise gets a bit empty, resulting in a worse quality degradation. At high bitrates its a bad idea.

Consequently most mp3 encoders use joint stereo for 128 kbps or less and switches to real stereo at 160 or 192 kbps. Some encoders however, especially an older version of Fraunhofer's, stuck with joint stereo even at 256 kbps :(

However, there are some drawbacks with joint stereo even at medium bitrates. Dolby surround information that has been encoded into the song might get damaged or lost. Music that has been mastered using analogue equipment (mostly older music, like from the 60's and 70's) and live recordingstends to suffer a lot more than modern, studio recorded music.
You can also get strange phasing effects in some rare cases with joint stereo.

BladeEnc always sticks with real stereo. Future versions might have support for joint stereo, but with a switch for disabling it.

High frequencies and filters

In order to improve quality at the lower frequencies of the sound spectrum, most encoders filters out the higher frequencies. By doing this they leave more space for encoding the important low- and midrange frequencies to the cost of loosing some of the crispness and details of the music. Most encoders filters out everything above 18 kHz while Xing's encoder (used in for example Audio Catalyst) cuts off everything above 16 kHz!

Filtering out the higher frequencies is generally a good idea when dealing with low bitrates and depending on circumstances might also be a good idea at medium bitrates, but is a bad idea when dealing with high bitrates. Some encoders therefore have different filterlevels for different bitrates.

BladeEnc currently (version 0.94.0) doesn't use any filters, but there are plans to add filters for low and medium bitrate encoding. If we do, there will be a switch for disabling the filter.

MP3 decoders and audio equipment

Just like the mp3 encoders, different mp3 players use slightly different algorithms and methods, giving them all an individual sound. This has of course the side effect that there are better and worse combinations of mp3 encoders and players. I've noticed differences in the same mp3 file (encoded with BladeEnc) when running it through WinAmp (pleasant sound, but with clearly noticable pre-echo), Sonique (a sharper sound which I wasn't too fond of, but with less noticable pre-echo) and XMMS (Linux player. Pleasant sound, less pre-echo). Please note that these tests were made a few years ago, so things might have changed since then.

Nedless to say, your audio equipment also affects the percievable quality. But even two different high quality hi-fi's have individual characteristics that might help to hide or reveal artifacts caused by the encoder.

The human difference

We all percieve audio differently. Just the genetic and medical differences (shape of ear, hearing dips at certain frequency intervalls, inability to hear higher tones etc) makes a large impact and on top of that we have trained our hearing in different ways. Some people with musical training can very precisely determine frequency variations while others might have a very good feeling for rhythm. Therefore there is no universal way of encoding audio so it fits everybody perfectly. What sounds like a perfect copy to someone might have quality glitches that someone else easily hears and the other way around. This is one of the reasons we will never see a perfect encoder.

Quality tests and comparisons

A lot of people have made various kinds of quality tests or comparisons between encoders. All of these tests fails in some aspects and most of them fails quite badly in many ways. I have for example never seen a test where they have analyzed the results of different encoder/decoder combinations, just different encoders against the same decoder (whichever the tester considers to be the best).

However, a well performed test can still reveal a lot of interesting information and basing your encoder decision (at least partly) on allready performed tests is always the second best to conduct your own extensive listening tests.

We should also make a clear distinction between listening tests and technical tests. A technical test might seem more trustworthy on the surface, but behind it is always an assumption made by the tester of what is important to measure or not. It's easy to provide graphs over frequency response, pre-echo etc. but in order to compile some kind of quality chart from these different values, someone has to make assumptions on how they relate to each other and what is audiable or not. Technical tests are good in order to help understand how different encoders prioritizes different aspects of the overall quality and to detect certain features or shortcomings. To judge the perceived soundquality, you always have to fall back to listening tests (which by the way should be "double blind" and feature a lot of different music, equipment and people in order to be trustworthy).

Recommended encoder comparisons

UsE! - The User Oriented MP3 Encoding Guide is now quite outdated, but might still be of interest.

Airwindows' Encoder Analysis and Visualisation is the most impressive technical test of encoder's I've ever seen. It even helped me understand a few things about BladeEnc that I only had a hint about and couldn't really explain in rational terms.