Plexamp incorrectly internally limiting to 48kHz on android

As has been discussed elsewhere (here), plexamp sends the wrong bitrate on android devices that are NOT limited to the android 48kHz sampling.

MOST android devices are limited to 48kHz. However, there are audio-first DAPs that bypass this limitation and have their own DACs. In these devices, the DAC can handle usually at least up to 192kHz. An example are the FiiO range of devices (M and R series).

These devices run on older versions of android, but this is NOT the issue. Moreover, the issue is NOT sample rate matching (as in android 14). The issue is that on these devices, the stream coming OUT OF plexamp is still only 48kHz when playing a file that is encoded at a higher rate.

Other apps (Qobuz, Tidal, Apple Music, Roon) on these devices play the correct sample rate of the encoded file. Plexamp does not. It seems that Plexamp internally ASSUMES that on android the maximum rate is 48kHz, which is not correct in every instance.

I asked FiiO about this and they did a test on their devices (as well as on the devices of other manufacturers) and they said that plexamp is simply outputting 48kHz on android devices even where the 48kHz limit did not exist. (See here).

What we are asking for:

  • Plexamp to simply send out the file as it is encoded. Do not resample, just let the DAC on the android device handle it. The DACs on these devices are high quality and can probably handle anything plexamp throws at it.

What we are NOT asking for:

  • Sample rate matching (per android 14).
  • Also not asking for this to be on all the time. Put a switch in the settings that defaults to off that users can turn on. Put a warning not to do this unless you are sure. But give the option when the device is capable.

Again, this is NOT an android issue. Nearly every other music app out there is able to play files at higher than 48kHz on these devices. There is something internal to plexamp that is limiting to 48kHz.

4 Likes

Hi there, we’d be happy to work with you on this; it’s hard for us to do it alone because we don’t have one of these devices!

Correct.

It might be as simple as enabling sample rate matching on Android, because that option will then assume it can output at whatever sample rate it wants to and the system will convert if needed.

If you DM me an email, I can get you into our Slack and we can work together on this? Alternatively, get FiiO to send us a device :slight_smile:

5 Likes

Thank you so much! DM sent

1 Like

I’d love to see this on my Hiby DAP as well. I wonder if Hiby or Fiio would be open to sending over a sample demo unit (or one of the resellers like they do for YouTube reviewers).

I don’t even have this problem, but I love seeing a fix come together.

2 Likes

Same issue as i had here with Plexamp on Shanling M3 Ulrta - all i had was 48 kHz tops on all 16/24 bit flacs (some of them are 192 kHz)

When I had my Eversolo A6 with me. It is always stuck at 192khz no matter what file I play on that Android plexamp app sideloaded in A6

I’m waiting to have a HiBy R4 DAP delivered in coming weeks and based on existing threads it’s also affected (Android 12).
Happy to assist to provide feedback / test a PlexAmp beta version once the device is in my hands.

1 Like

The beta version I got to test works on my Fiio R9 and M23 devices. I was told that it would be in the next mainline release.

1 Like

Looks like the release has been published but is waiting for Google to bless it for actual rollout => Reddit - Dive into anything

I have USB-C earphones (Moondrop).

Doesn’t seem to sample rate match.

Is this feature for whitelisted devices only?

What I have noticed, is that the android stream doesn’t always switch bitrates until the song is fully cached. It would not switch for me when I first started, but if I waiting a few minutes so that a lot of songs were cached, then it started switching correctly when I switched songs. So the first time I played a new song it usually did not switch the bitrate correctly. Try to wait a while after selecting a playlist or album so that they are in the queue and then switch songs. Also, make sure you have “strict” enabled for the sample rate matching.

So, the new update is in, but seems that it doesn’t work with Shanling M3 Ultra.
Here are screenshots with sample rate matching being turned on (and 192 kHz system notification).

Screens


And here are my logs:

Logs

55014878876720.zip (555.7 KB)

1 Like

Similar story with the Hiby R4. The option for sample rate switching is now there, and I have that to strict - however the player unit doesn’t deviate from showing 48khz to me

1 Like

Same issue on Hiby R4 EVA edition. All options (Strict, Smart, Disabled) result in 48kHz audio only :confused:

Toggling AAudio and OpenGL yields no change either. All EQ apps disabled.

I am using Plex Amp on an iBasso DX180 and it is properly handling sample rates. You need to disable a bunch of features in Plex Amp in order to get it to do this. Disable all the volume leveling / processing, all the cross fades, and set the sample rate matching to strict.

1 Like

Thanks for this, was worth a try, sadly this is not the case for Hiby R4. Disabling loudness levelling, sweet fades, limiter and EQ, even force restarting the app did not improve the state of things at all. Still stuck at 48kHz output.

1 Like

Sample rate matching: strict
Quality: maximum (wifi or whatever connection you’re using)
Loudness leveling: off
Sweet fades: off
Equalizer: disabled
Preamp: 0db
Limiter: off
Audio interface: AAudio

Just to confirm… if all that is set as such, perhaps try restarting the device? Beyond that, it’s going to be a limitation of the Android ROM on the device. iBasso clearly states that their version of Android supports native sample rates system wide… perhaps that’s not the case with Hiby?

Hopefully a Plex dev can get in contact with you and collect some more info in order to figure out where the failure is.

What about the Qobuz app? Does it resample to 48kHz as well? It would be super unfortunate if only the Hiby player could do high-res on your device… that would be beyond extremely disappointing if I were in your position and paid money for such a device.

Is there another app running in the background keeping the audio stream from closing, and thus not allowing Plexamp to switch the sample rate? Maybe try force quitting the Hiby player or anything else that’s running?

Being that you’re not the only one having the issue, it could very well be that Hiby only cared to make it work with their music app :frowning:

You’ve typed a lot and I do appreciate your engagement but I’m afraid you jumped some steps and forgot to do a bit more research about the other device lol. Anyway.

Thanks for providing full list of settings, I can confirm those are exactly the same as I tested, and they do not work on my DAP, regardless of reboots. No, nothing is keeping an audio session open, the Hiby has a clear indicator when there’s an audio session running.

As for the remaining part, this is neither a limitation of Android nor a Hiby issue, this definitely is a Plexamp issue (lack of feature? Bug? I guess it doesn’t matter what it’s called).

Bit-perfect playback isn’t limited to their HibyMusic app, I don’t use Qobuz but I do have MixPlorer installed with its audio app which has a SW/HW toggle that allows bit-perfect playback and everything works beautifully and bit perfect on HW, even system-wide DSD and MQA decoding works fine there.

It would be good if someone from Plexamp could revisit this again sometime, I haven’t seen any updates from @elan in a while.

Why do you think it is not an android or Hiby issue? You have also skipped a couple steps - installing other apps that also do sample rate matching to make sure it would work on any other app. Android indeed by default limits everything to 48kHz and it would be up to the ROM to disable/fix this. Mixplorer is a file explorer, and even with its audio app (since it is an explorer) could very well bypass the USB internally for local music (just like USB Audio Player Pro does). Mixplorer cannot stream music, can it?

Download and try one of the many apps that plays (and streams!) high res natively on android - Qobuz, Tidal, Apple Music, etc and make sure that the others all work. Only then can you be sure it is a plexamp issue. Make sure to do a bit more research and not skip these steps. Hiby says it does bit perfect audio, but you haven’t proven it with other streaming apps.

If you notice above, with the other hardware players, we all ensured that other streamers were outputting high res to narrow it down to a plexamp issue.