Automation

Tracing Track Loudness in Music Assistant

Music Assistant can obtain a track’s loudness value from three places: the file’s tags, the music provider, or its own analysis. Its documented lookup order is:

  1. R128 track and album tags
  2. ReplayGain track and album tags
  3. A value supplied by the music provider
  4. Music Assistant’s own per-track measurement

This provenance path is separate from playback configuration. Music Assistant first looks for a loudness value; queue settings then determine whether and how that value is used. (Technical Information)

This is a documentation-based explanation. No playback, tag-parsing, listening, or audio-quality tests were performed.

Loudness provenance at a glance

Source Priority Track value Album value Effect on Music Assistant analysis
R128_TRACK_GAIN and R128_ALBUM_GAIN 1 Yes Yes A qualifying value prevents analysis
REPLAYGAIN_TRACK_GAIN and REPLAYGAIN_ALBUM_GAIN 2 Yes Yes A qualifying value prevents analysis
Music-provider data 3 Yes Possible A qualifying value prevents analysis
Music Assistant Loudness Analysis 4 Yes No Used when no qualifying value is stored

Music Assistant specifically identifies Plex and Subsonic as providers that can report loudness data through their APIs. These are examples, not an exhaustive compatibility list or a guarantee that every item from either provider includes loudness data. (Loudness Analysis)

File tags have first priority

Music Assistant reads four relevant tags:

  • R128_TRACK_GAIN
  • R128_ALBUM_GAIN
  • REPLAYGAIN_TRACK_GAIN
  • REPLAYGAIN_ALBUM_GAIN

The R128 pair takes priority when both R128 and ReplayGain values are present. Tags are read when a track is scanned into the library. If you add or change tags later, use Refresh item on the track so Music Assistant reads them again. (Loudness Analysis; Technical Information)

There is an important album-tag edge case: an album value is read alongside the track value. A file with an album loudness tag but no track loudness value is treated as having no loudness value. (Loudness Analysis)

The documentation does not explain how malformed tags, conflicting values within one tag family, or unusual tag representations are handled.

Provider values come next

If file tags do not supply a qualifying value, Music Assistant can use loudness information from the music provider. Provider data takes priority over Music Assistant’s own measurement.

A track that already has a qualifying tag or provider value is not analyzed by Music Assistant. Its analyzer is therefore a fallback source, not an additional measurement that is always generated and compared with existing metadata. (Technical Information)

Some sources deliver audio at their own loudness target and report that behavior to Music Assistant. The documentation says those streams are left untouched, and the Audio Pipeline reports normalization as coming from the source. This is playback behavior rather than another file-tag format. (Technical Information)

Music Assistant analyzes individual tracks

When no loudness value is stored, the built-in Loudness Analysis provider measures the track using FFmpeg’s EBU R128 implementation. The provider is always active and cannot be disabled. (Loudness Analysis)

For an analyzed track, Music Assistant records:

  • Integrated loudness in LUFS
  • Loudness range in LU
  • True peak in dBTP

Local filesystem tracks can be measured by a background task, while tracks from any source can be measured during playback. The documentation does not provide a reliable completion-time estimate for background analysis. (Loudness Analysis)

Analysis is skipped for tracks shorter than 10 seconds, tracks exceeding 10 minutes of analyzed audio, and measurements that come back near silence. The documentation does not define the near-silence threshold or clarify how the 10-minute limit is implemented. (Loudness Analysis)

Album loudness follows narrower rules

Music Assistant’s analyzer measures individual tracks; it does not produce album-level loudness. Album values come only from file tags or a music provider. (Technical Information)

Music Assistant uses an available album value only when all these conditions are met:

  • The album was queued as an album.
  • The track was not added individually or encountered through a playlist.
  • Repeat mode is not set to repeat one track.
  • An album loudness value is available.
  • The selected normalization method is measurement-based rather than Dynamic or Fixed Gain.

Album gain preserves the relative loudness among tracks on an album. Without album-gain tags or provider-supplied album values, normalization operates per track. (Technical Information)

Playback settings consume—or bypass—the value

Under Settings → System → Streams → Queue Playback, Music Assistant offers six normalization methods:

Method Uses an available measurement? Behavior without one
Fallback Dynamic Yes Normalize on the fly
Fallback Fixed Gain Yes Apply the configured fixed adjustment
Measurement Only Yes Play at the original loudness
Dynamic No Always normalize on the fly
Fixed Gain No Apply the same fixed adjustment
Disabled No Leave loudness untouched

Dynamic processing and fixed gain are playback strategies, not stored loudness sources. (Core Settings)

For measurement-based normalization, Music Assistant uses integrated EBU R128 loudness to adjust the gain of the entire track up or down. The documentation describes this as gain adjustment rather than dynamic-range compression, provided sufficient headroom is retained; it is not a clipping guarantee. (Technical Information)

The method and target level are configured under Streams → Queue Playback. Normalization is enabled or disabled under Settings → System → Player Queues and can be overridden for an individual queue. (Technical Information)

Inspecting and retaining the value

The read-only Audio Pipeline view shows the active normalization value and reports whether it came from a track measurement, an album value, a live measurement, or the source’s own loudness target. Open it through the quality label in the Player Bar or Now Playing view. (Audio Pipeline)

Music Assistant can also write a measured value to an audio file as REPLAYGAIN_TRACK_GAIN. This option is disabled by default and requires write access; read-only files are silently skipped. The documentation does not describe writing album-gain or R128 tags. (Loudness Analysis)

In short, Music Assistant prefers R128 tags, then ReplayGain tags, and then provider data. If none supplies a qualifying value—and the track is eligible for analysis—Music Assistant can generate its own track-level value.

Sources and further reading

Back to top ↑

Rody

Founder & CEO · RodyTech LLC

Founder of RodyTech LLC in Iowa. I write practical notes on automation, infrastructure, security, and software decisions for builders and business operators.

No comments yet

Leave a comment

Your email address will not be published. Required fields are marked *