Non-MP3 Codecs?
Vanth Dreadstar asks: "While
MP3 is okay, I have begun researching other codecs that would be
suitable for my home music use. Lossy codecs such as Ogg
Vorbis, AAC,
and MPC all seem to have promise, not to mention the lossless codecs
such as Shorten
(otherwise known as .SHN),
LPAC, and FLAC.
I would like to know what non-MP3 codecs people are using out there,
and why."
Ogg Vorbis over MP3 because obviously Ogg is free while MP3 is locked up in patents, and if you're one of the golden-ears that can tell the difference, FLAC for high quality (and still free).
1/3 better compression than .mp3.
my hearing is not so good, so quakity is not of paramount importance.
...is what is preferred over MP3 by the audio engineers I know. I can't hear a difference, but they claim it simply sounds better.
-my 2 cents
I use Ogg becuase:
1. it seems to give better sound quality for the same quantity of bytes.
2. encoding to Ogg is legal, unlike encoding to MP3 when using ISO-code based encoder (pretty much any encoder i know. enlighten me if im wrong).
3. "Ogg" sounds cooler than "MP3"
ZAP (an acronym for "Zero-loss Audio Packer") is, as its name implies, lossless, and the ZAP app has the ability to play back audio from a compressed archive.
The ZAP application compresses raw audio files to about 40-to-70% of their original size. This is much better smaller than typical .zip or .sit compression on audio files.
Archives can be made self-extracting. I find this useful if I do an audio project for which the files total about a gig in size but want to back it up to a single CDR.
Interestingly, I just looked at emagic's web site, and they do not have a link for ZAP. Maybe their site is incomplete, or maybe they have discontinued the product.
AIFF is non-lossy because it isn't compressed. It is not a codec, it's a file format for raw audio.
is the *best* lossy audio codec I've yet seen. At -q 3 (ends up being around 112 kb/s average) most is transparent to me, and at -q 4.99 pretty much everything. (I don't use -q 5 because it jumps up to lossless coupling which makes the bitrate jump quite a bit).
Aside from sounding great, it's 100% free (open source, patent-free) for everyone, and I can always annoy people on #vorbis (opn IRC network) with technical questions.
If you're looking for lossless compression, wait for the people currently working on vorbis to write Ogg Squish, which will be their lossless codec, and should kick ass as well.
I'm also looking anxiously forward to Ogg Tarkin, the currently-in-the-works lossy video codec, which is using new technology (wavelets) to encode video. I believe it shows a lot of promise.
--
grep "xercist"
Grip is a nice front end to Linux command line ripping and encoding utilities. You can choose which encoder you use and I believe it already has a preset configuration for ogg encoders.
Because the few songs I have ripped are in that format, and the few songs I get from friends now and then, are also mp3.
:)
I don't really play "clog the modem", so I guess I am the wrong person to answer that.
But I am not going to play the elitist game of switching to Ogg because it has better compression (cheap HD, cheap bandwidth) or because it preserves some frequencies more (come on, you can't hear it either).
I could think to switch just because of the licensing and the patent issues, I am like that sometimes... but right now it is too much trouble to make a point noone will notice (as I share my music as much as I DC for new - almost never).
I do personally hope that for those that this really matters to, that something like Ogg will come and take over, so we can see AOL buy that too. Just kidding.
My portable MP3 player is capable of playing WMF files, but I would never use it. It's a matter of principles as well as I can download MP3's for free everywhere. I bet M$ will have to put some kind of copy protection in WMF very soon.
MP3 is _the_ standard. What's more interesting is what the next huge video standard is going to be; MPG/x, DivX, Quicktime or anything else?
Ciryon
* Much better than OGG and MP3
* Picture perfect at 128 kbit/s
And what is this comment based on? These results have been pointed out in comments for previous articles, but I'd like to mention them again. ff123 has been conducting double blind tests comparing various audio codecs, and the results are here.
The following is from the page:
Comparisons in red below are true as a group with 95% confidence.
ogg is better than wma8
mpc is better than wma8
ogg is better than xing
mpc is better than xing
aac is better than wma8
aac is better than xing
lame is better than wma8
lame is better than xing
Looks to me like WMA8 got beat by pretty much everything... But hey, what good is statistical analysis anyways...
Editing with 1-sample resolution, for example. This allows you to cut your live music into tracks without that silly gap introduced by mp3.
Support for 256 channels, channel coupling, etc, are also extremely important for streaming applications.
That actually /does/ have a name, too. Generally speaking, "uncompressed", Phillips-standard CD Audio is usually know as PCM, or "Pulse Coded Modulation".
Hilary Rosen's speech was about her love of money and her desire to roll around naked in a pile of money.
I teach Computer Science at the high school level at a largish school near Austin, Texas. For the past several years there's been a "jukebox" in my room where students could vote for albums to hear during programming lab time, and random tracks off the winning albums play over the speakers in the classroom.
Over Christmas break I changed the "player" portion of the system to play Ogg Vorbis files instead of mp3s.
Why not mp3?
So, then, why Ogg Vorbis?
By the way, if you haven't listened to Ogg since 1.0-rc3 came out (on New Year's Day), try it again. The sound quality has been much improved. Note that you should not use the "-b" option to encode as it uses CBR and thus produces larger files at lower quality. Default is quality 3, which is 112 kbps but sounds as good as 160 kbps to most. If you really can tell the difference, quality 4 averages 128 kbps and sounds much better (and is maybe 3% smaller) than an mp3 at that rate. You've got to experiment to find your own sweet spot.
The biggest downside is that whole ubiquity thing. There's been an official Winamp plug-in for quite some time, but Nullsoft have yet to install it by default (rumor has it that it is AOL 's legal department which is holding this up). I'm also pretty sure there's a Windows Media Player codec, but don't quote me on that.
Also the only hardware player that supports Ogg Vorbis is the HipZip (via a firmware upgrade). Other units that support it are coming soon, but not yet available.
Since I don't own a hardware player (yet) and don't download my mp3s, the ubiquity factor isn't an issue for me, however.
On the plate for rc4 is sound quality tuning for the low (a.k.a streaming) bitrates. Then a coat of polish and it'll be called 1.0
Graham "Teach" Mitchell, computer science teacher, Leander HS
Microsoft cheats with WMA8 - all they do is compress the range a little which results in an average 3 dB volume level boost. It has been repeatedly shown in multiple independent studies that even just a small increase in volume makes music "sound better" to the average listener. Often you'll get all kinds of superlatives about accuracy, openness, full-bodied, etc, etc from the people comparing the louder track to the quieter one. MS knows this which is why they play those psychoacoustical games with WMA8.
If you compare a good mp3 encoding (say with LAME and the right arguments) to a WMA8 encoding of the same bit-rate and with the volume levels matched, mp3 will win out, or at least tie, everytime and Ogg will usually do the same with 25% less bits.
There's a batch Ogg replaygain tool at: http://sjeng.org/ftp/vorbis/
ReplayGain tself is explained at: http://www.replaygain.org
The latest XMMS plugin already supports replaygain (as does latest Ogg123), and it should be in the Winamp plugin soon if not already. Right now it's up to individual apps to support ReplayGain, but we're deciding on an easier way to encourage/include support with core Ogg.
Monty
1) CDex. Has an Ogg encoder (RC2 version) embedded, and you can use the command line RC3 version with it very easily. The latest betas use the 'cdparanoia' libraries to rip. This would be nice choice once it's been updated to RC3.
2) EAC. This is the benchmark for quality ripping in Windows. It's slightly harder to set up, and doesn't integrate as nicely with passing metadata to the external ogg encoder, but it's the best Windows ripper bar none. Both pieces of software are free. CDex is also open source (useful if you happen to have a copy of VC++ floating around).
-- Help Digitise the Public Domain at DP.
Another one to try is Normalize It alows you to adjust volumes across different types of input files (.wav, mp3, etc...)
what you suffer from is lack of normalization. many many CD's are poorly mastered (in fact 90% of all Cd's today are very poorly mastered, it is very rare that anyone takes the time to properly master a CD anymore.) what you are getting is that the mixdown mastering was set at an arbitrary level by the studio staff. they just picked a level and spun off a master without running a calibration on the equipment. They usually calibrate every morning, but many places assume that the calibration was good from yeaterday, and the equipment wasn't touched or turned off so just fire away.... they have 300 albums to master today... this usually leaves you with CD's that have a horrible noise floor because the audio program is too low and not using the entire abilities of the CD. (NOTE there are some that are messed up the other direction.... Nutral-milk-hotel comes to mind.. clipping on the cd because it was not normalized.)
so you need to normalize up. basically use a program that looks at the entire song and then brings the higest peak up to 99% or 98% of max. the program will look at either each track, or all tracks from an album, find the highest peak from that album and then normalize all to that peak. either eay works great, I prefer each song getting normalized.
Now... you can do this to mp3's you have already. problem is that you need to decode-normalize-reencode which adds more loss and noise artifacts.
I would start over, grab your cd collection and start from step one again. (lame has awesome encode now... it's improved massively)
Do not look at laser with remaining good eye.
.WAV *is* PCM. With headers that differ from the PCM files on audio CD's (.CDA). As has been pointed out elsewhere, PCM is simply a way to describe audio data using ones and zeroes. There's no compression involved.
News and bla for computer musicians: http://lomechanik.net/
2. Original CD -> Tape -> Tape -> Tape 3 generations of lossy copying.
3. Original JPEG -> save as JPEG -> save as JPEG
2 generations of lossy image manipulation.
Hence the term lossy
While that is an interesting way of looking at it, you are the one misusing the term "lossy".
When it comes to compression, lossy has a specific meaning - it means you can NOT recreate the original input bit-for-bit. With lossless compression, you CAN recreate the original input bit for bit. It has nothing to do with percieved quality.
In the future, please make sure you know what you are talking about before accusing others of ignorance. :)
Check out DRM-free movies at http://www.bside.com
Undeniably true. But established standards die enventually. MP3 R&D has been mostly abandoned. It will be around for a very long time yet, but it's being attacked from all technological sides. Microsoft wants to kill it for WMA, Tompson wants to kill it in favor of MP3 pro, FhG wants to kill it for AAC, Real wants us to use Real--ermm, sorry, ATRAC3, etc. MP3's been superceeded and abandoned by cutting edge research.
MP3 the king is a mighty warrior, but he's showing new wounds. Ogg is the successor to the throne, and the only codec individuals are going to have ready, unrestricted access to once MP3 eventually falls. It's not happening this year, but it's happening.
and the fact that there is no hardware support
A mostly fair thing to point out. Ask again in a year; the FPU-less codec exists (he says, hacking on ARM7 assembly), now it's mostly the business distribution arrangement that's up in the air. Commodity hardware designs can't quite live in the same open framework as software.
is that storage is so cheap now
Most of the big Geek music collections of friends around me are each over a Terabyte of music. That's still alot of money.
If I can get a 60GB drive for under $100
If quality is not a concern, you can get a cheap turntable for much less than that and it never runs out of space.
why would I want to sacrifice a big chunk of processing power to make my music 1/3 smaller? Only if I absolutely wanted to use something open.
This one confuses me slightly...
Compressing from WAV->Ogg makes things ~10-20x smaller, depending on your quality tastes.
If you mean 'why would I replace my mp3 collection I already have?', in that case I agree with you. An equivalent Ogg will sound better/more consistent and be smaller, but if you're satisfied with what you've got, there's no need to replace it. Certainly don't transcode it! It could only end up sounding worse (see rant here)
If you mean, "why would I encode to Ogg rather than MP3; it's not worth it", then you're just confused. You get smaller, better sounding files for no extra effort (and no extra CPU). In this case, Open Source is not a compromise; Vorbis is the best out there. All we're lacking is the portable players.
Monty
The reason the live music trading community (most notably etree.org) uses the shorten format is because there was not a way to widely distribute exact copies of, say, master DATs. Now, assuming the person transferring the DAT, did a reasonably good job, every person after that who receives the SHN files can create an exact copy of that DAT. This is crucial because of the way shows are distributed. One person gets a copy from his friend, and he passes it on to his friends. If there was a lossy step involved in the middle of the chain, each copy would be worse than the one before. Note tape trading. Copying a cassette is lossy, so someone who got such with a 4th or 5th generation tape was stuck with all of the artifacts that were introduced in each generation above. Even copying CD audio is not perfect: programs that do digital audio extraction need to do a good job reading the data without any error correction. Shorten makes 100% sure that every copy is just like the original.
I've used shorten for online trading of Widespread Panic and other live bands, and it is by far the codec of choice for me. When used together with md5 checksums, it is definetely the best lossless codec out there. You can download shnAMP plugin for winamp or a similar program for Linux, which will play shns and, if shnV3 is used to encode, you will be able to seek the shns. Etree has all the programs that you need to listen, encode, and decode shns. The program written by Michael Weise (mkwACT and also found on Etree) also makes it very easy to convert to shn and a variety of other codecs.
I think my principles are reachin' an all time low
Try the below script, you'll need Python, mpg123 and sox, all of which are easy to obtain for Linux. This process stores the volume in the comment as text, you might want to consider storing it at the end of the comment in binary if you use the comment field for real information. There are a multitude of other improvements that could be made to this script (command-line options would be a good start.)
/dev/null 2>&1' % (tmpfile, song))
I also have a fairly simple random MP3 player script that also uses mpg123 with the volume settings generated. It normalizes on a song-by-song basis (unlike many of the player plugins that normalize continuously, making the quiet parts of songs no longer play quiet.) It would be fairly easy to modify it to do album-by-album normalization if you so desired. (Assuming your MP3 collection is well organized.)
#!/usr/bin/env python
# standard Py libs
import os, sys, stat, random
# available from: http://id3-py.sourceforge.net/
import ID3
def compute_volume(song):
tmpfile = '/tmp/randplay%d.wav' % os.getpid()
os.system('mpg123 -w %s "%s" >
p = os.popen('sox "%s" -e stat -v 2>&1' % tmpfile)
v = float(p.readline())
p.close()
os.system('rm %s' % tmpfile)
return v
def recurse(directory, callback):
for i in os.listdir(directory):
path = '%s/%s' % (directory, i)
m = os.stat(path)[stat.ST_MODE]
if stat.S_ISDIR(m): recurse(path, callback)
if stat.S_ISREG(m): callback(path)
def do(song):
if song[-4:] != '.mp3': return song
i = ID3.ID3(song)
v = 0.0
if i.comment and i.comment[0] in '0123456789':
v = float(i.comment)
#v = 0.0 # uncomment this to have the script (re)compute the volume of every file
if v >= 1.0:
print '%s: %f' % (song, v)
else:
print '%s: ' % song,
sys.stdout.flush()
v = compute_volume(song)
print '%f' % v
i.comment = '%f' % v
i.write()
return song
recurse(sys.argv[1], do)
Sorry, i was actually referring to MP3 _decode_ there. In terms of encoding on devices, that's primarily x86, with the exception of a couple integerized mp3 encoders for ARM.
Russell King of arm linux was apparently working on an integerized vorbis decoder, but i dont know if he actually finished it up. The iomega integerized libraries actually weren't done by iomega; the hipzip work was outsourced. The company that did that work might have retained the rights to it, i dont really know.
In terms of the TI parts, most of the embedded ones are actually cheaper than the cirrus logic processors (which run the rio line, the nomad line, etc).
Comment removed based on user account deletion
MP3Pro is mostly a marketing ploy. It has a 10 kHz lowpass filter, and then tries to reconstruct the upper frequencies based on harmonic extrapolation of the lower frequencies. This may be somewhat useful for low bitrates (say, under 80 kbps, for use in portable players). But the irreversible loss of audio quality makes this an inappropriate codec for the kinds of uses that I (at least) prefer: namely, files sitting on my hard drive on my desktop computer.
What's really going on is this: using aggressive, fast-release peak limiting, musicians can get mastering engineers to push the volume of their CDs past zero. Actually, one popular technique is in fact clipping and then taking the overall volume down 0.2 db or so (to get rid of digital full scale values that can cause problems glass mastering, and with D/A converters)
Mastering engineers have been trapped in a jam comparable to clueful sysadmins being ordered to standardize on W2K/IIS: what's driving it is A&R reps and radio. Briefly, there are a lot of fools out there who figure their CD will sell better and get on the radio better if only it is louder than the next guy's. Sometimes that's even true as some of the radio program directors are also idiots who love horrible distortion and blasting loudness...
The trick is, there is NO one volume level that is 'the loudest' you can get out of digital. It's simply a tradeoff- how much distortion and grunge can you tolerate? It can be like putting a CD into a distortion box almost: look at modern music in a sound editor and you'll see a black ribbon because every sound is slammed to digital full scale. Look closer and it looks like the peaks get planed off with a surface planer. Sometimes this sounds like flat-out distortion, sometimes it doesn't, but it all more or less damages the richness of the sound.
At least with modern CDs, I'm not aware of ANY studios that put out CDs with peaks only going to part of digital full scale. The problem is in the other extreme- they pretty much all cover digital full scale peak to peak, but push beyond that in wildly varying amounts, which affects the RMS level. Some of the greatest albums in history were recorded with crest factor (amount peak is higher than RMS level) of 20 db and up, as much as 24 db sometimes (the Boston debut album). Some of your modern albums have a mere 6 db crest factor, or even less. If you put them on after the older album, they blast out your speakers and you have to turn it down (as the original poster said). Once you've turned it down, it's the same volume only sounds much lamer and weaker.
Which is all just a lot of information, no doubt, except that it is also the reason why your advice will totally NOT WORK in the slightest. Now, if you were talking about a 'normalize' function that looked at RMS volume it might be different...
I posted to a Ask Slashdot a while back, and got some good feedback. The result was the following essay
Hope it sheds some light on the subject.
Toddlers are the stormtroopers of the Lord of Entropy.
WMA is just an audio-only subset of ASF - the file format spec is up at http://www.microsoft.com/windows/windowsmedia/WM7/ format/asfspec11300e.asp. You still need a Windows Media Audio decoder, though.
Some of my own informal tests (Sound Blaster Live and Sony MDR-G82LP not the best setup, but what i had available), i tested, ogg, aac (psytel and liquid audio/fraunhoffer), mp3, aac, vqf, wma7, wma8, mp3+ and more that escapes my mind (all lossy codecs), this is what i found:
aac consistently came at the top, but original psytel codecs gave a weird background noise, later versions fixed that though, it also had one of the highest decoding complexities
next came ogg vorbis, suprisingly this codec really delivered, there were subtle flaws (weird minor echos or treble highs just not sounding right, maybe wavelets will fix that) and it also had a very low decoding complexity
to microsofts credit, wma8 was quite good, coming mostly 3rd but it still had that weird swishy sound at times and it just sounded a bit synthesised (think 80s), but also came with a high decoding complexity
and a summary of the rest, vqf isn't worth a grain of salt, constant muffled sound, wma7 you need not worrya bout now there is wma8, mp3+ seemed to be an odd sort of tradeoff, not always getting better than mp3
these tests where done under windows, all codecs where forced to encode as close to 128kbps as they could, when i say high decoding complexity, i'm comparing that to mp3s
my final words would be, i'm looking forward to mp4 if it will take the best of both aac and vqf (dunno whats there in vqf, but hey they're giving it praise that i can't find for it), but its been indevelopment for so long and there aren't any available encoders (that i know of), it also comes with a high decoding complexity, in the meantime aac is very promising
ogg vorbis is what i choose, it has a favourable decoding copmlexity to mp3 and it still hasn't gotten up to its peak optimization so there's a lot of promise, i can't wait for this codec to be finished, it is just so great in every way, with sound only slightly worse than aac but a decoding complexity so much lower, it takes the crown, and there's still improvement to be done, note that i did these tests before there was an RC build, currently i'm builing a little decoder for ogg vorbis for my program, it sure got my attention
I'm as mimsy as the next borogove but your mome raths are completely outgrabe.
You might find something like HawkVoice useful - it's a Windows/Linux LGPL voice-over-network API. It supports GSM, LPC, CELP, LPC10, plus some others.
-- Help Digitise the Public Domain at DP.
I would highly recommend reading these sites:
http://www.r3mix.net/ - Explains how to ge the best Quality from Mp3.
http://www.xiph.org/paranoia/ - How to rip a CD properly under Linux
http://www.exactaudiocopy.de/ - How to rip a CD properly under Windoze
With a 60Gb Disk sitting on a spare machine on a 100Mbit switched network I just use FLACs because its open source and available for Linux unlike Monkey Audio Compression:
Marilyn Manson.flac = 75% of original
Moonlight Sonata.flac = 42% of original
I just tried encoding Kosheen - Catch.wav at 64Kbit using Lame and Ogg with all other settings optimal. The Mp3 did'nt even come close to the Ogg. The Ogg was obviously gonna be a bit tinkly at 61Kbit average but the Mp3 was all muffled and horrible.
You are wrong about that. You need a license even to play a CD or even the radio in public (I am not kidding)!
If you own a restaurant, and you want to play CDs or the radio quietly in the background, you need a license from ASCAP and BMI. JWZ talks about this some and all the crap he had to go through to do a webcast from his club. Here's a snippet that relates to what you were saysing:
One of the more absurd things about this system is the triple-billing that occurs. Consider the scenario of a retail store that has the radio on. That store is expected to pay ASCAP/BMI for the privilege of playing music. But here's what you get when you do the math:
The only utilities that can encode wma files without the encryption are command line based utilities, right?
Wrong. you can use advanced WMA workshop under windows to make wma files. Very nice GUI support conversion to and from wma, wav, cda, mp3 (if you have lame installed), ogg... does resampling of existing files and even has batch conversion. Will optionally delete source files once its done to save space...everything you could want, except a linux version
I reject your reality