Clarification needed: leveling in RC1

Beta Testing for Windows Products and plugins

Moderator: Gurus

ariel
Posts: 78
Joined: Mon Dec 19, 2005 4:12 am

Clarification needed: leveling in RC1

Post by ariel »

RC1 "what's new" says:
rusty wrote:Fixed Level Volume and Level Playback volume are off by 6db
Before installing RC1, how does this fix relate to the "level playback volume" problem I found? [quoted below] I'm a little weary of RC1 "fixing" 18k songs I worked hard to normalize ...

What worries me is that you mention 6db specifically, the value I used in the tests described here. It was just a test value to be certain I would hear the volume increase, and the problem existed for any baseline volume increase. The actual values I use (now I have "level playback volume" off as the default) are 1-2 db's over the value I use for the vast majority of songs (i.e. 86-87 db).

[now registered] Ariel.

From previous thread:
guest wrote:Found the cause - "level playback volume" must be UNchecked (off) in order for the for a high baseline set using volume leveling to be effective.

The option settings:

Baseline Volume Level - 85db
Analyze Volume only for Tracks with Unknown Leveling Adjustment - off
Target Volume Level for Player - 85db
Level Playback Volume - OFF (was on in previous tests)
Target Volume Level for Burning Audio CDs - 85db
Clipping Prevention - ON

I ripped a song from an audio CD to MP3 CBR 128kbs, with "level track volume" UNchecked (off).

I set "baseline volume level" to 91 db, did a "level track volume", reset "baseline volume level" to 85db, et voila - the song plays significantly louder.


Help says:

"Level Playback Volume - If this is enbaled, then the MediaMonkey player will play back Tracks that have volume Leveling coefficients at a level volume. It has no effect on Tracks that do not have a volume leveling coefficient."

The track should not have had a "volume leveling coefficient", because it was ripped (no leveling) and leveled (not analyzed). According to the help "Level playback volume" should have had no effect [and I shouldn't have had to spent I don't know how many hours to figure it out :(]

Either the help text is VERY wrong, or analyzed coefficients are written into the tags where they shouldn't.

be you gee ...
rusty
Posts: 8969
Joined: Tue Apr 29, 2003 3:39 am
Location: Montreal, Canada

Volume Leveling clarification

Post by rusty »

Ariel,

Let me try to clarify:

When the Analyze Volume command is used, a volume leveling co-efficient (that is hidden from the user) is generated. This value stores the perceived volume of the track and is calculated relative to 89db.

In pre-RC-1 builds, whenever MM did any volume leveling calculation based on this co-efficient (i.e. presented a volume leveling co-efficient to the user, 'Level Volume' of a track, 'Level Volume' when burning a CD, or 'Level Playback Volume' the calculations assumed that the value had been calculated relative to 83db (rather than 89db), resulting in calculations that were off by 6db.

In RC-1 we modified the calculations so that they assume that the co-efficient is relative to 89db. In RC-2, we're going to make another minor change to set all the default values to 89db instead of 83db (since 83db will be too quiet and most current Replay Gain implementations use 89db as well).

Summary: if you change the default values to 89db in RC-1, any tracks for which you have 'Leveled Volume' in the past should display in RC-1 with a Leveling co-efficient of 0, and will play back at the correct volume level regardless of whether or not Level Playback volume is enabled. Moreover, any tracks that you level in the future will also level at 89db, so they'll be consistent with the rest of your collection.

-Rusty
ariel
Posts: 78
Joined: Mon Dec 19, 2005 4:12 am

Post by ariel »

Thanks for the detailed reply, which (I think) I understand.

From the test results and what you said it seems that coefficients ARE written to tags during "level", which is not clear from the help text. That means that if I use "level" to normalize the playback volume, "level playback volume" SHOULD STAY OFF. [If on, any special baseline values used for songs that sound too soft or too loud with the "standard" value will be lost as the song will be played at the output volume anyway]

That would be ok, but ...

It seems that coefficient values are written into the tags of files that undergo a "level" and files that were ripped with "level" on. When it comes to convert, the coefficients seem to be written into the tags of the source file, while the output files just get leveled, without coefficients in the tags.

And it seems that once a track was leveled, it can't be releveled as the coefficient take precedence and MM doesn't do anything.

That means that files that were converted with leveling can be releveled once, while files that were ripped with leveling can't be releveled (which explains a lot of the strange things that were happening to me).

I'm dealing with a lot of tracks and importing files into MM and normalizing them are done separatly from listening to them and deciding if a specific song needs volume tweeking or not, sometimes weeks apart. Keeping unconverted copies, or re-ripping, on a massive scale for the few files that will need volume tweaking is unrealistic.

So the situation makes any "normalizing" that deals with exceptions practically impossible. Luckily so far my 85db standard has worked (for me) for the vast majority of the tracks.

I tried something else, and it seems that an already leveled file, with coefficients in the tags, can be releveled if the tags are cleared and it is deleted from the library and rescanned into the library (to get rid of the coefficients in the database?). But that's a major hassle (and I haven't tested it fully yet).

Fix?

First, have "level", "leveled rip" and "leveled convert" have similar results.

Second, have "level" ignore tag coefficients if they are there, making multiple re-levels possible.

Ariel.
ariel
Posts: 78
Joined: Mon Dec 19, 2005 4:12 am

Post by ariel »

First, an addendum:
ariel wrote:That means that files that were converted with leveling can be releveled once, while files that were ripped with leveling can't be releveled (which explains a lot of the strange things that were happening to me).
Converted files can re-leveled once, but can be re-converted unlimited times using "new destination", since each time the output file will have no coefficients.


But now for the real mess ...

Originally I thought the problem was with a few exceptional tracks. After various tests and comparisons I'm now as certain as I can be, short of reinstalling an older version, that, given the same speaker, system and MM volume settings, and with "Level Playback Volume" off, tracks leveled under RC1 have a perceived volume that is about 6db lower than tracks leveled with the same settings in previous versions.

Example - a track ripped with 85db leveling on Dec 2nd (beta 2?) has to be ripped with 91db levelling under RC1 to get the same perceived volume level.

That means:

1. I now have to re-process all the tracks I processed since installing RC1. Some of those are already offline on CDs, mixed with tracks that were processed by pre-RC1 versions.

2. I can't use MM until you figure this out one way or the other - the 83/89db thing and the coefficients written when they shouldn't.
rusty wrote:... any tracks that you level in the future will also level at 89db, so they'll be consistent with the rest of your collection.
[Or 91db in my case since my 85db was +2 to the 83db default?]

Well, right now tracks leveled at 85db with RC1 are not consistent with my previously leveled tracks, and it cost me some 12 hours, and probably 6 CDs, to figure it out. I would have greatly appreciated an advance warning.

Awaiting a solution (with no MM), and wondering if I'm the only one for whom this is a (major) issue ...

Ariel.
rusty
Posts: 8969
Joined: Tue Apr 29, 2003 3:39 am
Location: Montreal, Canada

Volume leveling clarification

Post by rusty »

Ariel,

That's a lot to assimilate, but let me try to summarize:

As far as what bugs exist:
1) I'm not sure what you mean about the need to have "level", "leveled rip" and "leveled convert" have similar results. Are you saying that you think that whenever an analysis of volume is done, the resultant co-efficient should be saved to both the source and destination file?

2) As far as a second bug, you're right that multiple 'Level Track Volume' operations should be possible.


Re. your assessment of the fact that there's a 6db difference between pre-RC-1 'Level Track Volume' and post-RC1 'Level Track Volume': that is correct, and is what I'd tried to explain in my earlier comment. By keeping the defaults to 89db, MM actually has the exact same default volume as it did previously (i.e. the previous defaults of 83db were actually 89db).

As far as re-processing your tracks, I don't understand why! If you're happy with the volume level on them, just use that volume level across all your tracks (i.e. 85 db on pre-RC1 = 91 db on RC1).

Lastly, based on this discussion, I've added a new section on volume leveling to the basic concepts section of the online help. Hopefully it'll prevent confusion for others.

Thanks for the bug reports and for your patience.

-Rusty
ariel
Posts: 78
Joined: Mon Dec 19, 2005 4:12 am

Re: Volume leveling clarification

Post by ariel »

rusty wrote:1) I'm not sure what you mean about the need to have "level", "leveled rip" and "leveled convert" have similar results.
Very simple - that whatever can be done with a "leveled" track will not be dependent on how it was leveled. Being able to do X & Y with a convert-leveled track but only X with a menu-leveled track is counter-intuitive. [And if it's really, really unavoidable, the help should warn about it in bold red letters]
rusty wrote:Are you saying that you think that whenever an analysis of volume is done, the resultant co-efficient should be saved to both the source and destination file?
I'm saying that whatever is done to leveled files should be consistent for all three leveling methods (menu, convert & rip).

Should that consistent action be writing coefficients or not? That depends if 2) below is solved.

If re-leveling will be possible (without using tweaks and tricks), then yes. That would allow to use "level playback volume" for a different volume level than the one with which the track was leveled. A possible use would be to "normalize" files at 91db, but use "level playback volume" with a target playback value of lets say 87db for late night listening, with the switching of levels being done via the play menu.

But re-leveling is more important, because it affects the volume wherever the track is played, not just within MM.
rusty wrote:2) As far as a second bug, you're right that multiple 'Level Track Volume' operations should be possible.
Which means it will be implemented in the near future? [I.e. should I wait with the tracks for which I want to fine tune the leveling?]
rusty wrote:Re. your assessment of the fact that there's a 6db difference between pre-RC-1 'Level Track Volume' and post-RC1 'Level Track Volume': that is correct, and is what I'd tried to explain in my earlier comment. By keeping the defaults to 89db, MM actually has the exact same default volume as it did previously (i.e. the previous defaults of 83db were actually 89db).

As far as re-processing your tracks, I don't understand why! If you're happy with the volume level on them, just use that volume level across all your tracks (i.e. 85 db on pre-RC1 = 91 db on RC1).
In the B4 to RC1 transition I was focused on the problems of the exceptional tracks, those that needed fine tuning of the volume level. While checking this under RC1 I kept batch processing other tracks, normalizing them and moving them to backup CDs. It took me time to realize that the low volume I was hearing was not just for those exceptional tracks, but for all tracks.

You should add to the release notes a note for those that used leveling to normalize tracks in pre-RC1, saying that in order to hear the same volume under RC1 they should add 6db to the leveling baseline value they used in pre-RC1. It wasn't clear from your explanation, at least to me.
rusty wrote:Lastly, based on this discussion, I've added a new section on volume leveling to the basic concepts section of the online help. Hopefully it'll prevent confusion for others.
I can't see it at ...

http://www.mediamonkey.com/sw/webhelp/f ... ncepts.htm

... but I assume it'll get there.
rusty wrote:Thanks for the bug reports and for your patience.
Thanks for your response, and my apologies for the tone of my previous message (written under the shock ...)

Ariel.
rusty
Posts: 8969
Joined: Tue Apr 29, 2003 3:39 am
Location: Montreal, Canada

Volume Leveling

Post by rusty »

So if I understand correctly, your current highest priority issue is item 2) which prevents you from re-leveling some of your tracks. It turns out that this is caused by the 'Clipping Prevention' function, which is very sensitive (perhaps overly sensitive) to clipping. You'll find that if you disable it, you'll be able to re-level your tracks to the desired level.

We're examining this issue to see if we can make clipping prevention a bit less sensitive, without compromising its function. Once this is fixed, issue 1) would appear to be moot, since you're able to relevel in any scenario.

Re. the release notes: good point--this will be in the 2.5 release notes.

Re. online help: I was referring to the 2.5 online help which will first be available with RC-2.

Thanks again.

Regards,
Rusty
ariel
Posts: 78
Joined: Mon Dec 19, 2005 4:12 am

Re: Volume Leveling

Post by ariel »

rusty wrote:So if I understand correctly, your current highest priority issue is item 2) which prevents you from re-leveling some of your tracks. It turns out that this is caused by the 'Clipping Prevention' function, which is very sensitive (perhaps overly sensitive) to clipping. You'll find that if you disable it, you'll be able to re-level your tracks to the desired level.

We're examining this issue to see if we can make clipping prevention a bit less sensitive, without compromising its function. Once this is fixed, issue 1) would appear to be moot, since you're able to relevel in any scenario.
NO! NO! NO! .... no ...

It has nothing to do with "clipping prevention", but with coefficients being written to the tags. My guess is that MM sees that the track has coefficients and simply skips the rest.

Here are the symptoms.

- If I menu-level a track WITHOUT delta db (coefficient?) info in the level column the process takes some time with a progress bar in the status area and the LEVELING is noticeable.
- If I menu-level a track WITH delta db info in the level column the process is over instantly and NO LEVELING can be noticed.

- If I rip/menu-level a track I get the delta db info in the level column (CANNOT be re-leveled).
- If I convert-level a track into a different destination I get delta db in the level column of the source track (CANNOT be re-leveled), and none in the detination track level column (CAN be re-leveled).

Given a track with delta db info in the level column, a track that CANNOT be re-leveled, if I ...
- clean the tags (tools, advanced tag management) and ...
- delete the track from the library and ...
- scan the track back into the library then ...
... it CAN be re-leveled. The down side is of course that I lost any tag updates I did after scanning the track in rhe first time :(

So, short of having some analysis tool that will give me tag dumps and volume stats, I'm certain MM is simply not leveling if it sees coefficients associated with the file, be it in the tags or in the database record.

That's what has to fixed.

Misc notes:

1. I did tests with clipping prevention on and off. It doesn't affect the outcome, at least not in the range of levels I'm interested in (so far). See for example tests 2/4 or 3/5 at

http://www.mediamonkey.com/forum/viewtopic.php?t=6948

It did kick in when I *lowered* the baseline volume (tests 6/8 and 7/9).

I'm not saying that the clipping prevention function shouldn't be fine-tuned, just that it has no bearing on the issue of track re-leveling.

2. I didn't test yet an inplace convert (source=destination) option (thanks for adding it). But in one case of a source#destination convert I didn't notice that the generated names were the same as the source names and MM overwrote the source tracks without warning me. Should be fixed.

Ariel.
rusty
Posts: 8969
Joined: Tue Apr 29, 2003 3:39 am
Location: Montreal, Canada

Volume Leveling in RC-2

Post by rusty »

By RC-2, all major volume leveling issues have been resolved:

In RC-1: the 6db discrepancy (using 89 db instead of 83 db for some calculations) was fixed
In RC-2: the defaults for new installs were changed to 89db
In RC-2: the bug in which 'clipping prevention' prevented some already leveled tracks from being releveled was fixed
In RC-2: readme/online help have been updated with better descriptions of how volume leveling works

As far as your collection goes all tracks external to your PC have been leveled to 91db (i.e. 85db post RC-1), so all you need to do is set all volume leveling options to 91db, and 'Analyze Volume' for all tracks in your library, and then either:
a) Enable 'Level Playback Volume'
b) 'Level Track Volume' for ALL tracks (on the assumption that you want to export them to a device that doesn't read the volume leveling co-efficients)
c) 'Level Track Volume' for some tracks and Enable 'Level Playback Volume' (tracks for which you've 'Leveled Track Volume' will have a co-efficient near 0 so 'Level Playback Volume' will have no effect on them).

As far as the questions you've asked I'll try answering them, but I think that a review of the new online help, and trying the above recommendations on a couple of tracks will probably answer most questions:
It has nothing to do with "clipping prevention", but with coefficients being written to the tags. My guess is that MM sees that the track has coefficients and simply skips the rest.
It might appear that way because 'Level Track Volume' actually does 2 things: a) it Analyzes Volume (if necessary or if mm is configured to re-analyse volume even when a co-efficient exists). This is somewhat time consuming. b) It adjusts the actual volume of the MP3 based on the coefficient. This is near instantaneous.

Thus, if volume analysis isn't required, (or is stopped prematurely by the clipping prevention code in RC-1 and prior builds), it could very well appear that step b) is not occuring even though it is.

- If I menu-level a track WITHOUT delta db (coefficient?) info in the level column the process takes some time with a progress bar in the status area and the LEVELING is noticeable.
- If I menu-level a track WITH delta db info in the level column the process is over instantly and NO LEVELING can be noticed.
The fact that no leveling can be noticed is most likely due to the fact that 'Level Playback Volume' is enabled. i.e. 'Level Playback Volume' looks at the coefficients and adjusts playback volume on-the-fly, so you wouldn't notice any change in volume if you 'Level Track Volume'. (Side note: Analyze Volume + Level Playback Volume will meet all your needs for playing at a level volume on your machine or on an iPod. The only time you would really want to 'Level Track Volume' is when you are exporting tracks outside your PC to a device that does not support Replay Gain co-efficients).
- If I rip/menu-level a track I get the delta db info in the level column (CANNOT be re-leveled).
- If I convert-level a track into a different destination I get delta db in the level column of the source track (CANNOT be re-leveled), and none in the detination track level column (CAN be re-leveled).
Pre RC-2, the clipping prevention bug is what caused some tracks to not be able to be releveled. With the fix to that issue in RC-2, any track can be releveled.

I think that covers it. Thanks for your persistence and attention to detail.

-Rusty
Anubis
Posts: 439
Joined: Fri Feb 04, 2005 4:57 pm
Location: Sydney, Australia

Post by Anubis »

wow ....
Post Reply