• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Apple Music Sound Check Feature: Likely Audible Degradation or Not?

tmtomh

Major Contributor
Forum Donor
Joined
Aug 14, 2018
Messages
2,789
Likes
8,198
Raised this question in a thread about another, tangentially related topic. @acbarn gave a nice and very reasonable response, but I was wondering if anyone has actually done any testing or has any specific technical insight:

Question is pretty simple. How much does Apple Music's "Sound Check" volume normalization feature degrade noise performance/effective bit depth?

Since Sound Check is an adjustment in the master volume control and not the music file, it is plausible to hypothesize that the adjustment is done either at 32 bits, or else at whatever bit depth is set for the output in the Audio MIDI utility. But while that is a plausible hypothesis, it's far from certain - it also seems possible that the adjustment could be done at the bit depth of whatever music file is being adjusted, in which case redbook files could be adjusted using only 16 bits.

To my mind - and I am happy to be corrected here - I would say any concerns about Sound Check could therefore be roughly categorized as follows:

- If it's 32 bits, no concerns
- If it's 24 bits, not ideal but almost certainly inaudible, even when adjusting 24-bit content
- if its 16 bits (when playing/adjusting 16-bit content), that could in some cases be an issue, especially depending on whether not the adjustment uses dither.

I would love to know if @Archimago or anyone else has done any actual testing of this, and even if not, I'd be grateful if anyone has any clearer knowledge about Sound Check's under-the-hood operation, or a more evidence-backed sense than me of whether or not it's worth even being concerned about it at all.

Thanks!

[P.S. I searched for this topic before starting this thread and did not see anything responsive to these questions. Apologies if this has been answered elsewhere and I missed it.]
 
Last edited:

Zensō

Major Contributor
Joined
Mar 11, 2020
Messages
2,753
Likes
6,769
Location
California
Ideally, Sound Check does something like this, but I have a feeling that may not be the case.

9D2363FA-3445-4C2D-BE87-AFF8879CC47A.png
 

abdo123

Master Contributor
Forum Donor
Joined
Nov 15, 2020
Messages
7,448
Likes
7,956
Location
Brussels, Belgium
Why would anyone want this? It's bad enough on FM radio.
Because you don't want to destroy your ear drums when Hotel california ends and something from 2020 plays, I rather not spend the entire evening adjusting the volume with the remote or having jump scares. it's not really fun.
 

abdo123

Master Contributor
Forum Donor
Joined
Nov 15, 2020
Messages
7,448
Likes
7,956
Location
Brussels, Belgium
Every file on iTunes have meta data with the volume it should be played at if Sound check is on, I don't think much is happening to the content of the tracks themselves.

index.php


index.php


index.php
 

NiagaraPete

Major Contributor
Forum Donor
Joined
Jun 23, 2021
Messages
2,199
Likes
1,963
Location
Canada
Why would anyone want this? It's bad enough on FM radio.
I ran a stereo in my store, this kept the volume equal. Other than for elevator music I agree it’s useless feature.
 

thewas

Master Contributor
Forum Donor
Joined
Jan 15, 2020
Messages
6,904
Likes
16,939
Level normalisation is a completely different thing to compression that is used on many radio stations like Optimod, the first one does not change the dynamic range of a song and thus is not harmful. I love using it both on my HDD and streaming players instead of adapting volume for every album like in the "good old days".
 
OP
tmtomh

tmtomh

Major Contributor
Forum Donor
Joined
Aug 14, 2018
Messages
2,789
Likes
8,198
Why would anyone want this? It's bad enough on FM radio.

As @thewas has noted just above, this is not compression like on FM radio. It's normalization - simply an automated and more precise version of what you do when you turn the volume up or down on your preamp, integrated amp, or whatever. It preserves 100% of the dynamics - and as @abdo123 notes, Sound Check leaves the music file itself untouched.

So the concern I have with Sound Check has nothing to do with the integrity of the music files themselves, and it has nothing to do with dynamic range or compression. My concern is about the internal operating bit-depth Sound Check uses when it makes the volume adjustment. I know that our hearing is often less sensitive than we like to think, but I still don't like the idea that if I'm playing 16-bit content, Sound Check would be doing the on-the-fly volume adjustment in a 16-bit space (and perhaps maybe undithered?). Just on principle I'm not happy about getting less-than-16-bit S/N, especially at the "top" of the signal chain where noise and distortion are supposed to be as low as possible (because they will only get amplified as the signal goes down the chain).

Now, if Sound Check does the volume adjustment at a 32-bit working depth - which Apple's internal Core Audio is capable of - then I'd have no concerns. (And if it does it in 24-bit for some reason, I would find that kind of dumb but still not a real concern.)

For the moment I have turned off Sound Check because I can't be sure I don't hear a difference, and I conceptually prefer using just the Oppo 205's volume control, rather than having Sound Check change the volume and then also still using the Oppo as a second volume control if I want to make further adjustments in the volume for whatever reason - a single volume control, and one that I know operates at sufficiently high bit depth (64 in the case of the Oppo), feels preferable to me given my current lack of knowledge about Sound Check's internal bit depth.

It's also psychoacoustic dilemma: Sound Check adjustments occur in increments of 0.1dB and I don't have the equipment, skill or patience to try to level-match my playback by taking voltage readings of the output, song by song and album by album, with vs. without Sound Check. So when I'm hearing some differences with and without Sound Check, I have no idea if that's because Sound Check produces a small audible difference, or if it's because there are small volume differences due to imperfect level matching, or if it's because of my own confirmation bias/poor acoustic memory, or some combination of those factors.

So since I don't have definitive knowledge, for the time being at least I'm turning Sound Check off and manually adjusting the volume using the Oppo, as I was doing when I had BitPerfect enabled. (I'm keeping BitPerfect off because in contrast to Sound Check, I am not hearing any difference between (a) Music app-->BitPerfect-->Core Audio vs (b) Music app-->Core Audio.)

If I can find out definitively what Sound Check's internal workings are like, and if I feel good about the answer, then I will try Sound Check again, because in that case I might not have a confirmation bias shaped by a fear of Sound Check.
 

DVDdoug

Major Contributor
Joined
May 27, 2021
Messages
3,042
Likes
4,007
seems possible that the adjustment could be done at the bit depth of whatever music file is being adjusted, in which case redbook files could be adjusted using only 16 bits.
I don't know how it's done but any time you reduce the volume digitally you are loosing resolution at the DAC.

But... You can reduce the volume by -60dB and at 16-bits (where you're only "using" 6-bits) and you can't hear any loss of resolution because you can barely hear the audio!!! If you re-amplify you'll hear the quantization noise.

Similarly, when you turn-down the analog volume you reduce the signal-to-noise ratio (which reduces usable resolution) because you are reducing the signal without reducing the noise from your amp (or any electronics following the volume-reduction).

BTW - ReplayGain and MP3gain are similar to Sound Check.
 
OP
tmtomh

tmtomh

Major Contributor
Forum Donor
Joined
Aug 14, 2018
Messages
2,789
Likes
8,198
I don't know how it's done but any time you reduce the volume digitally you are loosing resolution at the DAC.

But... You can reduce the volume by -60dB and at 16-bits (where you're only "using" 6-bits) and you can't hear any loss of resolution because you can barely hear the audio!!! If you re-amplify you'll hear the quantization noise.

Similarly, when you turn-down the analog volume you reduce the signal-to-noise ratio (which reduces usable resolution) because you are reducing the signal without reducing the noise from your amp (or any electronics following the volume-reduction).

BTW - ReplayGain and MP3gain are similar to Sound Check.

Thanks! My concern lies in what you say about turning the volume back up: most of the Sound Check adjustments are negative, turning down the tracks’ volume. So compared to having Sound Check off, what I do with Sound Check on is precisely what you mention: The Mac streamer turns the volume down at its output, and then I proceed to turn the volume back up at the Oppo to get the in-room volume back to what it was when I used to have Sound Check disabled.

It is for this reason that I’ve again disabled Sound Check unless or until I can find out whether or not it has an impact on the effective bit depth of the 16-bit content that comprises 75% or more of my music library.

(And BTW as noted above, I use iVolume to re-normalize all the music, so my Sound Check adjustments actually are using ReplayGain values.)
 

Vincent Kars

Addicted to Fun and Learning
Technical Expert
Joined
Mar 1, 2016
Messages
798
Likes
1,596
it has an impact on the effective bit depth of the 16-bit content that comprises 75% or more of my music library.
That is not how it works.
You might have a 16 or 24 bit recordings. This is about the maximum possible dynamic range of the recording.

However, volume leveling (or any other kind of DSP) is about the arithmetic precision of the data path between the media player and the DAC.
Today this is often 24 (16 bit DAC are becoming rare) or even 32.

This is what you see in post #2
The 16 bit audio is converted to float.
Volume leveling is calculated using this float.
Converted back to 24 integer because this is what the DAC can handle.
 
OP
tmtomh

tmtomh

Major Contributor
Forum Donor
Joined
Aug 14, 2018
Messages
2,789
Likes
8,198
That is not how it works.
You might have a 16 or 24 bit recordings. This is about the maximum possible dynamic range of the recording.

However, volume leveling (or any other kind of DSP) is about the arithmetic precision of the data path between the media player and the DAC.
Today this is often 24 (16 bit DAC are becoming rare) or even 32.

This is what you see in post #2
The 16 bit audio is converted to float.
Volume leveling is calculated using this float.
Converted back to 24 integer because this is what the DAC can handle.

Thanks - this is precisely what my question was. I would presume, especially in 2021, that Apple's Sound Check volume adjustments are done using 32-bit float rather than a bit-depth/space limited to that of the original digital source file.

What I haven't been able to find out is if Sound Check actually works this way. If what you are saying is that converting to higher-depth float is so basic, so universally the standard procedure that it's a virtual 100% certainly that this is what Sound Check does, then in that case I hear what you are saying and that is helpful and good to know.

As for what it converts it back to, in this case the Mac is outputting 32-bit integer because the DAC is the Oppo 205 and that's what it can handle - both the Apple MIDI Utility and the BitPerfect app default to 32-bit (and show no option for anything less) when the Oppo is set as the output device/DAC.
 
Last edited:

Vincent Kars

Addicted to Fun and Learning
Technical Expert
Joined
Mar 1, 2016
Messages
798
Likes
1,596
virtual 100%
If you can live with virtual reality ....
Indeed, that is what OSX does, converting to 32 float, DSP, convert back to the setting in audio midi.
If you want your DSP done in integer (very fast but highly inaccurate), get Windows XP. It's dreaded Kmixer used integer arithmetic because this was very frugal on system resources.
 
OP
tmtomh

tmtomh

Major Contributor
Forum Donor
Joined
Aug 14, 2018
Messages
2,789
Likes
8,198
If you can live with virtual reality ....
Indeed, that is what OSX does, converting to 32 float, DSP, convert back to the setting in audio midi.
If you want your DSP done in integer (very fast but highly inaccurate), get Windows XP. It's dreaded Kmixer used integer arithmetic because this was very frugal on system resources.

Ok, thanks - this was the info I was seeking. Much appreciated.
 

AnalogSteph

Major Contributor
Joined
Nov 6, 2018
Messages
3,399
Likes
3,353
Location
.de
SoundCheck is a bit crude in that it has no provisions for anything other than track gain, but if memory serves there are some ReplayGain scanners that can basically write album gain into the SoundCheck fields instead. (It's basically the playback normalization equivalent of a single-button mouse.) Not sure how this would be handled on a streaming service though... check a few tracks from one album to find out.
 
OP
tmtomh

tmtomh

Major Contributor
Forum Donor
Joined
Aug 14, 2018
Messages
2,789
Likes
8,198
SoundCheck is a bit crude in that it has no provisions for anything other than track gain, but if memory serves there are some ReplayGain scanners that can basically write album gain into the SoundCheck fields instead. (It's basically the playback normalization equivalent of a single-button mouse.) Not sure how this would be handled on a streaming service though... check a few tracks from one album to find out.

Yes, I use the 3rd party Mac app iVolume, which does exactly that - scans the files using ReplayGain and writes the RG gain values into the music files using the same tag Apple uses for the Sound Check gain. In that way, iVolume allows one to use Sound Check in the Apple Music app, but with ReplayGain values instead of Sound Check values (iVolume overwrites Apple's Sound Check values).

I have read online that Sound Check has evolved over the years to scan for both track and album gain, and to use album gain when you play from the app's album view and track gain when you play from other views. I believe the "File" pane of the "Get Info" window for each track still only displays the track gain, but it's been claimed that the album gain is also written to the track somewhere. I can't verify for sure if this is true, as I switched to using iVolume long before this alleged Sound Check change/evolution was said to have occurred.

At any rate, in my case, I just choose the "normalize by album" option in iVolume (as opposed to normalize by track), which causes it to scan each album as a whole and apply the same RG value to every track in the album, preserving the proper volume of the album tracks relative to each other.

I've never enjoyed track-by-track normalization - for obvious reasons when listening to an album, but also when shuffling tracks from multiple albums.
 

DeLub

Active Member
Joined
Jun 16, 2020
Messages
135
Likes
178
Location
The Netherlands
SoundCheck is a bit crude in that it has no provisions for anything other than track gain
Apple claims in its Digital Masters document that:
Sound Check can also correctly set the volume per album, rather than per song, allowing albums that rely on volume differences between tracks, such as The Dark Side of the Moon by Pink Floyd, to maintain their intended volumes.
I.e., album gain.

The weird thing is, though, that it works as claimed on macOS. On iOS it has been broken for a long time now. I've tried two times to create a case with Apple about this issue. Strangely from iOS 14.6 (when lossless and spatial audio were introduced) it worked for a while. Now it's broken again... for AAC. For lossless it does work as advertised.
iOS versionAACLossless
< 14.6✖️n/a
14.6 - 14.8✔️✔️
15.0?✔️
15.1✖️✔️
15.2✖️✔️

To make Sound Check work, Apple should fix this bug. But I would also like an option where we can set the normalisation level. Now it's something around -16dB, but I'd like an option to set it to -23dB (just as it is possible in Spotify) to prevent some classical recordings to get a positive gain with the risk the limiter kicks in...
 

sarumbear

Master Contributor
Forum Donor
Joined
Aug 15, 2020
Messages
7,604
Likes
7,324
Location
UK
Why would anyone want this? It's bad enough on FM radio.
Sound Check is not compression. It is simply a volume control to match the LUFS of the tracks.
 
Top Bottom