Time and Frequency Domain Signatures of Various Codecs

Notes by ff123

 

The various encoders can be identified by looking at the output they produce in the time and frequency domains. I generated a stereo, 10 second test tone-sweep (4.5kHz to 22kHz). The last 5 seconds of this sweep were encoded with various engines, then decoded back to .wav format and converted to mono to increase the vertical resolution of the time-domain graphs (L and R channels were identical in all cases, except for the FhG codec found inside Liquifier Pro 5.0). The file halfsweep.flac is available from my Audio Samples Page. It has been compressed using the lossless compressor, FLAC. Tone sweeps generated with Sound Forge cause problems for codecs (see my MP3ENC clicking noises page). This makes them ideal for creating signature plots. It turns out though, that signatures made from sweeps aren't quite enough to distinguish one codec variation from another. So to further discriminate variations among the broader codec families, I encoded a short clip of applause at 128kbs (you can download this clip from the Lame Quality and Listening Test Information site).

Please note that I advocate subjective listening tests of real music to evaluate codec quality. One might be tempted to hypothesize that one codec should sound better than another because it has a better-looking response, but listening tests are the real proof of the pudding!

Thanks to debtman7 and to TLO (web page here) for providing me with the MacOS mp3 signature files.

There are a variety of FhG mp3 engines:

1. Version 1.0 build 63i, found in programs such as Opticom .mp3 Producer Pro 2.1 as a program-internal codec, and in a hacked distribution ("Radium") as an external (ACM) codec, where it has a version of 1.2 build 63i. There is a hacked version of .mp3 Producer Pro, which is billed as "freeware" and is sometimes referred to by users as L3 Producer Pro. Producer Pro's internal codec encodes only with joint-stereo at 192kbs. The hacked external codec allows the option of choosing the stereo mode and encoding with bitrates of 224 and 320. Plus it's faster.
2a. "Alternate-bad" codec, found in such applications as Cool Edit and MusicMatch Jukebox 5
2b. "Alternate" codec, found in Sound Forge 4.5h (commp3.dll version 1.0, build 219) and MusicMatch Jukebox 6 -- same as "Alternate-bad" except it doesn't crash or produce bad-looking output with tone sweeps; it sounds different as well)
3a. "FastEnc" codec, found in MusicMatch 5 and Cool Edit Pro with the MP3 ME plugin (but not in Cool Edit 2000)
3b. "FastEnc-bad" codec, found in Sound Forge 4.5h (commp3.dll version 1.0, build 219) and MusicMatch Jukebox 6 -- same as "FastEnc" except that it has a bug in it which attenuates the out-of-phase signals, resulting in a very "dry" sound.
4. MP3ENC 3.1 codec (September 23, 1998)
5. MP3ENC 3.1.1 codec (April 28, 2000, not distributed to the general public; that includes me). Note; Ivan Dimkovik, developer of Psytel AAC, writes: "MP3enc 3.1.1 is actually a name for FhG MP3 library, version 3.1.1 (dated march, 2000). This library has both CBR and VBR modes and it is built into many software packages. It is possible to get the library by signing NDA with Fraunhofer." So it is my guess that this library contains the codecs referred to above as "Alternate and FastEnc."
6. Liquid Audio codec

Click on thumbnail images to zoom.

 

Alternate Codec: The half-sweep plots show that these all belong to the same codec family. Fraunhofer has evidently updated and improved the sound of this codec, where it is now used in programs such as Sound Forge 4.5h and MusicMatch Jukebox 6.

Engine Time-domain response,
half-sweep
192kbs (stereo)
Frequency-domain response
half-sweep
192kbs (stereo)
Frequency-domain response
Applaud clip
128kbs (joint stereo)
FhG "Alternate-bad" codec

Cool Edit 2000,
"high quality" or
qual9

FhG "Alternate-bad" codec

MusicMatch 5.10.0149
"very high"

FhG "Alternate-bad" codec

Proteron EasyMP3 1.1.0
"Higher Quality"

FhG "Alternate" codec

MusicMatch 6.000.0270
"very high"

FhG "Alternate" codec

Sound Forge 4.5h,
commp3.dll version 1.0, build 219
"highest quality"

FhG "Alternate" codec

Sound Forge 5.0 (build 117)
commp3.dll version 1.1 (build 254)
"highest quality"

 

This is the middle setting in each of the programs listed. The half-sweep plots are similar enough to the ones above to make me believe that this is in the same "Alternate" codec family. In Cool Edit, this setting is termed "fast," but it is really just quality setting 3, further supporting this idea.

Engine Time-domain response,
half-sweep
192kbs (stereo)
Frequency-domain response
half-sweep
192kbs (stereo)
Frequency-domain response
Applaud clip
128kbs (joint stereo)
FhG "Alternate-bad" codec

Cool Edit 2000,
"fast" or
qual3

FhG "Alternate-bad" codec

MusicMatch 5.10.0149
"high"

FhG "Alternate" codec

MusicMatch 6.00.0270
"high"

FhG "Alternate" codec

Sound Forge 4.5h,
commp3.dll version 1.0, build 219
"medium"

 

MP3Enc and the Alternate codecs are related to each other, I think. Both codecs are tripped up by the same difficult-to-encode pieces of music, and both take a very long time to encode at their highest quality settings. MP3Enc and Alternate are the only codecs I've heard to produce "dropouts" as artifacts (see the Lame test samples site under the BlackBird.wav entry).

Engine Time-domain response,
half-sweep
192kbs (stereo)
Frequency-domain response
half-sweep
192kbs (stereo)
Frequency-domain response
Applaud clip
128kbs (joint stereo)
MP3ENC 3.1,
qual9

 

Engine Time-domain response,
half-sweep
192kbs (joint stereo)
Frequency-domain response
half-sweep
192kbs (joint stereo)
Frequency-domain response
Applaud clip
128kbs (joint stereo)
FhG 1.0 build 63i

Producer Pro 2.1,
hq

FhG 1.2 build 63i

Radium hack,
hq

 

The lowest setting in Sound Forge ("fastest") is the same as the lowest setting in MusicMatch ("normal"). Cool Edit 2000 doesn't seem to have a quality setting which produces a signature that looks like this, but Cool Edit Pro with the MP3 ME plugin does. On the applaud clip, the Sound Forge 4.5h and MusicMatch Jukebox 6 implementations of FastEnc looks markedly different from all of the other codecs (See my page, Bug in latest FhG FastEnc).

Engine Time-domain response,
half-sweep
192kbs (joint stereo)
Frequency-domain response
half-sweep
192kbs (joint stereo)
Frequency-domain response
Applaud clip
128kbs (joint stereo)
FhG "FastEnc" codec

MusicMatch 5.10.0149
"normal"

FhG "FastEnc" codec

Proteron EasyMP3 1.1.0
"faster"

FhG "FastEnc" codec

Cool Edit Pro with MP3 ME plugin
"fast codec"

FhG "FastEnc" codec

Sound Forge 5.0 (build 117)
commp3.dll version 1.1 (build 254)
"fastest"

FhG "FastEnc-bad" codec

MusicMatch 6.00.0270
"normal"

FhG "FastEnc-bad" codec

Sound Forge 4.5h,
commp3.dll version 1.0, build 219
"fastest"

 

The FhG mp3 codec within Liquifier Pro does not produce repeatable encodes with halfsweep.wav, even within the same session. This is apparently the result of watermarking (?) Shown below are two encodes of halfsweep.wav using the exact same settings.

Engine Time-domain response,
half-sweep
192kbs (joint stereo)
Frequency-domain response
half-sweep
192kbs (joint stereo)
Frequency-domain response
Applaud clip
128kbs (joint stereo)
FhG Liquifier codec

Liquifier Pro 5.0
Run 1

FhG Liquifier codec

Liquifier Pro 5.0
Run 2

 

 

Engine Time-domain response,
half-sweep
192kbs (stereo)
Frequency-domain response
half-sweep
192kbs (stereo)
Frequency-domain response
Applaud clip
128kbs (joint stereo)
LAME 3.87alpha with
RH extensions,
hq

 

Engine Time-domain response,
half-sweep
192kbs (stereo)
Frequency-domain response
half-sweep
192kbs (stereo)
Frequency-domain response
Applaud clip
128kbs (joint stereo)
Xing plugin for
AudioCatalyst 2.1

 

Engine Time-domain response,
half-sweep
192kbs (stereo)
Frequency-domain response
half-sweep
192kbs (stereo)
Frequency-domain response
Applaud clip
128kbs (joint stereo)
Qdesign MVP 1.2.51

 

Engine Time-domain response,
half-sweep
192kbs (stereo)
Frequency-domain response
half-sweep
192kbs (stereo)
Frequency-domain response
Applaud clip
128kbs (joint stereo)
SoundJam MP 2.5.2 for Mac OS (Best quality, enabled Smart Encoding Adjustments, filter frequencies below 10 Hz)
iTunes 1.0 for MacOS (high quality default setting

 

 

Return to ff123's home page