MP3x is an graphical frame analyzer for both MP3 and unencoded audio files. It displays frame header information, original and decoded pcm data, MDCT spectrum, distortion, allowable distortion and other psycho-acoustic information. MP3x is distributed with the LAME source code - see the file INSTALL for information about compiling MP3x.
The following screenshots are from MP3x analyzing the file castanets.wav, or in the case of the FhG encoder and Mpecker, the frame analyzer was run directly on the castanets.mp3 file produced by these encoders.
- Analysis with mp3x using the GPSYCHO psycho-acoustic model.
- GPSYCHO almost completely removes the pre-echo effect in both granules.
- GPSYCHO makes good use of the bit reservoir - 1708 bits are used to code the mid channel for this granule, and 956 for the side channel.
- Unencoded MDCT coefficients are shown (the display can be toggled between encoded and unencoded.)
- Analysis of an FhG encoded .mp3 file with mp3x. Since we are analyzing an already encoded file, there is no psycho-acoustic information nor can the original .wav file data or original MDCT coefficients be plotted.
- Note the almost complete lack of pre-echo.
- MP3Encoder is making use of MS_STEREO and has almost doubled the number of bits used to encode the granule with the sharp attack.
- The attack occurs in frame 39 instead of frame 38 as it does in the other screenshots. This is because the FhG encoder has an extra filter bank delay as compared to the ISO encoder (perhaps coming from a high-pass filter?). I added padding to the castanets.wav to make this delay exactly one frame.
- Analysis with mp3x using the original ISO psycho-acoustic model.
- Most freely available encoders will produce identical results (LAME 2.1, 8hz-mp3, BlaceEnc, CDex with ISO .dll).
- Note the pre-echo introduced throughout the entire frame, and the fact that the algorithm failed to switch to short blocks for the sharp attack of the castanets. It will switch on the next frame, one granule too late.
- Only 771 bits is used to encode this granule - it is not taking bits from the bit reservoir, nor is it exploting extra bits from mid/side stereo.
- Unencoded MDCT coefficients are shown (the display can be toggled between encoded and unencoded).
- Analysis with mp3x of MPECKER encoded castanests.mp3. Since we are analyzing an already encoded file, there is no psycho-acoustic information, nor can the original .wav data or original MDCT coefficients be plotted.
- Mpecker has many strenghts, but does not do well with pre-echo control. It does not switch to short blocks, nor does it make any use of the bit reservoir. Future versions may overcome this with variable bit rate.
- Mpecker does make use of mid/side stereo, allocating 896 bits for the midchannel of this granule and 688 for the side channel.mid/side stereo.