Jump to content

Turn Off Resampler?


GoremanX
 Share

Recommended Posts

A Google search shows that this has been asked multiple times, but there's never a satisfactory answer.

I have a HiBy R6 2020 music player. One of the features is an LED on the side of the player that glows a different color depending on the sample rate being played (blue for <=48khz, green for 48<=192khz, orange for 192+khz). It's a neat feature, even if it's mostly cosmetic. Using the stock music app (HiByMusic), the LED changes color depending on the source material I'm playing.

However, when using Poweramp with the Hi-Res output enabled, that light is always a color based on the sampling rate that I set in the output preferences. So basically it's always orange, because I have it maxed out at 384khz. Even if I'm playing 16/44.1 files, that light is glowing orange. Hi if I set the output to 192khz, it'll glow green. And if I set it to 48khz, it'll glow blue.

This is both reassuring because I have confirmation that Poweramp is really pushing out a high sample rate, but also annoying because it means there's some unnecessary processing being done to the source files by the resampler. I do have the SoX resampler enabled with no dithering, but when doing an A/B comparison between Poweramp and HiByMusic, I can definitely notice a difference in quality, with HiByMusic giving me slightly better clarity and more distinct sound stage, especially with 24/196 source material. This is with the EQ completely disabled in both players (right in the output settings in the case of Poweramp) and any sound processing done at the system-level rather than the player-level.

The HiByMusic app kinda sucks, I much prefer Poweramp, which I purchased directly for this music player (not through Play Store). I use Poweramp on all my devices and my music collection is organized with that in mind. Is there a way to bypass the resampler and eliminate that extra processing to send the file directly from the decoder to the DSP? That way the LED on my player would behave as intended, and I'd have the peace of mind knowing there's no extraneous processing happening in the decoding path.

Link to comment
Share on other sites

PA does not have the facility to dynamically change the output sampling rate or frequency based on different source files, you need to set the highest rate you think you will need and PA will upsample everything else.

There are several threads discussing the reasoning for this, including: 

Andre

Link to comment
Share on other sites

I think the general idea there is that Poweramp is mostly intended for general consumer devices, and implementing a layer that switches sample rate based on the source material would add complexity and potential side effects that outweigh the potential benefits on those consumer devices where the feature might not even be supported at all anyways.

I posit that we've reached a point where dedicated Android-based DAPs have become advanced and common enough that it would be worthwhile catering directly to those users with exactly such a feature. If other player apps can do it, then Poweramp should too. The bump in APK size is pretty much irrelevant, and if the adaptive nature of it is disabled by default, then it wouldn't negatively affect anyone that can't make use of it.

Personally I wouldn't even care, except that I can hear the difference. If I set the resampler to the same sample rate as the source material, the sound output between Poweramp and HiByMusic is pretty much identical. When resampling is happening, there's a slight loss of quality. Poweramp has BY FAR the better interface and features of any music app, but that slight dip in sound quality on a DAP that cost $800 is disappointing enough that I find myself looking at alternatives, and that's frustrating

Link to comment
Share on other sites

I'm in the same boat but have accepted the fact that I will have to look for a different app for this. I want my music app to do exactly NOTHING to the source signal. A source signal can never ever be improved; only distorted to make it sound more comfortable. These are completely different goals and audiophiles will always choose for zero intervention. It's disturbing to see there's basically only UAPP taking a zero intervention approach while being still being an app that is workable.

 

drftr

Link to comment
Share on other sites

I mean, UAPP isn't awful the same way that HiByMusic is... and its HiRes output definitely sounds better than Poweramp's since it does zero upsampling and directly supports my DAP. I just did an A/B/C test and UAPP sounds exactly the same as HiByMusic. Poweramp only sounds the same if no upsampling is being done. If there's any upsampling, I immediately lose some detail and clarity, especially in the higher octaves. And the LED indicator on my DAP confirms that UAPP is sending a signal that has the same sample rate as the source file.

There's also a weirdness in Poweramp where the player generates a weird, 1 second-long beep when I pause it while using the Hi-Res output. So far I've been ignoring that because it's not that big a deal, but UAPP doesn't do that.

Sadly, I can't find a way to buy UAPP except through the Play Store. That means it won't work unless I'm logged into my Google account. I'm trying to avoid using any Google account on my DAP, and Poweramp allows me to do that when I buy it directly.

Ugh... why isn't there a single, perfect audio player app? 🤣

Link to comment
Share on other sites

So far, most apps that I buy through the play store require me to stay logged into the play store to continue working. I don't know if they're all like that, but most of the ones that have a "free trial" (like Tasker, Poweramp, etc) will check into the play store periodically to ensure the license is still valid, and if it's not, the app will complain that the license expired.
It's infuriating. I prefer to leave my DAP unsecured (no lock screen), but doing so on a device that's logged into my Google account seems like a really bad idea. Poweramp's direct license that I paid for through the web site lives on my device and doesn't care about the play store

Link to comment
Share on other sites

Nope, just got a direct reply from Davy. Can only currently purchase through the play store, and if I'm not logged into the play store, the app will stop working.

Honestly, all I need is for Poweramp to stop upsampling and it would be perfect. It's a shame that such a commonly requested feature is getting ignored on some weird, philosophical grounds.

Link to comment
Share on other sites

Audiophiles probably make up less than 0.01% percent of music lovers so that may explain the choice. Most will simply be impressed to read that the app can "upsample" and drink a beer on it 😞

 

drftr

Link to comment
Share on other sites

That may be true, but I think audiophiles make up a much larger percentage of Poweramp users. Most music lovers use YouTube, Spotify, Pandora, etc. Very few music lovers carry their music library with them anymore. And the only real reason to do that these days (other than a need for network access) is for quality.

Link to comment
Share on other sites

Has anyone actually read Max's reply on this subject? Basically it does not work on most standard Android devices, I guess it is more of a placebo effect.

On 2/13/2019 at 7:32 PM, maxmp said:

While it's tempting idea, current state of Android devices doesn't allow to do that in usable way for wired headset connected to 3.5 or usb-c dongle:

  • most devices just don't support 44.1kHz multiples. They always produce 48kHz x multiple rate (48, 96, 192, 384, etc.). There is always a system resampling if we feed 44.1khz or e.g. 172khz to it
    • in this case, Poweramp resampler(s) are superior as they are configurable and often a higher quality vs stock default Android resampler
    • for players which advertise following file sample frequency (e.g. Neutron), this means system resampling happens anyway
    • these are most Qualcomm devices
  • many devices support only few sampling frequencies (e.g. recent Samsungs do 48khz, 192khz and 384khz only, no 44.1khz)
    • for players which advertise following file sample frequency, this means system resampling happens anyway, again
    • Samsung @ Pie forces these frequencies on both Exynos and Qualcomm variants (previously, some Exynos based Samsung devices supported 44.1khz on 3.5, but that now is removed from Pie ROMs)
  • qualcomm/mtk based chinese devices have varying gains and amplifier modes depending on sampling frequency (48khz - 0dB,192khz 6dB+, and some have 384khz +12dB + special amplifier mode). I don't think +12dB volume jumps would be accepted when you suddenly have a 384khz track in the collection.

Note, all this applies to 3.5 output, bluetooth or USB DACs are completely different story (BT is locked to codec-defined sample rate, and USB DAC support varies greatly for OEMs).

I really don't like to add features which don't actually work, just show good numbers in a UI (e.g. 44.1khz sample rate), but make sound worse behind the scenes.

To make it work for individual external DACs, he would need to write dedicated direct code for each separate device, which is not something he has plans (or presumably the time) to do.

Andre

Link to comment
Share on other sites

That's a fallacy. I'm not even talking about external DACs. While most devices don't support multiples of 44.1khz, most purchased and crafted HD music is in multiples of 48khz. Basically it would benefit any device that can currently support anything higher than 48khz, which is essentially the only valid reason one would use the HI-Res output in the first place.

In addition, this stipulation only applies to generic consumer devices. Most dedicated DAPs do in fact support all the multiples of 44.1khz AND 48khz. In fact, Poweramp detects all the supported sample rates of a device and lists them as choices in the Hi-Res output options. If a sample rate isn't supported, it's not listed. UAPP has an option to not upsample "If possible", which basically means it won't upsample as long as the source sample rate is supported by the device's DSP. If it's not supported, it'll upsample. That would probably take care of 99% of use cases, since a 44.1khz source would need to be upsampled by the DSP of most basic consumer devices anyways and Poweramp probably does a better job of that in most cases.

In my case, and the case of most Android 7/8/9-based DAPs, all sample rates are supported, so this is a moot point.

Link to comment
Share on other sites

PA detects available sample rates via Android's audio policy system. While it can set them, Max feels there is no guarantee that the data will actually be passed on untouched. Unless he writes custom code to directly address specific external DAC hardware anyway, which is not something that's on the cards any time soon I suspect. If he has anything to add to that, I'm sure he'll post it here.

Andre

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...