Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Level mix compilation based on very dynamic track? (Read 2804 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Level mix compilation based on very dynamic track?

I have friends that like mix CDs (still!) and I mostly like making them (after the agonizing song selection process). My question is about volume normalizing but specifically, how to target an entire mix of songs to a variable loudness which would be based on a particularly quiet or dynamic track. I'm wondering what the best practice is in this situation, or the easy home solution!

Typically I would use Replaygain and scan the track gain of the entire compilation. With foobar2000 or CDBurnerXP, there is an option to "apply Replaygain before burning" and I really like how this turns out.

For an exaggerated example, let's say I've put together a mix with Supertramp's Hide in Your Shell and the rest are various pop songs from different eras. The Supertramp song has ~17 dB of dynamic range:
Code: [Select]
                 Left              Right
Peak Value:     -1.47 dB   ---     -1.09 dB  
Avg RMS:       -22.48 dB   ---    -22.32 dB  
DR channel:     16.47 dB   ---     16.84 dB

Replaygain would want to amplify this track by +3.13, but obviously it doesn't have the headroom and would clip. My question is, how would I lower the rest of the compilation down to this track's perceived volume? Or if I amplified this track by +1.47, it still isn't in the Replaygain target range, so how would I change the target for the rest of the tracks?

I realize volume changes don't cause a significant amount of distortion. I could convert the entier mix to WAVE and "apply RG without clipping" and see where the Supertramp track actually falls and manually adjust ever other track's RG value. I thought there might be an easier way or that I'm just ignorant.
Thanks!

Level mix compilation based on very dynamic track?

Reply #1
Quote
Replaygain would want to amplify this track by +3.13, but obviously it doesn't have the headroom and would clip. My question is, how would I lower the rest of the compilation down to this track's perceived volume? Or if I amplified this track by +1.47, it still isn't in the Replaygain target range, so how would I change the target for the rest of the tracks?


OK...  The difference between 3.13 and 1.47 is 1.66dB.    That means if you don't allow clipping this track will be 1.66dB below the volume-matching target.    If you also lower all of the other tracks by 1.66dB (after volume-matching with ReplayGain) everything should match.

Or, you can lower the ReplayGain target by 1.66dB (for all files on this compilation) if the software allows you to do that.  (I don't use foobar2000 or CDburnerXP, so I'm not sure if you can do that.)


What I generally do with a compilation or a limited-known list of songs is:
1. Normalize all tracks for (0dB peaks).
2. Choose the quietest song as the reference.
3. Adjust all of the other songs down (if necessary) to match the quiet song.

With a small number of songs on a CD that can be done by ear, but you could also use software to measure the loudness.

Level mix compilation based on very dynamic track?

Reply #2
Thanks DVDdoug! I think I can wrap my head around it a little better now. I used foobar's text tools utility to make a copy template that grabs all the replaygain information from a playlist. From there I pasted it into a spreadsheet where it was really easy to recalculate the gain adjustment needed for the rest of the tracks. For future compilations, it'll make really quick work of it.

Level mix compilation based on very dynamic track?

Reply #3
Maybe no one will find this useful but I've made a simple spreadsheet to help with this. What makes it really simple is if you have installed the Text Tools plugin for foobar2000. Create a custom copy template:
Code: [Select]
%list_index%$tab()$left(%replaygain_track_gain%,6)$tab()$left(%replaygain_track_peak%,6)

Copy and paste your compilation it into the spreadsheet using Text Tools (or enter them manually). It should re-figure the replaygain track values so that they are all equal in perceived loudness (according to replaygain) but also prevent clipping.

Upload here:
http://www.hydrogenaudio.org/forums/index....howtopic=104536