Notes by ff123
Info2 reports on his r3mix site (analysis section) that MP3ENC 3.1 completely devastates the 16 to 22kHz region of a tone sweep during 256kbs hq encoding. He then uses this as rationale for ruling out MP3ENC as an archival encoder. Even though this is a synthetic signal, the argument goes, it should not come out audibly different from the source material. Therefore, it is a bad perceptual coder by definition.
The counter-argument to this is that this type of artifact may rarely, if ever, manifest itself on various types of real music. And in fact, the codec could sound better otherwise, except for the very small percentage of the time when it encounters the conditions represented by the sweep. Other codecs, by contrast, may not produce artifacts with the sweep below, but may often produce audible imperfections in real music. Which would be the better encoder? I'm not claiming that what I've just written is what's actually happening. I'm just pointing out the flaw in basing one's opinion of an encoder solely upon its performance on a test sweep. One should make a comparison based on listening to a variety of different music.
That said, I downloaded his file and heard for myself the clicking noises in that region. I initially hypothesized that the noises were mostly the result of encoding a signal which is too close to the 0dB level (see David Robinson's discussion of how encoding to mp3 can make clipping more likely here in the VQF forum). I reproduced the tone sweep in Sound Forge, and created another. The first one was generated at -0.4dB FS as shown by Info2 on his page. The other was -12dB FS. At -12dB, there are no loud clicking noises.
Click on thumbnail images to zoom.
| Description | Time-domain response | Frequency-domain response |
| -0.4dB tone sweep using Sound Forge |
||
| -12 dB tone sweep using Sound Forge |
However, that wasn't the whole story. David Robinson figured out that the real cause of the bad-looking plots was due to the way that Sound Forge generates its tone sweep. It doesn't ramp continuously in frequency, but rather steps in frequency. The stepping produces impulses which cause MP3ENC to barf. This is not necessarily something which happens when MP3ENC encodes real music, although it is certainly a possibility (as David points out), especially when encoding from vinyl, which is apt to have similar inaudible background noise.
To see what happens, we can look at a spectral view of the waveform. In the following graphs I show what the Sound Forge tone sweep looks like compared with a different sweep which continuously ramps from 2 to 20kHz (taken from "Studio Reference Disk," Prosonus, 1988). I normalized the latter sweep to -0.4dB FS so that it is directly comparable with the Sound Forge sweep. The vertical lines in the first plot show where the frequency stepping is occurring.
| Description | Time-domain spectral view |
| -0.4dB tone sweep using Sound Forge |
|
| -0.4 dB tone sweep from Prosonus CD |
When the Prosonus tone sweep is used as a source for MP3ENC, the codec has no problem with it, as shown below.
| Description | Time-domain response | Frequency-domain response |
| -0.4dB tone sweep from Prosonus CD |