Ogg Vorbis
Ogg Vorbis is an open source lossy audio codec created by the non-profit organization Xiph.Org (formerly Xiphophorus). While it is still used far less than mp3 by the masses it is gaining ground steadily and has hardware support on several DAPs including iRiver ones. Vorbis is inherently VBR, but it can have its bitrate managed to make an ABR mode. 1.1 is the official version currently out and it is mostly aoTuV b2 (a third party tweaked encoder merged with bugfixes). Most recent third party version is aoTuV b3, which is 1.1 with improvements. Ever since aoTuV b2 Vorbis's quality has been tied at the top.
Good Vorbis encoders: Most of them really. Everything except what I list below.
Decent Vorbis encoders: 1.0, 1.0 Post CVS, 1.0.1, 1.0.1 Post CVS (these are all slightly outdated)
Bad Vorbis encoders: The old betas and RCs probably, but then again Vorbis wasn't even 1.0 yet so they weren't intended to be great yet. Once 1.0 came out these were all obsolete.
Newest Vorbis encoder: aoTuV b4.51 (technically Lancer but it's based off of aoTuV b4.51)
Recommended Vorbis encoder: aoTuV b4.51, but I see no harm in using a few others as well. aoTuV b2, aoTuV b3, 1.1.0, GTune3 b1, GTune3 b2, Megamix, and Megamix II, 1.1.1, aoTuV b4, aoTuV b4.5, and 1.1.2,. Megamix and Megamix II bloat the bitrate a lot though, but they throw every quality tweak out without much concern for bitrate. I currently use aoTuV b4.51.
Vorbis isn't limited like mp3 is and supports just about any sample rate (though some are more optimised) and frame bitrate sizes can be anything from 0 to inifinity in theory. Vorbis also has tags built into the specification, so they are not hacks. Actually Vorbis Comments as they are called are probably some of the most powerful tags there are. Either them or APEv2.
Technically, Ogg is the container format and Vorbis is the lossy audio codec. Other things can and are muxed into Ogg: FLAC, a lossless audio codec; Speex, a voice codec; and Theora, an alpha-stage video codec. Others exist too but I'm sure you get the idea.
Vorbis is encoded usually by selecting a quality setting AKA a -q setting. -q 5 or -q 6 is usually the point where transparency happens in my experience. All of the -q settings are VBR, but they correspond with a nominal bitrate that encoder aims at. Sometimes it doesn't get too close but about 90% of the time it does.
Code:
-q -2 = 32 (aoTuV b2, b3, and b4 only)
-q -1 = 45
-q 0 = 64
-q 1 = 80
-q 2 = 96
-q 3 = 112
-q 4 = 128
-q 5 = 160 / 180
-q 6 = 192 / 212
-q 7 = 224 / 244
-q 8 = 256 / 276
-q 9 = 320 / 340
-q 10 = 499.9 / 519.9
The second numbers apply to all versions of GTune3 and Megamix I only. Decimal qualities are entirely possible as well. A setting of -q 4.78, for example, is allowed and will probably net a nominal bitrate of 150 or so. -q 10 is entirely overkill and probably shouldn't ever be used. If you have enough space for 500kbps then you'd probably be better with lossless. IMO over -q 7 is overkill but if you want to use more go right ahead.
Under -q 6 Vorbis can use lossy channel coupling to compress the file better, but over -q 6 channel coupling is lossless only. In my experience -q 4 and -q 5 don't tend to have problems with this making the soundstage sound narrow but below -q 4 I've heard it before.
The easiest to use Vorbis encoder is oggdropXPd at rarewares.org. You simply slide the slider to the quality setting you want and drag & drop the source wav files into the encoder and it outputs Ogg Vorbis. Commandline versions exist as well but they're not as friendly to newbies.
You can see what encoder made a file by looking at the vendor tag stored in every Vorbis file. The ones with 8 digit numbers in them are actually build dates in the order of Year/Month/Date. 20020717 is July 17, 2002.
Xiphophorus libVorbis I 20000508 = 1.0 beta 1 or beta 2
Xiphophorus libVorbis I 20001031 = 1.0 beta 3
Xiphophorus libVorbis I 20010225 = 1.0 beta 4
Xiphophorus libVorbis I 20010615 = 1.0 rc1
Xiphophorus libVorbis I 20010813 = 1.0 rc2
Xiphophorus libVorbis I 20010816 (gtune 1) = 1.0 RC2 GT1
Xiphophorus libVorbis I 20011014 (GTune 2) =1.0 RC2 GT2
Xiphophorus libVorbis I 20011217 = 1.0 rc3
Xiphophorus libVorbis I 20011231 = 1.0 rc3
Xiphophorus libVorbis I 20020307 = Post 1.0 RC3 CVS
Xiphophorus libVorbis I 20020406 = Post 1.0 RC3 CVS
Xiph.Org libVorbis I 20020717 = 1.0
Xiph.Org/Sjeng.Org libVorbis I 20020717 (GTune 3, beta 1) = GT3b1
Xiph.Org libVorbis I 20030308 = Post 1.0 CVS
Xiph.Org libVorbis I 20030909 (1.0.1) = 1.0.1
Xiph.Org/Sjeng.Org libVorbis I 20030909 (GTune 3, beta 2) EXPERIMENTAL = Experimental GT3b2
Xiph.Org libVorbis I 20031230 (1.0.1) = Post 1.0.1 CVS
Xiph.Org/Sjeng.Org libVorbis I 20031230 (GTune 3, beta 2) = GT3b2
AO; aoTuV a1 (based on Xiph.Org's 1.0.1) = aoTuV alpha 1
AO; aoTuV a2 (based on Xiph.Org's 1.0.1) = aoTuV alpha 2
AO; aoTuV a3 (based on Xiph.Org's 1.0.1) = aoTuV alpha 3
AO; aoTuV b1 (based on Xiph.Org's 1.0.1) = aoTuV beta 1
AO; aoTuV b1a (based on Xiph.Org's 1.0.1) = aoTuV beta 1.5
AO; aoTuV b2 [20040420] (based on Xiph.Org's 1.0.1) = aoTuV beta 2
Vorbis Megamix: aoTuV beta 2 + QKTune beta 3.2 + GTune 3 beta 2 = Megamix
Xiph.Org libVorbis I 20040629 = Xiph.Org Vorbis 1.1 and Xiph.Org Vorbis 1.1RC1
Vorbis Megamix II: Xiph.Org 1.1 RC1 [20040629] + QKTune beta 3.2 + GTune 3 beta 2 = Megamix II
Xiph.Org libVorbis I 20040920 = Xiph.Org Vorbis 1.1 with impulse_trigger_prof ile & POST 1.1.0 SVN
AO; aoTuV b3 [20041120] (based on Xiph.Org's libVorbis) = aoTuV beta 3
BS; Archer B09.1 [20041209] (based on aoTuV b3) = Archer Beta 09.1
BS; Archer B10 [20041213] (based on aoTuV b3) = Archer Beta 10
Xiph.Org libVorbis I 20050304 = 1.1.1 & 1.1.2
BS; Archer RC1 [20050312] (based on aoTuV b3) = Archer RC1
BS; Archer RC2 [20050318] (based on aoTuV b3) = Archer RC2
BS; Archer RC3 [20050319] (based on aoTuV b3) = Archer RC3
BS; Archer RC4 [20050320] (based on aoTuV b3) = Archer RC4
AO; aoTuV pb4 [20050324] (based on Xiph.Org's libVorbis) = aoTuV prebeta 4 [20050324]
AO; aoTuV pb4 [20050403] (based on Xiph.Org's libVorbis) = aoTuV prebeta 4 [20050403]
AO; aoTuV pb4 [20050412] (based on Xiph.Org's libVorbis) = aoTuV prebeta 4 [20050412]
AO; aoTuV b4 [20050617] (based on Xiph.Org's libVorbis) = aoTuV b4 (pre- and post-1.1.1 merge)
BS; Lancer [20050621] (based on aoTuV b4 [20050617]) = Lancer based on aoTuV b4 pre-1.1.1 merge
BS; Lancer [20050709] (based on aoTuV b4 [20050617] 111merged) = Lancer based on aoTuV b4 post-1.1.1 merge
AO; aoTuV b4a [20051105] (based on Xiph.Org's libVorbis) = aoTuV b4.5
AO; aoTuV b4b [20051117] (based on Xiph.Org's libVorbis) = aoTuV b4.51
BS; Lancer [20051118] (based on aoTuV b4a [20051105]) = Lancer based on aoTuV b4.5
BS; Lancer [20051121] (based on aoTuV b4b [20051117]) = Lancer based on aoTuV b4.51