Skip to main content

Topic: MPC VBR flaws (low volume & ringing) (Read 72212 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • Frank Klemm
  • [*][*][*][*][*]
  • Developer
MPC VBR flaws (low volume & ringing)
Reply #50
Quote
Isn't the purpose of track gain to be able to use the tracks in a compilation of tracks from different albums?
In this case, why would track gain be dependant of the gain of its neighbours tracks in the original album? If someone wants to listen a full album, he would use album gain, not track gain.
[a href="index.php?act=findpost&pid=311964"][{POST_SNAPBACK}][/a]


This is not an article about Musepack, but about flaws in the current ReplayGain
concept and implementation. Low level artefacts are related to this problem,
but this article is about ReplayGain and problems with ReplayGain. ReplayGain
ist *not* perfect at all, there's a long list of problems. Actually I use only
album based ReplayGain, other modes have a lot of problems which may significantly
reduce enjoy music.

Okay?

--------------------------------------------------------------------------------------------------------------

We should (always) start from the user application side.
And there there are at least three scenarios.

1. You want to listen to an album in original order. You want to remove volume differences between albums. The aim is to avoid volume differences between albums with different reference level, which is typical for album mastered in different decades. The effect is like a computer's turn on the volume control between albums (and by the way can also implemented in this way when the computer has access to the volume control via RS-232, RS-422, Cable LAN, Wireless LAN, IR-RC, IR-DA, USB, IEEE-1394, CAN, ...).

2. You want to listen to an album in original order. You want to remove volume differences between titels. The aim ist to reduce loudness differences inside an album, maybe also inside longer or very dynamic tracks. These loudness adjustments must be inaudible at all. No clicks, no distortions, no incredible noise boosting, no obviously loudness changes.

3. You want to shuffle titles of different album and you want to remove loudness differences between the titles. The goal is again: No clicks, no distortions, no incredible noise boosting, no obviously loudness changes.

Okay? Always start from the user application side, never start from the SSE and 3DNow!
assembler code side! Even when you like assembly programming on Intel.
Okay?

--------------------------------------------------------------------------------------------------------------

Now from the programmers geek side.

Solution for 1 is the album based replaygain and this work really great.

Solution for 2 is the proposal above. There should be a free parameter (with a useful default value) which controls the speed of the AGC. Someone want only slight loudness correction especially on title borders, another people wants to remove nearly all dynamic.

For album with silence at the title boundaries title based replaygain often works.
When there's only little loudness difference inside the album also the album gain works (see examples 2)!
There are some conceptional flaws and some flaws in the implementation.
* From time to time there are titles with (psychological) much too much title based replaygain gain
** short titles
** silent titles which must be silent at all
* file boundaries not at the real title boundaries
* live albums / classic without gaps
* noisy albums with little, but audible noise between tracks
* albums with DC
When an album has one of these problems, title based replaygain works poorly.
(see also Examples 1).

Solutions for 3 are also not so easy to implement. First of all we have problems with
boundaries (shifted, no silence). But it is not the task of replaygain to find useful
cuts or to fade between live titles during playback.

Primary goal is to remove loudness differences. Secondary goal is to avoid boosting
of intentionally silent titles. Third goal is to avoid noise boosting.

Short and very silent titles should not be boosted as much as replaygain's function GetTitleGain() says. This is important to avoid boosting of short and intentionally
silent titles.

To avoid noise boosting, ReplayGain's title gain must be limited. ReplayGain's album gain makes less problems, I only found albums with gains between -12.3 dB and +9,4 dB.
Within the title gain I found gain from -13,7 dB to +30,9 dB.

--------------------------------------------------------------------------------------------------------------

Even for 2 AND for 3 the current ReplayGain title gain is a really good implementation.
There are some flaws affecting the usage of ReplayGain title gain for problem 2 AND for problem 3. These should be fixed. In combination with a solution of the cut problem then ReplayGain title gain is also a great solution for problem 3.

Problem 2 must be solved completely different. Even when the ReplayGain title gain problems are solved, there are enough problems remaining when you want to use it
with music with
* file boundaries not at the real title boundaries
* live albums / classic without gaps
* noisy albums with little, but audible noise between tracks
* albums with DC

Examples: see next posting(s)
  • Last Edit: 09 July, 2005, 10:23:28 AM by Frank Klemm
--  Frank Klemm

  • Frank Klemm
  • [*][*][*][*][*]
  • Developer
MPC VBR flaws (low volume & ringing)
Reply #51
Example for changing title based replaygains from title to title.
(Pause) are silent intermezzi with background noise, ends and beginning of other titles.
Some are digital null or above +36 dB (=>0 dB titlegain), some are between +31 dB and
+15 dB (=> +15...+31 dB), some has normal loudness resultig in ReplayGain of -5...-7 dB.

The title numbering on the CD and on the Cover is different!

http://www.amazon.com/exec/obidos/ASIN/B0000CNY4K/

Replaygain values:

Code: [Select]
        Title            |        Album            |
  Level-  |      (Peak+)|  Level-  |      (Peak+)|
Adjustment|  Peak (Adjst)|Adjustment|  Peak (Adjst)|  Filename
----------+--------------+----------+--------------+---------------------------
 -7.52 dB | 34427 (14484)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [01] Wo willst du hin%3F.mpc
+30.12 dB |  599 (19205)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [02] (Pause).mpc
 -6.17 dB | 37039 (18203)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [03] Auf Herz und Nieren.mpc
 +0.00 dB |  187 (  187)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [04] (Pause).mpc
 -5.93 dB | 34627 (17495)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [05] Wir gehören zusammen.mpc
 +0.00 dB |  483 (  483)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [06] (Pause).mpc
 -6.84 dB | 37529 (17075)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [07] Abschied nehmen.mpc
+20.32 dB |  2571 (26674)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [08] (Pause).mpc
 -9.01 dB | 36891 (13074)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [09] Kein Königreich.mpc
+14.71 dB |  3633 (19759)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [10] (Pause).mpc
 -7.43 dB | 37127 (15783)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [11] Wir haben alles Gute vor uns.mpc
 +0.00 dB |    73 (  73)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [12] (Pause).mpc
 -6.51 dB | 35447 (16752)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [13] Alle Männer müssen kämpfen.mpc
+28.30 dB |  861 (22387)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [14] (Pause).mpc
 -5.25 dB | 35853 (19589)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [15] That's the way love is.mpc
+17.96 dB |  3587 (28361)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [16] (Pause).mpc
 -9.42 dB | 34291 (11592)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [17] Brief.mpc
 +0.00 dB |  309 (  309)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [18] (Pause).mpc
 -7.46 dB | 34297 (14529)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [19] Don't give up.mpc
+30.90 dB |  833 (29217)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [20] (Pause).mpc
 -5.01 dB | 36825 (20684)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [21] Gut aufgepasst.mpc
 +0.00 dB |  235 (  235)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [22] (Pause).mpc
 -6.60 dB | 36525 (17084)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [23] Wenn ich schon Kinder hätte (Rap-Version).mpc
+26.50 dB |  913 (19296)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [24] (Pause).mpc
 -6.93 dB | 29321 (13203)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [25] Kleines Lied (Kinderlied).mpc
+26.72 dB |  879 (19054)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [26] (Pause).mpc
 -5.08 dB | 31571 (17590)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [27] Die Dinge singen hör ich so gern.mpc
+25.92 dB |  4979 (98433)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [28] (Pause).mpc
 -7.47 dB | 34227 (14483)| -7.14 dB | 37529 (16495)| Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [29] Keep your eyes on me.mpc
 +0.00 dB |    1 (    1)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [01] (Pause).mpc
 -5.74 dB | 33169 (17129)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [02] Himmel über Deutschland.mpc
+16.33 dB |  2297 (15054)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [03] (Pause).mpc
 -5.28 dB | 35303 (19222)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [04] Ich lass sie sterben.mpc
 +1.95 dB | 24485 (30647)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [05] (Pause).mpc
 -6.18 dB | 34891 (17128)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [06] Bevor du gehst.mpc
 -8.76 dB | 34735 (12669)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [07] (Pause).mpc
 -5.53 dB | 36027 (19060)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [08] I'd be waiting.mpc
 +0.00 dB |  341 (  341)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [09] (Pause).mpc
 -5.09 dB | 34937 (19443)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [10] Sie ist im Viereck angelegt.mpc
 -4.91 dB | 33669 (19130)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [11] (Pause).mpc
 -5.30 dB | 35933 (19520)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [12] Eyes R shut.mpc
 +0.00 dB |    39 (  39)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [13] (Pause).mpc
 -4.22 dB | 34461 (21199)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [14] Der Geist ist willig.mpc
 +3.93 dB | 16935 (26624)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [15] (Pause).mpc
 -4.20 dB | 34441 (21236)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [16] Mägde und Knechte.mpc
 +1.62 dB | 31413 (37853)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [17] (Pause).mpc
 -6.81 dB | 35489 (16202)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [18] Der Herr knickt alle Bäume.mpc
 +0.00 dB |  349 (  349)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [19] (Pause).mpc
 -5.79 dB | 36597 (18790)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [20] Wer weiß schon, was der Morgen bringt.mpc
 +8.13 dB |  6591 (16805)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [21] (Pause).mpc
 -5.09 dB | 36205 (20149)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [22] Alles für den Herrn.mpc
 +0.35 dB | 34581 (36002)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [23] (Pause).mpc
 -4.74 dB | 38201 (22134)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [24] Wo driften wir hin.mpc
 +0.62 dB | 24231 (26023)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [25] (Pause).mpc
 -7.00 dB | 37661 (16822)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [26] Klagelieder.mpc
 -6.75 dB | 34197 (15721)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [27] (Pause).mpc
 -5.11 dB | 27527 (15284)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [28] Lied (du, nur du).mpc
 +7.97 dB |  7453 (18656)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [29] (Pause).mpc
 -4.56 dB | 33751 (19965)| -5.56 dB | 38201 (20140)| Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [30] Wenn du es willst (mir sind die Hände gebunden).mpc
         | 38201 (98433)|          | 38201 (20140)| --- maximum ---

Musepack bitrates and durations:

Code: [Select]
 PCM size File size  Ratio  kbps    Duration  Param Frequency  Name
   44.633    6.077  7.344  192    4:13.027  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [01] Wo willst du hin%3F.mpc
   0.938    0.079          120    0:05.320  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [02] (Pause).mpc
   45.605    6.469  7.049  200    4:18.533  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [03] Auf Herz und Nieren.mpc
   1.027    0.081          112    0:05.827  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [04] (Pause).mpc
   43.608    6.227  7.002  202    4:07.213  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [05] Wir gehören zusammen.mpc
   0.992    0.066        94.3    0:05.627  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [06] (Pause).mpc
   73.904    10.654  6.936  203    6:58.960  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [07] Abschied nehmen.mpc
   1.121    0.056        71.1    0:06.360  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [08] (Pause).mpc
   36.994    4.841  7.641  185    3:29.720  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [09] Kein Königreich.mpc
   0.959    0.127  7.510  188    0:05.440  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [10] (Pause).mpc
   58.002    7.115  8.151  173    5:28.813  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [11] Wir haben alles Gute vor uns.mpc
   0.886    0.088          141    0:05.027  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [12] (Pause).mpc
   57.607    8.598  6.700  211    5:26.573  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [13] Alle Männer müssen kämpfen.mpc
   1.032    0.070        96.3    0:05.853  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [14] (Pause).mpc
   48.740    7.471  6.524  216    4:36.307  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [15] That's the way love is.mpc
   0.896    0.049        78.1    0:05.080  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [16] (Pause).mpc
   54.923    7.670  7.161  197    5:11.360  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [17] Brief.mpc
   0.893    0.071          112    0:05.067  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [18] (Pause).mpc
   67.862    8.823  7.691  183    6:24.707  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [19] Don't give up.mpc
   0.933    0.064        97.6    0:05.293  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [20] (Pause).mpc
   45.358    6.029  7.522  188    4:17.133  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [21] Gut aufgepasst.mpc
   0.898    0.073          115    0:05.093  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [22] (Pause).mpc
   50.490    7.080  7.131  198    4:46.227  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [23] Wenn ich schon Kinder hätte (Rap-Version).mpc
   0.959    0.059        87.5    0:05.440  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [24] (Pause).mpc
   36.893    4.738  7.786  181    3:29.147  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [25] Kleines Lied (Kinderlied).mpc
   0.922    0.043        66.2    0:05.227  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [26] (Pause).mpc
   39.727    5.820  6.825  207    3:45.213  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [27] Die Dinge singen hör ich so gern.mpc
   1.070    0.087          116    0:06.067  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [28] (Pause).mpc
   53.317    7.313  7.291  194    5:02.253  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 1) (2002) -- [29] Keep your eyes on me.mpc
   0.705    0.001        3.52    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [01] (Pause).mpc
   65.564    8.723  7.516  188    6:11.680  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [02] Himmel über Deutschland.mpc
   0.705    0.070  9.954  142    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [03] (Pause).mpc
   39.210    5.050  7.764  182    3:42.280  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [04] Ich lass sie sterben.mpc
   0.705    0.068          137    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [05] (Pause).mpc
   55.006    7.742  7.104  199    5:11.827  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [06] Bevor du gehst.mpc
   0.705    0.085  8.295  170    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [07] (Pause).mpc
   42.500    6.411  6.629  213    4:00.933  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [08] I'd be waiting.mpc
   0.705    0.052          105    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [09] (Pause).mpc
   41.522    6.177  6.721  210    3:55.387  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [10] Sie ist im Viereck angelegt.mpc
   0.705    0.075  9.368  151    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [11] (Pause).mpc
   58.602    8.488  6.904  204    5:32.213  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [12] Eyes R shut.mpc
   0.705    0.020        40.7    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [13] (Pause).mpc
   45.720    5.820  7.855  180    4:19.187  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [14] Der Geist ist willig.mpc
   0.707    0.096  7.334  192    0:04.013  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [15] (Pause).mpc
   48.705    5.908  8.244  171    4:36.107  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [16] Mägde und Knechte.mpc
   0.740    0.061          116    0:04.200  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [17] (Pause).mpc
   40.108    5.619  7.138  198    3:47.373  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [18] Der Herr knickt alle Bäume.mpc
   0.705    0.061          123    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [19] (Pause).mpc
   38.960    4.891  7.965  177    3:40.867  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [20] Wer weiß schon, was der Morgen bringt.mpc
   0.705    0.052          104    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [21] (Pause).mpc
   40.701    4.656  8.740  161    3:50.733  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [22] Alles für den Herrn.mpc
   0.705    0.069          140    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [23] (Pause).mpc
   43.481    5.630  7.723  183    4:06.493  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [24] Wo driften wir hin.mpc
   0.705    0.070  9.968  142    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [25] (Pause).mpc
   40.637    4.630  8.777  161    3:50.373  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [26] Klagelieder.mpc
   0.705    0.057          114    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [27] (Pause).mpc
   45.299    6.495  6.974  202    4:16.800  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [28] Lied (du, nur du).mpc
   0.705    0.064          129    0:04.000  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [29] (Pause).mpc
   68.523    8.974  7.636  185    6:28.453  (2x16 44100 Hz)  Zwischenspiel - Alles für den Herrn (CD 2) (2002) -- [30] Wenn du es willst (mir sind die Hände gebunden).mpc
 1496.373  202.080  7.405  191  141:22.827                  --- 59 files ---

(HA board software reformats the first table, why???)

[span style=\'font-size:8pt;line-height:100%\']moderation: changed 'code' blocks to 'codebox' for better readability[/span]
  • Last Edit: 09 July, 2005, 12:30:17 PM by zZzZzZz
--  Frank Klemm

  • Frank Klemm
  • [*][*][*][*][*]
  • Developer
MPC VBR flaws (low volume & ringing)
Reply #52
Other examples where ReplayGain makes nonsense.
Especially the last example (May be someone knows this group and this album)
is suitable to destroy the hearing. While fading from "Waiting For The Worms" to "Stop"
the loudness is switched by more than 12 dB. The result are heavy overdrives for 2 or 3 seconds and you can frightens people to death.

Code: [Select]
decoding of file 'Back To Titanic (1997) -- [11] Celine Dion -- My Heart Will Go On (with dialogue from the film).mpc'
        to device /dev/audio (Open Sound System)

        Celine Dion: Back To Titanic    (1997)
   [11] My Heart Will Go On (with dialogue from the film)

 189.4 kbps,    4:43.09, SV 7.0, Profile 'Xtreme' (Beta 1.14), Gain 0.9616

    4:43.07 (runtime: 1.15 s  speed: 246.14x)

decoding of file 'Back To Titanic (1997) -- [12] Eileen Ivers -- Nearer My God to Thee.mpc'
        to device /dev/audio (Open Sound System)

        Eileen Ivers: Back To Titanic    (1997)
   [12] Nearer My God to Thee

 203.1 kbps,    2:22.34, SV 7.0, Profile 'Xtreme' (Beta 1.14), Gain 9.5280

    2:22.33 (runtime: 0.51 s  speed: 279.08x)


Code: [Select]
decoding of file 'Hot Rail (2000) -- [05] Crystal Frontier.mpc'
        to device /dev/audio (Open Sound System)

        Calexico: Hot Rail    (2000)
   [05] Crystal Frontier

 204.1 kbps,    3:56.77, SV 7.0, Profile 'Xtreme' (Beta 1.14), Gain 0.4222

    3:56.77 (runtime: 0.95 s  speed: 249.24x)

decoding of file 'Hot Rail (2000) -- [06] Untitled III.mpc'
        to device /dev/audio (Open Sound System)

        Calexico: Hot Rail    (2000)
   [06] Untitled III

 231.7 kbps,    4:07.48, SV 7.0, Profile 'Xtreme' (Beta 1.14), Gain 2.0893

    4:07.47 (runtime: 0.83 s  speed: 298.15x)

  17 Overdrives, maximum level 36659, rerun with --scale 0.89380



Code: [Select]
decoding of file 'Osho -- Kundalini Meditation (1995) -- [01] First Stage: 15 minutes.mpc'
        to device /dev/null (Null Device)

        Osho: Kundalini Meditation    (1995)
   [01] First Stage: 15 minutes

 233.3 kbps,   14:45.84, SV 7.0, Profile 'Xtreme' (Beta 1.14), Gain 0.5916

   14:45.83 (runtime: 2.83 s  speed: 313.01x)

decoding of file 'Osho -- Kundalini Meditation (1995) -- [02] Second Stage: 15 minutes.mpc'
        to device /dev/null (Null Device)

        Osho: Kundalini Meditation    (1995)
   [02] Second Stage: 15 minutes

 212.8 kbps,   14:39.18, SV 7.0, Profile 'Xtreme' (Beta 1.14), Gain 0.7464

   14:39.17 (runtime: 2.84 s  speed: 309.57x)

decoding of file 'Osho -- Kundalini Meditation (1995) -- [03] Third Stage: 15 minutes.mpc'
        to device /dev/null (Null Device)

        Osho: Kundalini Meditation    (1995)
   [03] Third Stage: 15 minutes

 215.7 kbps,   14:53.02, SV 7.0, Profile 'Xtreme' (Beta 1.14), Gain 1.1521

   14:53.00 (runtime: 2.69 s  speed: 331.97x)

decoding of file 'Osho -- Kundalini Meditation (1995) -- [04] Fourth Stage: 15 minutes.mpc'
        to device /dev/null (Null Device)

        Osho: Kundalini Meditation    (1995)
   [04] Fourth Stage: 15 minutes

   9.7 kbps,   14:42.02, SV 7.0, Profile 'Xtreme' (Beta 1.14), Gain 22.2075

   14:42.00 (runtime: 1.58 s  speed: 558.23x)

3425 Overdrives, maximum level 241085, rerun with --scale 0.13591



Code: [Select]
decoding of file 'The Wall (CD2) (1979) -- [10] Waiting For The Worms.mpc'
        to device /dev/audio (Open Sound System)

        Pink Floyd: The Wall (CD2)    (1979)
   [10] Waiting For The Worms

 200.2 kbps,    3:56.64, SV 7.0, Profile 'Xtreme' (Beta 1.14), Gain 1.3107

    3:56.64 (runtime: 0.85 s  speed: 278.40x)

decoding of file 'The Wall (CD2) (1979) -- [11] Stop.mpc'
        to device /dev/audio (Open Sound System)

        Pink Floyd: The Wall (CD2)    (1979)
   [11] Stop

 205.0 kbps,    0:34.95, SV 7.0, Profile 'Xtreme' (Beta 1.14), Gain 5.4828

    0:34.93 (runtime: 0.09 s  speed: 388.15x)

9937 Overdrives, maximum level 125247, rerun with --scale 0.26161
--  Frank Klemm

  • Frank Klemm
  • [*][*][*][*][*]
  • Developer
MPC VBR flaws (low volume & ringing)
Reply #53
A lot of albums have nearly no differences between the title based ReplayGain values.
Using album based replay gain for equalization of titles may be the better choise.

Code: [Select]
        Title            |        Album            |
 Level-  |       (Peak+)|  Level-  |       (Peak+)|
Adjustment|  Peak (Adjst)|Adjustment|  Peak (Adjst)|  Filename
----------+--------------+----------+--------------+---------------------------
-2.32 dB | 34823 (26660)| -2.98 dB | 34983 (24823)| Islands -- [01] The Wind Chimes.mpc
-3.30 dB | 31059 (21241)| -2.98 dB | 34983 (24823)| Islands -- [02] Islands.mpc
-3.10 dB | 31613 (22124)| -2.98 dB | 34983 (24823)| Islands -- [03] Flying Start.mpc
-3.09 dB | 28675 (20091)| -2.98 dB | 34983 (24823)| Islands -- [04] North Point.mpc
-3.53 dB | 34983 (23300)| -2.98 dB | 34983 (24823)| Islands -- [05] Magic Touch.mpc
-3.61 dB | 30963 (20433)| -2.98 dB | 34983 (24823)| Islands -- [06] The Time has Come.mpc
-2.75 dB | 31731 (23119)| -2.98 dB | 34983 (24823)| Islands -- [07] When the Nights on Fire.mpc
         | 34983 (26660)|          | 34983 (24823)| --- maximum ---


Code: [Select]
        Title            |        Album            |
 Level-  |       (Peak+)|  Level-  |       (Peak+)|
Adjustment|  Peak (Adjst)|Adjustment|  Peak (Adjst)|  Filename
----------+--------------+----------+--------------+---------------------------
-8.00 dB | 36787 (14645)| -8.10 dB | 37953 (14936)| Wishmaster (2000) -- [01] She Is My Sin.mpc
-8.44 dB | 37953 (14363)| -8.10 dB | 37953 (14936)| Wishmaster (2000) -- [02] The Kinslayer.mpc
-8.06 dB | 36125 (14282)| -8.10 dB | 37953 (14936)| Wishmaster (2000) -- [03] Come Cover Me.mpc
-8.27 dB | 36675 (14153)| -8.10 dB | 37953 (14936)| Wishmaster (2000) -- [04] Wanderlust.mpc
-7.38 dB | 34621 (14802)| -8.10 dB | 37953 (14936)| Wishmaster (2000) -- [05] Two For Tragedy.mpc
-8.54 dB | 36245 (13559)| -8.10 dB | 37953 (14936)| Wishmaster (2000) -- [06] Wishmaster.mpc
-7.76 dB | 35925 (14702)| -8.10 dB | 37953 (14936)| Wishmaster (2000) -- [07] Bare Grace Misery.mpc
-8.43 dB | 35949 (13620)| -8.10 dB | 37953 (14936)| Wishmaster (2000) -- [08] Crownless.mpc
-7.22 dB | 35475 (15449)| -8.10 dB | 37953 (14936)| Wishmaster (2000) -- [09] Deep Silence.mpc
-8.02 dB | 35857 (14242)| -8.10 dB | 37953 (14936)| Wishmaster (2000) -- [10] Dead Boy's Poem.mpc
-7.90 dB | 35909 (14461)| -8.10 dB | 37953 (14936)| Wishmaster (2000) -- [11] FantasMic.mpc
         | 37953 (15449)|          | 37953 (14936)| --- maximum ---
--  Frank Klemm

  • mtm
  • [*][*][*]
MPC VBR flaws (low volume & ringing)
Reply #54
Thank you for your posts, Mr Klemm. They certainly are some food for thought.

It's good to see you here again. 


Quite a lot of thread views, but not too many replies, so I'll risk mine.

From a purely practical point of view, do you think it's possible to change Musepack's RG the way it would fix problems reported by guruboolez ? You mentioned it would be more suitable for Matroska rather than SV7, and I'm curious.

Also, I don't listen to classical music nearly as much as typical classic lovers, and hence my second question is: would the practical implementation of new RG scheme have any negative influence on the idea of volume equalising between the tracks ?
I'm thinking mainly about track gain changes reported by guruboolez (about +20 dB) and a proposal of limiting the track gain to +-12 dB.

As I said, I have no idea about classic.  I'm sorry if I'm not understanding something.


Best regards,
MTM
Marius the Mad

  • ChristianHJW
  • [*][*][*][*][*]
MPC VBR flaws (low volume & ringing)
Reply #55
Quote
I got a new e-Mail from Frank (he follows this thread):
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
 

Result:

* 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.


Recently there hasnt been too much interest in investing time into improvement of our audio tools, as audio devs seem to be more inclined in seeing container and compression as an entity.

In a first step, you guys have to launch SV 7.5, so that we can start muxing MPC into MKA/MKV.

Christian
matroska project admin
http://www.matroska.org
Support matroska - the bestest vapourware project ! http://www.matroska.org

  • guruboolez
  • [*][*][*][*][*]
  • Members (Donating)
MPC VBR flaws (low volume & ringing)
Reply #56
Quote
This is not an article about Musepack, but about flaws in the current ReplayGain
concept and implementation. Low level artefacts are related to this problem,
but this article is about ReplayGain and problems with ReplayGain.


I beg you pardon, but you've apparently miss an important point: the problem occurs with ReplayGain and Musepack.
ReplayGain + Lame = no problem
ReplayGain + Vorbis = no problem.
ReplayGain + AAC = no problem (checked recently with Nero and previously faac)
ReplayGain + DualStream = no problem
ReplayGain + WavPack lossy = no problem
ReplayGain + MPC = problems

I won't say that ReplayGain is the cause of the problem. It's obviously MPC which can't be used safely in some situation at some encoding profiles.

Quote
ReplayGain ist *not* perfect at all, there's a long list of problems. Actually I use only
album based ReplayGain, other modes have a lot of problems which may significantly
reduce enjoy music.

Okay?


What should I conclude? That a problem shouldn't be considered as relevant because you have other listening habits? That's fine as long as you consider MPC as your own tool, dedicated to your own purpose and to people sharing the same behavior, and if you don't plan to improve the obvious bug occuring in other situations. But don't wonder if musepack will quickly loose its audience with such reasoning.
  • Last Edit: 10 July, 2005, 07:14:15 PM by Dibrom

  • rjamorim
  • [*][*][*][*][*]
MPC VBR flaws (low volume & ringing)
Reply #57
Quote
ReplayGain ist *not* perfect at all, there's a long list of problems. Actually I use only album based ReplayGain, other modes have a lot of problems which may significantly reduce enjoy music.

Okay?[a href="index.php?act=findpost&pid=311995"][{POST_SNAPBACK}][/a]


Honestly, that's the first time I see that reported here. Most other complaints I have seen were about replaygaining tools having bugs (wasn't there something about MP3gain and a memory leak? It happened so long ago...) and not about the proposal itself, as well as the existing implementations of it, having issues inherent to the analytical model or the way the gain information is obtained.

There were some complaints about RG behaving in a weird fashion on some specific albums, but I wouldn't call that "a long list of problems".
Get up-to-date binaries of Lame, AAC, Vorbis and much more at RareWares:
http://www.rarewares.org

  • Dibrom
  • [*][*][*][*][*]
  • Administrator
MPC VBR flaws (low volume & ringing)
Reply #58
Quote
I won't say that ReplayGain is the cause of the problem. It's obviously MPC which can't be used safely in some situation at some encoding profiles.


I think in fact it is more correct to say that MPC can't be expected to provide good results in all situations where postprocessing of the encoded file might occur, unless the user intervenes at encode time and provides the encoder with some information that can correct for this after the fact.

This still shouldn't come as a big surprise for a lossy codec.

Yes, other codecs may not exhibit this problem, but at least in the case of some (e.g., the adaptive ATH Gabriel mentioned), it appears that they rely on tradeoff's as far as compression efficiency is concerned here.  And furthermore, without 2-pass encoding being used, such an adaptive method is going to be much more imprecise.

Quote
What should I conclude? That a problem shouldn't be considered as relevant because you have other listening habits?


The inverse can be said just as well.  Should we conclude that MPC is buggy because it doesn't perform as well as you'd like after you modified the encoded file, invalidating the assumptions the encoder made about masking, etc.?

Quote
That's fine as long as you consider MPC as your own tool, dedicated to your own purpose and to people sharing the same behavior, and if you don't plan to improve the obvious bug occuring in other situations. But don't wonder if musepack will quickly loose its audience with such reasoning.


Calling this a bug seems like a real stretch to me.  It's not a problem with the encoder itself, it's a problem that arises when using the encoded file in certain situations that the encoder doesn't know about.  Furthermore, it would seem definitely not to be a bug since the problem goes away if you in fact give the encoder the correct information at encode time (e.g., ath adjustment).

I agree with Frank -- this is not a problem with MPC but a problem with using Replaygain in this way.  And that doesn't mean that there cannot be some sort of solution found, but I don't think that implementing some sort of imprecise changes in the psymodel to compensate for this special case -- sacrificing efficiency along the way -- is the right answer.

I think the proper solution is to implement some sort of multi-pass encoding system that allows for the encoder to interact with Replaygain more intelligently, if this is the way you plan to use your encoded files.  Maybe this would be done by calculating the Replaygain values for the file before encoding, and then using the track gain as an indicator for ATH adjustment and the like.  Of course this won't be an automatic process (you would have to specify some flag like --2pass), but I don't think it should be -- for people not planning to use their files this way, it should be unnecessary for them to have to make the efficiency sacrifices resulting in larger files.

Note: Sorry I accidently hit edit on your post instead of reply
  • Last Edit: 10 July, 2005, 07:18:47 PM by Dibrom

  • Gambit
  • [*][*][*][*][*]
  • Developer
MPC VBR flaws (low volume & ringing)
Reply #59
Quote
I think in fact it is more correct to say that MPC can't be expected to provide good results in all situations where postprocessing of the encoded file might occur, unless the user intervenes at encode time and provides the encoder with some information that can correct for this after the fact.
[a href="index.php?act=findpost&pid=312380"][{POST_SNAPBACK}][/a]

Erm, we are talking about Replaygain here. In the end, it's the same as adjusting the volume knob. I would hardly call that "postprocessing".
Burrrn - http://www.burrrn.net/
MPEG Audio Collection - http://mac.sourceforge.net/

  • Dibrom
  • [*][*][*][*][*]
  • Administrator
MPC VBR flaws (low volume & ringing)
Reply #60
Quote
Quote
I think in fact it is more correct to say that MPC can't be expected to provide good results in all situations where postprocessing of the encoded file might occur, unless the user intervenes at encode time and provides the encoder with some information that can correct for this after the fact.
[a href="index.php?act=findpost&pid=312380"][{POST_SNAPBACK}][/a]

Erm, we are talking about Replaygain here. In the end, it's the same as adjusting the volume knob. I would hardly call that "postprocessing".
[a href="index.php?act=findpost&pid=312383"][{POST_SNAPBACK}][/a]


Well call it what you like, but when you make significant changes to the playback level (e.g., what is happening here with classical music), it's just about as good as postprocessing as far as a psychoacoustic encoder is concerned.

The file is being processed (volume changed significantly) in a way the encoder does not expect, after the file has been encoded.

  • rjamorim
  • [*][*][*][*][*]
MPC VBR flaws (low volume & ringing)
Reply #61
Quote
Well call it what you like, but when you make significant changes to the playback level (e.g., what is happening here with classical music), it's just about as good as postprocessing as far as a psychoacoustic encoder is concerned.

The file is being processed (volume changed significantly) in a way the encoder does not expect, after the file has been encoded.[a href="index.php?act=findpost&pid=312384"][{POST_SNAPBACK}][/a]


But if something as simple as turning volume knobs is tripping the codec, then the problem can't be in the volume knob :B
Get up-to-date binaries of Lame, AAC, Vorbis and much more at RareWares:
http://www.rarewares.org

  • Dibrom
  • [*][*][*][*][*]
  • Administrator
MPC VBR flaws (low volume & ringing)
Reply #62
Quote
Quote
Well call it what you like, but when you make significant changes to the playback level (e.g., what is happening here with classical music), it's just about as good as postprocessing as far as a psychoacoustic encoder is concerned.

The file is being processed (volume changed significantly) in a way the encoder does not expect, after the file has been encoded.[a href="index.php?act=findpost&pid=312384"][{POST_SNAPBACK}][/a]


But if something as simple as turning volume knobs is tripping the codec, then the problem can't be in the volume knob :B
[a href="index.php?act=findpost&pid=312387"][{POST_SNAPBACK}][/a]


Umm.. It's not "something as simple as turning the volume knob" that is "tripping the codec."  If it were, this problem would be much more pervasive and would occur practically everywhere, instead of being limited to the rather specific conditions (i.e., significant boosting of highly dynamic music to levels that invalidate encode time assumptions about masking, etc.) that guruboolez has brought up.

  • rjamorim
  • [*][*][*][*][*]
MPC VBR flaws (low volume & ringing)
Reply #63
Quote
Umm.. It's not "something as simple as turning the volume knob" that is "tripping the codec."  If it were, this problem would be much more pervasive and would occur practically everywhere, instead of being limited to the rather specific conditions (i.e., significant boosting of highly dynamic music to levels that invalidate encode time assumptions about masking, etc.) that guruboolez has brought up.[a href="index.php?act=findpost&pid=312388"][{POST_SNAPBACK}][/a]


Well, since it doesn't shows up at all in other codecs, maybe it is the encoder we're discussing here that is making wrong "encode time assumptions about masking, etc."?

After all, if other codecs' psymodels can handle this issue (without two passes!), why can't Musepack's? That is what I am failing to understand. Granted it's a rare ocurrance only reported by Guru so far, but still, there's the point that no other codec suffers from it - even little tunes ones like Faac.
  • Last Edit: 10 July, 2005, 07:44:43 PM by rjamorim
Get up-to-date binaries of Lame, AAC, Vorbis and much more at RareWares:
http://www.rarewares.org

  • Dibrom
  • [*][*][*][*][*]
  • Administrator
MPC VBR flaws (low volume & ringing)
Reply #64
Quote
Well, since it doesn't shows up at all in other codecs, maybe it is the encoder we're discussing here that is making wrong "encode time assumptions about masking, etc."?

After all, if other codecs' psymodels can handle this issue (without two passes!), why can't Musepack's? That is what I am failing to understand. Granted it's a rare ocurrance only reported by Guru so far, but still, there's the point that no other codec suffers from it - even little tunes ones like Faac.
[a href="index.php?act=findpost&pid=312391"][{POST_SNAPBACK}][/a]


There are two ways I see that this could be handled, and is probably what is going on in the other codecs:

1) Adaptive ATH like what Gabriel was talking about.  It should be pretty obvious why a two pass solution is going to be better than this.  The encoder has to adjust the ath according to some sort of running average, and this is something that will have to be hand tuned probably.  If you adjust too fast, you lose a lot of efficiency.  If you adjust too slow, the user will hear artifacts that you were trying to adjust to prevent.  How do you suppose you are going to decide this?  There's not going to be a perfect way because you're working with incomplete data the whole time unless you go 2-pass.

2) Simply encode with a less aggressive ath level.  This is probably what is happening more of the time.  The problem here should be pretty obvious too -- you're always less efficient than you could be.  Maybe this isn't a problem if most people are happy with the bitrate though.

Maybe something else is going on and I'm simply missing it, but from the sound of what has been said, I don't think this is the case.

  • rjamorim
  • [*][*][*][*][*]
MPC VBR flaws (low volume & ringing)
Reply #65
Thanks for your clarification.

So, from that, one can infer that Musepack is being a little too conservative on choosing an encoding parameter (ATH) to favor on the bitrate efficiency side?
Get up-to-date binaries of Lame, AAC, Vorbis and much more at RareWares:
http://www.rarewares.org

  • Dibrom
  • [*][*][*][*][*]
  • Administrator
MPC VBR flaws (low volume & ringing)
Reply #66
Quote
Thanks for your clarification.

So, from that, one can infer that Musepack is being a little too conservative on choosing an encoding parameter (ATH) to favor on the bitrate efficiency side?
[a href="index.php?act=findpost&pid=312395"][{POST_SNAPBACK}][/a]


This is what I suspect probably, yes.

'Conservative' here could actually mean 'more exact,' since things seem to sound fine until you push them into the situation guruboolez is describing.  Unfortunately, when that happens there's no headroom anymore and you sometimes might hear artifacts.
  • Last Edit: 10 July, 2005, 08:07:11 PM by Dibrom

  • CiTay
  • [*][*][*][*][*]
  • Administrator
MPC VBR flaws (low volume & ringing)
Reply #67
Quote
'Conservative' here could actually mean 'more exact,' since things seem to sound fine until you push them into the situation guruboolez is describing.  Unfortunately, when that happens there's no headroom anymore and you sometimes might hear artifacts.
[a href="index.php?act=findpost&pid=312398"][{POST_SNAPBACK}][/a]


Yes, that was my feeling too. With that in mind, i think we should look at the possible fixes, i.e. --ath_gain -14 / Ltq_offset tweaks, and see if we can work something out from there. If it's just an increase of 3, 4 kbit (and it would only be needed for --quality 5/--standard, from what i understand), it could easily be added in a new release. After all, the bits that were shaven off in 1.06~1.1 would simply be added again for one profile.
  • Last Edit: 10 July, 2005, 08:28:45 PM by CiTay

  • mtm
  • [*][*][*]
MPC VBR flaws (low volume & ringing)
Reply #68
I just want to say I agree with everything Dibrom said. Any postprocessing has the potential to trip a psychoacoustic encoder, especially when the encoder is expected to provide high efficiency. 20 dB amplification is IMO a pretty extreme case and I'm not surprised it can cause some problems. I wouldn't be surprised in case of any codec.

I don't think it's fair to say Musepack is severly flawed and hope no one will. 

I wonder if RG modifiactions can solve all that.

<edit (while still writing > If not, I think CiTay is right that lowering the ath in some new release should not be a problem for any Musepack user, considering only minor bitrate increase (on avarage).
Marius the Mad

  • guruboolez
  • [*][*][*][*][*]
  • Members (Donating)
MPC VBR flaws (low volume & ringing)
Reply #69
Quote
The inverse can be said just as well.  Should we conclude that MPC is buggy because it doesn't perform as well as you'd like after you modified the encoded file, invalidating the assumptions the encoder made about masking, etc.?


That's fair. But as other members have said it, ReplayGain is not necessary to increase the volume playback. Even at home, I'm used to modify the volume during the playback. This behaviour might hurt some purists, but it's like making a pause, or listening again and again your favorite passage. It's simply a confort introduced and allowed by recordings (sometimes, Id like to increase the volume on classical concert - and also kill my noisy neighbour, but that's another problem ).

If a problem occurs on specific conditions, then problem lies in the encoder, and not in the listener's choice. Vorbis suffers (or maybe suffered) from perceptible pre-echo which is probably only audible with headphone. The answer to this issue is not to use loudspeakers instead, but rather to tune the encoder. Nobody would say that heaphones are buggy - the encoder is immediately accused, and rightly. If a developer would maintain that listeners should avoid headphones, users would probably switch to another encoding tool more suited to their habits.


Quote
I agree with Frank -- this is not a problem with MPC but a problem with using Replaygain in this way. 

You mean "...but a problem with using ReplayGain and MPC in this way" I suppose. Because I've no problem with current RG implementation - only some lossy encodings leads to problem. Of course, a track adjustment of 30 dB will increase the background noise, but I wouldn't compare this annoyance to the awful ringing produced by mpc --standard on such situations.

Quote
And that doesn't mean that there cannot be some sort of solution found, but I don't think that implementing some sort of imprecise changes in the psymodel to compensate for this special case -- sacrificing efficiency along the way -- is the right answer.


Possibly. But I only know that some encoders could handle this situation very well without sacrificing efficiency. Some of them have even encoding tool thats would allow to stay away from this issue at very low bitrate (vorbis as example, or SBR encoders). I can't say if MPC efficiency will be sacrified by correcting this problem; but I know that other lossy encoders could perfectly handle this situation and maintain in the same time the encoding efficiency.

In my opinion, sacrifying the quality on low volume content in order to increase the efficiency on most common material is a wrong trade off. Of course, it will please people a specific category of listeners, but other could only be disappointed by the poor performance on other material/situations.

Quote
Note: Sorry I accidently hit edit on your post instead of reply

I thought you've tried to correct all my grammatical and syntactic mistakes  Don't do it, it's probably more fastidious than tuning an encoder
  • Last Edit: 10 July, 2005, 09:27:59 PM by guruboolez

  • guruboolez
  • [*][*][*][*][*]
  • Members (Donating)
MPC VBR flaws (low volume & ringing)
Reply #70
Quote
I don't think it's fair to say Musepack is severly flawed and hope no one will.

The real problem is not the words we use to qualify the issue: it's the perception of the difference between the encoded file and the reference. Currently, MPC --standard produces severe artifacts on situations ~perfectly handled by LAME at 128 kbps. Now you'e free to describe the problem with your own words.
MPC is working very well on many situations. But here, it sucks (forgive my rudeness, but it corresponds IMO to the level of the artifact).

Quote
I wonder if RG modifiactions can solve all that.


Possibly. Another solution is to ask to composers or instrumentists to avoid quiet passages and to play everything loud enough to not mislead MPC current implementation. It should also solve the problem
  • Last Edit: 10 July, 2005, 09:26:55 PM by guruboolez

  • guruboolez
  • [*][*][*][*][*]
  • Members (Donating)
MPC VBR flaws (low volume & ringing)
Reply #71
Quote
With that in mind, i think we should look at the possible fixes, i.e. --ath_gain -14 / Ltq_offset tweaks, and see if we can work something out from there. If it's just an increase of 3, 4 kbit (and it would only be needed for --quality 5/--standard, from what i understand), it could easily be added in a new release. After all, the bits that were shaven off in 1.06~1.1 would simply be added again for one profile.
[{POST_SNAPBACK}][/a]


I fear that this kind of fix can't be proposed as default. The increase in bitrate would probably appear as excessive. Don't forget that the current 1.15 series is not on par with previous MPC encoders: bitrate is systematically higher, for an identical quality compared to 1.14 on a wide majority of samples. Some users have already complaint about it. 1.06 was the most "efficient" encoder; but when 1.1 was released, the bitrate was highered again to reach the same level than pre-1.06 encoders.

I've tried to evaluate the impact of the --ath_gain -14 on standard preset with my 150 short samples (edit: classical ones - it might differ with other music). It should give an accurate idea of the inflation:

- 1.01j --standard = 185 kbps
- 1.14 --standard = 188 kbps
- 1.15v --standard = 196 kbps
- 1.15v --standard --ath_gain -14 = 214 kbps

As you can see, 1.15v without additional switch already increase the bitrate compared to the latest beta. The inflation could reach 15 kbps per album (tried with harpsichord music) without experiencing any gain in quality. And compared to 1.01j, the difference is even higher - and also recall that [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=34911]I've tested 1.01j[/url] to sound better on a panel of 15 samples.

Now the ath_gain command would probably increase the quality, but the price to pay is a bitrate, with --standard profile and 1.15v, comparable to older encoder at --extreme profile.

The html files created with MisterQuestionMan:

- mppenc 1.01j
- mppenc 1.14
- mppenc 1.15v
- mppenc 1.15v --ath_gain -14
  • Last Edit: 11 July, 2005, 06:56:13 AM by guruboolez

  • CiTay
  • [*][*][*][*][*]
  • Administrator
MPC VBR flaws (low volume & ringing)
Reply #72
Quote
Now the ath_gain command would probably increase the quality,[a href="index.php?act=findpost&pid=312495"][{POST_SNAPBACK}][/a]


Probably?

Quote
--ath_gain -14 works very well, and solves all issues (I didn't carefully tried to hear smallest difference).



Quote
but the price to pay is a bitrate, with --standard profile and 1.15v, comparable to older encoder at --extreme profile.


That's why i said, we need to work something out, probably with --ath_gain -14 as a basis, and fine-tune from there. I will do some bitrate checking with pop music etc., of course 15 kbit increase would be too much, but i'm confident there is some middle ground.

  • Dibrom
  • [*][*][*][*][*]
  • Administrator
MPC VBR flaws (low volume & ringing)
Reply #73
I think I probably agree with guruboolez.  I'm not sure this sort of change should be made to the presets.

I really think probably some sort of 2-pass method would be better.  Why not simply calculate the track gain first and use the resulting value as some sort of offset to the defaults for the presets, and then use the already calculated track gain for the encoded file?  That way you sort of get the 2-pass 'for free' because you were going to calculate it anyway.  The downside to this is that the replaygain  value probably won't be exactly what it would have been since the encoded file should calculate just a little bit differently, but the difference should be negligible (I think?).  But doing it this way would probably catch cases where even a preset modification might not be enough, while also allowing the bitrate for most things to stay where it's already at.  The other good thing is that this is something that could be implemented 100% at the frontend side.

  • ancl
  • [*][*][*]
  • Members (Donating)
MPC VBR flaws (low volume & ringing)
Reply #74
Quote
I think I probably agree with guruboolez.  I'm not sure this sort of change should be made to the presets.

I really think probably some sort of 2-pass method would be better.  Why not simply calculate the track gain first and use the resulting value as some sort of offset to the defaults for the presets, and then use the already calculated track gain for the encoded file?  That way you sort of get the 2-pass 'for free' because you were going to calculate it anyway.  The downside to this is that the replaygain  value probably won't be exactly what it would have been since the encoded file should calculate just a little bit differently, but the difference should be negligible (I think?).  But doing it this way would probably catch cases where even a preset modification might not be enough, while also allowing the bitrate for most things to stay where it's already at.  The other good thing is that this is something that could be implemented 100% at the frontend side.
[a href="index.php?act=findpost&pid=312506"][{POST_SNAPBACK}][/a]

The 2-pass approch seem like a good solution. Reusing the replaygain can cause problem though - you won't get correct peak information.