MPC VBR flaws (low volume & ringing), audible under specific conditions
MPC VBR flaws (low volume & ringing), audible under specific conditions
Jun 23 2005, 10:22
Group: Members (Donating)
Joined: 7-November 01
From: Strasbourg (France)
Member No.: 420
Iíve read recently some complaints about musepack and distortions occurring with classical music (examples here and here). There were no ABX tests to confirm them. According to my previous listening tests at ~175 kbps, musepack performs not only very well with various kinds of instrumental and vocal samples, but also better than competitors. But Iíve also noticed in the past one issue with this audio format that my previous test didnít revealed, and itís a very big one. Iíd like to bring out this problem to the community, which wasnít as far as I know warned about this kind of flaw.
Before carrying and before some seeing zealous users bare its teeth, I have to make clear that this issue only occurs in specific conditions. The problem is confined to low-volume musical content, and is mainly audible when this content has to be listened to a higher playback volume. In other words, affected tracks must have low volume parts, and tracks with high dynamic are not really concerned (you canít constantly push the volume on such material: your neighbors wonít appreciate it). The problem becomes really critical with low-volume tracks only. People who have to live with the consequences of the ďloudness warĒ are certainly not used to encounter such tracks, but for classical fans, tracks that are replaygained at +10 dB, +20 dB and sometimes +30 dB are all except a rare thing (tracks with corrected gain beyond +25 dB are nevertheless very rare). The encoded material would exhibit strong artifacts with ReplayGan set with Track Mode (they wonít be audible otherwise, except maybe as a subtle form of distortion Ė it could explain some recent complains about musepack and classical music). With RG enabled, even untrained people will be shocked by the terrible ringing that run across this musical material. MPC, with --standard profile, and to some degree --extreme and also Ėinsane is apparently not sensitive enough to handle low volume situation.
At this stage of my account, some people would be probably tempted to claim that such issue is normal with perceptual encoding, and that all other formats will suffer from the same issue in this specific playback condition. But a quick comparison would immediately deny all validity to this idea. Iíve compared musepack --standard to comparable MP3, AAC and Vorbis presets, and these competitors showed the ability to encode properly (no ringing, flat lowpass at high level) the same material. Even stranger, MP3 at 128 kbps, or Vorbis at 90 kbps (!), or AAC (faac!) at 100 kbps perform *much* better than musepack --standard. In other words, perceptual encoders (at least modern one) could handle this situation transparently at mid/low bitrate, even with VBR; only musepack fails, and badly. It might be interesting to note that the VBR model is apparently flawed: with --standard, the bitrate drops to unusual value (110Ö140 kbps), and quality to an even more abnormal threshold. An illustration (graphical Ė listening tests were performed upstream - click for link) could make things easier to understand:
Iíve also uploaded an additional gallery - the last one looks very weird! and sounds even worse as it looks.
The ringing, and the austere lowpass, are obvious on these screenshots. Quality is objectively worse than MP3@128; subjectively speaking, the audibility is Ėas usual- linked to various conditions: hardware, player settings (RG or not), listenerí sensitivity to ringing. Some users wonít notice it, some others will be frightened. The important point to note here is that other audio formats have no problems; my purpose wasnít to make an infertile comparison between MPC and other. Based on this comparison, Iím tempted to say that MPC could rejoin them with some tuning. Anecdotal point: LAME had recently serious issue (which also concern 3.90.3 ABR at mid/low bitrate) and they were recently solved by developers. I think Gabriel worked on an adaptive ATH threshold, and it might be a lead for MPC developer or for some users which are interested to play with current encoder switches.
Iíve uploaded some samples. The gain for short samples is necessary different from the gain of complete sample; but Iíve tried to cut sample with similar gain. The WavPack samples uploaded have all the native gain and the track_peak of the full track. Iíve also duplicated the track gain to the album gain.
Two appendix in this zip file : a piano sample for which track gain for the sample doesnít really match to the track gain of the full track (+40 dB instead of +25 dB) ; and a very noisy track for which musepack doesnít have any problem, despite of high gain correction.
This report is probably the last one Iíll do for MPC (a developer have claim their lack of interest for improving classical at --standard), but I nevertheless hope it will help to improve the encoder. Playing with command line (in order to change ATH or noise sensitivity) might be enough to solve or reduce this issue; therefore, every MPC user could contribute. In the meantime, users should be aware of this issue.
This post has been edited by guruboolez: Jun 23 2005, 10:26
Jul 8 2005, 22:19
Joined: 22-September 01
Member No.: 3
I got a new e-Mail from Frank (he follows this thread):
Title-based Replaygain in it's current form is completely useless for classical music. I could implement a couple of small, sensible modifications.
The whole thing has nothing to do with "merging" album- and track gain. Album Gain's current concept is correct, Track Gain should actually have a whole different concept.
First of all there's the question: Are modifications of loudness by more than +12 dB (for silent material) and -12 dB (for loud material) even reasonable, and are these even intended volume differences? This is also put into question if tracks are relatively short (i.e. clearly shorter than neighboring ones) and e.g. contain only announcements. Here, an adaptive method leads to better results.
Also, there are severe problems if the tracks aren't strictly seperated or when the most silent spot doesn't lie at the title border/cut. Moreover, the results are completely different when the same material is a) available as a CD with two big tracks or b) available as a CD with many small tracks.
Here we need another (more complex) solution, especially for classical music.
For one thing, it has to be possible to (slowly) change the loudness within a track (because it's e.g. 44 minutes long), and also, it has to be possible to steadily change the loudness, in order to have gapless title gain with live concerts.
This then amounts to a dynamic range compression similar to AC3, which however means more than 16 bit in the header, because we need to have constant control data.
For Matroska, here would be a proposition:
* Determine and apply album-based Replaygain (control range between K+26 and K-6) [with current nomenclature: +12 to -20 dB]
* Title-based Replaygain is an additional control signal, which is additionally applied
* Restrict title-based Replaygain to +-12 dB
* Title-based Replaygain can be changed steadily within a track
* For that, a control signal similar to an automatic level adjustment is calculated, with the following differences:
- slow adjustment rate with normal levels
- level-dependent maximum adjustment rate (e.g. 6 dB/sec at <-80 dB, 1.5 dB/sec at -60 dB, 0.4 dB/sec at -40 dB, 0.1 dB/sec at -20 dB, 0.02 dB/sec at >0 dB)
- these levels are relative to the album-based Replaygain
- adjustment considers volume jumps in both time directions
* Normal pop music with digital zero between the tracks isn't handled much differently, maybe the dynamics are lowered by max. 1 dB/minute.
- There are differences with long titles that have bigger dynamics
* The outcome doesn't depend on where the cuts/title borders are (important!)
- in particular, there are no problems when they're at the wrong place or when it's a live concert without cuts
* With classical music, the outcome is much more closer to what you would want when you listen to Beethoven in the subway.
But this thing is something that would be more for Matroska than for the MPC format.
Concerning another topic in the discussion: Encoding switches can be changed without making the file lose its "profile" info. You just must not decrease the quality with the switches.
|Lo-Fi Version||Time is now: 4th May 2015 - 19:44|