Sample rate matching for windows app

I’m asking if an app can change the output sample rate of the Windows mixer to match the file being played (as long as that sample rate is supported by the audio output device).

I’m guessing, but this appears to be what’s happening in the Mac app when sample rate switching is enabled … it’s the first time I’ve seen a Mac app do that without the use of exclusive/hog mode, so I thought I’d ask if it might also be possible on Windows.

1 Like

OK, weird. I saw the macOS Plex app change the rate, with exclusive mode turned off - once.

Then I was playing with settings, playing other music, turned exclusive mode on and off, etc.

Now I can’t reproduce it again.

I wonder if Plex was requesting the rate switch, or if it’s a macOS feature. Now I have questions too!

(This with Plex.app. Unrelated to Plexamp.)

Just to be clear, here I’m only concerned with plexamp, which has no exclusive mode option

1 Like

On macOS you can change sample rate w/o exclusive mode.

2 Likes

Thanks for confirming … to summarize, sample rate switching on Windows version of plexamp would require the addition of exclusive mode, currently no plans to implement … tricky to add vs relatively low perceived benefit (avoidance of resampling).

Not the answer I was hoping for, but understood.

That was true – back then when we had Windows 95.
Even Microsoft can learn to improve their software.

I am listening with an external DAC which doesn’t support switching SR with any driver except ASIO.
So I’m setting it to a fixed SR of 96kHz. Which means that the majority of music I’m listening to will be resampled.
I’m using studio monitors since decades.
Let me tell you: the effects of the Windows mixer (when you follow a few simple rules) and the sample rate conversion in Plexamp are magnitudes smaller than the difference between 16 and 24 bit resolution of the source files.
(Yes, resampling can have a major influence on the fidelity. But only if done without expertise/computing effort. But Plexamp does it decently.)

The speakers and the listening situtation (i.e. the placement of the speakers and the room) are far more important.

Ah ok since it is damn complicated to add exclusive audio to a music player for Windows (in fact which player has it …) just convince yourself that is almost useless … ok

Non-exclusive mode means all audio is passed through the windows limiter. It only operate at about -0.2 dBFS but it’s a poor quality (low latency / no look ahead) limiter and the vast majority of modern music will be impacted by it. It’s main purpose is (very sensibly) to avoid harsh clipping when you have multiple audio inputs mixed down. However, it has no place in a high quality audio playback chain.

Additionally, anything that’s not at the same sampling rate as the windows default will be re-sampled to match the default. IIRC this was improved ~win 7 I, but again, worth avoiding for high quality playback.

Surprised and disappointed to hear exclusive mode is not on the roadmap given the positioning of plexamp.

IME, I wouldn’t say the above processes add night and day distortion but when you know what an album is supposed to sound like it’s fairly obvious and annoying (I speak from experience of other media players, wondering why something sounds odd and realising an update has caused fallback to shared mode).

For the record, I share little in common with ‘audiophiles’ with a modest amp and dac, excellent loudspeakers, and dirt cheap electronic/optical conductors :wink:

Agree, triggering the windows limiter during most tracks is not ideal.

For folks who do not want to enable volume leveling, I think setting preamp to 0dB is currently the best you can do to reduce any impact from the limiter … and even then (as you said) it will be triggered at some point during most tracks.

Curious why there are no negative preamp settings available (maybe worth a separate new request)? I’m guessing this can also be accomplished by reducing the system volume percentage, or the volume slider in the app, but these only allow for rough/visual settings.

You might like this - or already be familiar. An interesting rabbit hole with some specific observations and suggestions.

Yep, familiar with that … the 3rd party equalizer app is another way to handle this … although adding some negative preamp options within plexamp itself would make it easier for most users

Clarifying question on the preamp settings … do the positive gain settings only apply when loudness leveling is also enabled?

If so, then the negative (-0.2dB, -4.0dB ?) preamp settings suggested in comment above would be most useful if they were active regardless of whether loudness leveling is enabled or not.

Interesting post, thanks!

Just cutting through the reams of conversation that followed the entirely adequate analysis done by the o.p. there…

I proved a similar thing that by lowering the volume to -0.2 dBFS via the sound device volume control, then raising it again outside of the windows audio stack (e.g. using asio bridge to pull the shared mode audio back into a DAW like Reaper and adding 0.2 dB gain before outputting to (e.g.) spdif) you can get a bit perfect output for a 16 bit source as long as the default is 24 bit for the sound device (and set to a matching sampling frequency).

That is, the spdif output of a 16 bit source will null perfectly with the original file.

This makes total sense because there’s 8 bits of headroom in that case and the gain reduction/re-compensation is performed non destructively.

Obviously, it won’t lead to a perfect null for 24 bit sources but as shown in the op’s analysis the resulting distortion components are well below anything worth worrying about…

Anyway, point is, whilst there are workarounds for these things…

…I even found a way of forcing an auto switch of the sample rate in shared mode but can only remember it being ludicrously convoluted…

…just implement the player properly in the first place with exclusive mode, it’s why Microsoft created it.

That’s not happening any time soon, just to set expectations. It’s non-trivial to add.

That’s a shame, but appreciate the honesty.

To workaround this limitation I currently use either an old iOS device with the USB dongle and running Plexamp or a Windows based micro-pc with Plex.
Both of them can be remotely controlled by a Plexamp instance on my desktop PC or smartphone.
In both cases sample rate is adjusted correctly on the USB DAC

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.