I found a really strange transcoding "bug" in Vorbis encoder, the whole story is here:
http://www.volny.cz/martelOgg transcoding test - for educational purposes
Not long ago, while trying to transcode a 192kbit Ogg into a 128kbit one, i found something really strange. The resulting 128kbit Ogg bore some heavy artifacting and L/R disbalance at high frequencies (metal percussions - hat and such). I was just about to start using Oggs for archival purposes (instead of MPCs) but this event effectively prevented the transition (luckily for me!). Because 192kbit Oggs sounded up really great ("near" CD) i wondered what was the cause of such mess and whether any other transcodings into 128kbit Ogg would bear the same flaws.
Setup:
I picked up a juicy test sample (17 seconds CDDA->WAV, Czech heavy metal band Arakain) and commited a little test.
First, i encoded the WAV into Oggs using various -q settings (oggenc 2.8, libvorbis aoTuV 4.51). Also used MPC --standard and --xtreme for comparison.
Then, decoded these Oggs/MPCs back into waves (oggdec 1.0.1).
Then, encoded them all into Oggs using -q 4 cmdline switch (filename indicates the source Ogg/MPC bitrate):
direct encode into a -q 4 Ogg
transcode from a -q 6 Ogg into a -q 4 one
transcode from a -q 7 Ogg into a -q 4 one
transcode from a -q 8 Ogg into a -q 4 one
transcode from a -q 9 Ogg into a -q 4 one
transcode from a --standard MPC into a -q 4 Ogg
transcode from a --xtreme MPC into a -q 4 Ogg
transcode from a -q 6 Ogg into --insane MPC, then into a -q 4 Ogg
Results:
The -q 6 result is extraordinarily awful, even without comparison!
The -q 7 file is quite better but still there is a clearly audible artifacting in the first cymbal crash as well as some panning instability of the hat.
The -q 8 file is very close to the directly encoded Ogg but still, there is a slight panning issue of the hat and some artifacting in the first cymbal crash.
Even the -q 9 file still bears some traces of artifacting in the first cymbal crash and the hat in the first part of the sample! If you quickly swap the MPC --xtreme, the Ogg -q 9 and the directly encoded samples, listen to the hat that goes together with the first bass drum kick in the sample. Sure the hat sounds different (a bit deeper) in the Ogg-sourced file than in the rest.
MPC-transcoded files don't bear any mark of the Ogg->Ogg flaw.The --standard file sounds a bit clumsy with less stereo separation (regarding just high frequencies), but the --xtreme file is completely OK (for a "transcoded-from-238kbits" file). I wonder if someone could even ABX the CD-DA-sourced Ogg from the MPC--xtreme-sourced one!
This is the best part :-))
The last file's quality is completely against my wits. I took the CD-DA source, encoded into a -q 6 Ogg, decoded to WAV, encoded to --insane MPC, decoded to WAV, encoded into a -q 4 Ogg. Not even in a dream i would imagine that inserting a MPC into a Ogg->Ogg transition could substantially improve the process, yet it did! The resulting file sounds exactly the way i would expect the direct-transcode to sound up. I think it even beats the -q 9 Ogg transcoding!
Someone should look into this because something really weird is going on.
Conclusion:
I consider Vorbis to the best codec out there but the fact that it can't transcode its own files properly makes Vorbis look somehow strange to me. If you have 192kbit Oggs at your disposal, sadly, there's just a very awkward way to transcode them into 128kbit (thru MPC, of course!) without sacrificing quality.
I'll stick with the verified MPC--insane for archiving (less than 250kbits avg and transcodes perfectly, thus no need of 480kbit Oggs or something like that).Appendix:
My equipment:
SB Live! soundcard, Sennheiser HD 490 Live headphones (60 Euro-class), 25-years-old ears (can't complain so far :-))
Playback by WinAmp 2.81, Nullsoft Vorbis Decoder v1.2.2 (using DirectSound on Windows XP)
Created using "notepad.exe" on 13th December 2005.