Volume Leveling automatically adjusts the playback volume in order to maintain a consistent level regardless of the source material.
Many people have Volume Leveling enabled all of the time as a way to minimize the need for manual volume adjustments. Others only use it for parties, radio, or mixed playlists where volume level differences from track to track are more severe.
Roon's volume leveling implementation is based on the EBU R128
standards, and we follow the recommendations made by the Music Loudness Alliance
Before Roon can make adjustments, it must have some information about the loudness of the materials and its peak values. This information is obtained during Audio Analysis
Enabling Volume Leveling
Volume Leveling is not enabled by default. You can find settings related to Volume Leveling on the Zone Settings screen. First click the volume icon, then the settings icon to reach the Volume Leveling options.
Volume Leveling Modes
Off - disable volume leveling for this zone.
Auto - Uses track adjustments when playing adjacent tracks from different albums, and album level adjustments when playing adjacent tracks from the same album.
Track - Performs adjustments on a track-by-track basis. This produces the most consistent volume level during a playback session, but may result in unpleasant jumps in volume during playback of a gapless album.
- Album - Performs adjustments on an album-by-album basis. This means that the entirety of an album plays back with the same adjustment, and there are no perceived volume jumps at track boundaries.
The "Volume adjustment when loudness is unknown" setting specifies a volume adjustment that should be applied when Roon does not have advanced knowledge of the loudness of a track. For example: when playing a track that has not been analyzed yet, or a track from an internet radio stream.
This setting prevents large changes in volume when transitioning from the content of known loudness to content of unknown loudness. The default of -5dB represents a reasonable compromise--since Volume Leveling makes almost all material quieter.
How Volume Adjustments are applied
Adjustments performed for the sake of volume leveling are simple gain adjustments--the audio signal is multiplied by a constant gain value. Currently, the adjustment is applied within Roon's DSP Engine
, but it's likely that future Roon Ready
devices will support volume leveling in hardware.
You can see exactly what is happening using Signal Path
If a positive gain adjustment would cause some part of a track to clip, the gain adjustment is modified to avoid clipping. This reasoning uses the "true peak" value captured during audio analysis. This is fairly rare since positive gain adjustments are uncommon. In accordance with industry standards,
Roon targets a final loudness of -14 LUFS. This is a fairly quiet level, thus Volume Leveling may prompt you to increase volume elsewhere in the system to compensate.
Viewing Volume Leveling Information
You can see volume leveling information on the File Info popup. This can be accessed by selecting "View File Info..." for a track in your library.
The "dB" numbers represent the volume adjustment that will be necessary to adjust this track or album to the target level of -14LUFS.
The "dbTP" numbers represent the "True Peak" level for the track or album.
The "Dynamic Range" value reflects the R128 "Loudness Range" for this track. For more information, see our Dynamic Range article
Using Loudness Data in REPLAYGAIN tags
is an older volume leveling system than R128. It is different in a couple of key ways:
- The analysis process uses a different algorithm, so it produces different adjustments
- ReplayGain targets a final volume level that's 5dB louder than R128's target of -14 LUFS
- ReplayGain information is often written into REPLAYGAIN_* tags in media files
Since many files out in the world already contain these tags, Roon supports making use of that information when it's present.
(Note that in many cases, REPLAYGAIN_* tags may contain R128 measurements that have been adjusted by 5dB to compensate for the differences in target level. This doesn't present a problem--just something to be aware of!)
Roon supports the following file tags:
When REPLAYGAIN_REFERENCE_LOUDNESS is not provided the *_GAIN tags are interpreted relative to an assumed target of -18 dBFS.
To turn on this support, go into Settings -> Library -> Import Settings, then enable one or both of these options: