High Quality MP3 Encoding
OK, this was one night project to figure out how to do really high quality. Some would say archival MP3s. Boy, did I learn a lot between 1AM and 10PM. Suffice to say that encoding is very complicated. The summary of what I learned is:
- MusicMatch is the easiest encoder. It uses the standard encoding that is Ok. The best setting for it is 192Kbps MP3. There is also a variable bit rate encoding that theoretically should be better and you can set to about 50% to generate an average 160Kbps. One interesting thing is that the standard 128Kbps actually cuts off all frequencies above 16KHz. I didn't realize that!
- Exact Audio Copy. This is a freeware ripping tool that can use Lame. Hard to figure out to use, but has all the features of a MusicMatch but is much slower. I love the various features it has particularly being able to spawn an external encoder like Lame (see below).
- LAME MP3 Encoder Now considered one of, if not THE, best MP3 encoder around, LAME started as an open source development project to improve psycho-acoustics, noise shaping, and encoding speed (for more on psycho-acoustics, see our MP3 Codec section). It wasn't technically an encoder (hence the name) and was built as an open source license patched against the ISO source and patent held by Fraunhofer Gesellschaft to avoid legal trouble. In 1999, they developed their own psycho-acoustic model called GPSYCHO that sought to improve upon the ISO demonstration model. Finally, in May 2000, anything resembling ISO source was replaced and LAME emerged as its own encoder, shaped by the creative genius team of open source developersBut, it is complicated to install and use. First you need to get Lame itself, then you need a ripping tool like Exact Audio Copy.
- List of recommended LAME MP3 encoder settings - the highest quality MP3 encoder.. These are the LAME recommendations that seem most up to date right now. Here are the relevant ones...
- Very High Quality +
- --alt-preset extreme. (bitrates 220-270 kbit/s -- usually averages around 256kbps)
- --alt-preset fast extreme. Faster (Very Slightly Lower Quality): (bitrates roughly the same as above). This seems the most like --r3mix in that it cuts off at 19.5KHz. The theoretic for CD quality is actually about 20KHz so that is about as good as you cand get. With disk space so cheap it isn't clear why you wouldn't use this. Of course, then you wonder why not use 320Kbps constant bit rate by that argument. That is still not bad. Compressing a raw 1.44Mbps stream by a factor of 5.
- --preset extreme. In versions of Lame later than 3.90, they changed this from --alt-preset to just --preset. How confusing.
- Very High Quality
- --alt-preset standard. (bitrates 180-220 kbit/s -- usually averages around 192 kbps)
- --alt-preset fast standard. Faster, slightly lower quality possible. (bitrates roughly the same as above)
- High Quality
- --r3mix. (average bitrate ~190kbit/s (150-230kbit/s) (Due to the new "--alt-preset standard", the "--r3mix" setting is obsolete.). I'm going to use this as my default "low quality encoding from now on.
- r3mix.net :the truth about ripping & mp3 encoder quality (lame, eac, fraunhofer)This site appears to have the best information about doing great encoding even though it is no longer being updated. The classic trade-off between space and quality for mp3-archival quality is: cbr 192kbit/s by any Fraunhofer encoder (audioactive, radium codec, mp3enc, ...) Remarks: Decent sound quality, but not perfect so no archival quality. Clearly audible encoding artifacts on some music when using hq headphones. Everytime you see a vbr encoder take a bitrate >192 to encode a frame, you know that 192 is not sufficient for that part of the music.
- EncSpot by GuerillaSoftEncSpot is an application which reports useful facts about your mp3 collection. The most famous feature is its ability to guess which encoder was used to encode each file. It will also give you a general idea of the audio quality of the file. For files encoded with Lame (and that's what everyone's using, right?) EncSpot can read the 'Lame Tag' which gives detailed information on the switches used when the file was encoded.
- Very High Quality +