HQPlayer Upsampling Runs on a Pi4 - Invigorate your digital audio!

Discussion in 'Computer Audiophile: Software, Configs, Tools' started by Woland, Jul 20, 2021.

  1. dasman66

    dasman66 Self proclaimed lazy ass - friend

    Pyrate Contributor
    Joined:
    Mar 13, 2018
    Likes Received:
    2,461
    Trophy Points:
    113
    Location:
    NW Pennsylvania
    @Woland - appreciate the great guide on getting this up and running on Rpi... it's working pretty well for me, just trying to solve a dropout problem in the first few seconds of playback.

    I'm feeding a Holo Spring 2 via i2s from my Pi2AES. Upsampling Qobuz using sinc-Mx to max 19200 using NS9 dither. A couple of seconds into each track, the music pauses and then replays the last second or so - playback then continues to the end of the track without a problem. This happens on every track in the playlist. Anyone have any insight? or is this expected behavior?

    Assuming I can get this dropout problem solved, then my second question relates to the hardware fingerprint required for licensing... I asked this question to signalyst a few weeks ago, but haven't heard a response - again, appreciate any insight someone may have:
    ----------edit----------
    For those that may have had the same fingerprint question - here is the response I rec'd from Jussi:
    SDcard change doesn't change the fingerprint. Most hats, such as audio
    ones don't change either. Changing the RPi main board does change the
    fingerprint.
     
    Last edited: Jan 11, 2022
  2. Woland

    Woland Friend

    Pyrate
    Joined:
    Jan 13, 2021
    Likes Received:
    1,311
    Trophy Points:
    93
    Location:
    a friendly land
    My guess is you need to boost the performance of your Pi just a little. Search for articles on overclocking the pi 4 - I linked to one earlier.
     
  3. dasman66

    dasman66 Self proclaimed lazy ass - friend

    Pyrate Contributor
    Joined:
    Mar 13, 2018
    Likes Received:
    2,461
    Trophy Points:
    113
    Location:
    NW Pennsylvania
    Is there any way to know if my problem is overheating/throttling? I guess I could overclock and if it gets worse, then remove the overclock and try to cool...
     
  4. Cryptowolf

    Cryptowolf Repping Chi Town - Friend

    Pyrate Contributor
    Joined:
    Sep 27, 2015
    Likes Received:
    1,450
    Trophy Points:
    93
    Location:
    Rural Illinois
    What I2S setting are you using in the Holo Spring 2? I have a Holo Spring 3 and use the I2S-A3 setting. i don’t know if having a mismatch would lead to dropouts, but figured I would suggest this.
     
  5. Woland

    Woland Friend

    Pyrate
    Joined:
    Jan 13, 2021
    Likes Received:
    1,311
    Trophy Points:
    93
    Location:
    a friendly land
    The pi has lots of temperature sensors and the usual linux system tools can be used to show cpu load. or you can just rest a finger on the cpu while it's running and confirm it isn't searing hot.

    My experience with system load analysis was that HQPlayer didn't use more than one processor, the peak load was around 30% and the bottleneck was never overheating/throttling.
     
  6. dasman66

    dasman66 Self proclaimed lazy ass - friend

    Pyrate Contributor
    Joined:
    Mar 13, 2018
    Likes Received:
    2,461
    Trophy Points:
    113
    Location:
    NW Pennsylvania
    I just picked this up used a week or two ago... now I've got to find a FM so I can RTFM. In other words, no idea right now... I just changed the source to I2s and ran with it.

    If the peak load is only 30%, then can OC'ing the pi help anything? It seems like it should have computing power to spare...

    ----------edit----------
    ok, I've RTFM (or what they call a manual) and still have no idea about I2S setting (or if the Holo Spring 2 even has I2S settings). All I can find is that I'm able to change source and change mode. I have the source set as I2S and the mode is NOS.

    OT question - is the Spring 2 display noticeably dimmer than the Spring 1 and Spring 3? On its brightest setting, my Spring2 KTE screen appears to be half as bright as what I see in Spring 1 and Spring 3 video reviews/photos.

    ----------edit 2----------
    Ok, I've downloaded the Spring 3 manual to better understand the reference to I2S setting. The Spring 3 has (4) different configurable I2S pinouts. The Spring 2 has a single pinout that does not appear to be configurable. Comparing the two manuals - the Spring 2 I2S pinout appears to match the Spring 3 "Holo" I2S pinout (well, except for Pin 16 is "NC" in Spring 2 and "RSV" in Spring 3)
     
    Last edited: Jan 11, 2022
  7. Woland

    Woland Friend

    Pyrate
    Joined:
    Jan 13, 2021
    Likes Received:
    1,311
    Trophy Points:
    93
    Location:
    a friendly land
    There are 4 CPUs. Peak load has one going at 100% and a few background system tasks on the others. Overclocking lets that one CPU go faster. I've been hoping an update to HQPlayer will distribute the load across CPUs better.
     
  8. dasman66

    dasman66 Self proclaimed lazy ass - friend

    Pyrate Contributor
    Joined:
    Mar 13, 2018
    Likes Received:
    2,461
    Trophy Points:
    113
    Location:
    NW Pennsylvania
    I just assumed in this day of multi-core CPU's that a computation intensive piece of software would use all the cores made available (certainly more than 1).

    Reading back thru this thread, it also doesn't seem like I should be overtaxing the pi with only upsampling to max 192... seems like others are pushing theirs harder... I'm going to reduce the upsampling to 96 max and see if the dropout goes away...

    I also find it strange that it is always 1-2 seconds into a track, then repeats that 1-2 seconds and then plays the track the whole way thru without a problem (doesn't matter if its a 30 sec track or a 15 min track). I would think that overtaxing the pi would cause problems thruout...
     
  9. earnmyturns

    earnmyturns Smartest friend

    Pyrate
    Joined:
    Sep 25, 2016
    Likes Received:
    3,218
    Trophy Points:
    113
    Location:
    Palo Alto
    Home Page:
    Hum... I have a Spring 2 KTE in a different location fed by an Pi2AES, but via AES (btw, keep in mind that the Pi2AES I2S pinout swaps L and R relative to the Spring). No issues, but I don't use HQP or I2S with that setup.

    I have a May KTE here fed I2S by another Pi2AES. It definitely stutters when switching from unlocked state to phase locked state. Once it is in locked state, it will stay in that state for the most part. Turning "advanced power management" off on Ropieee's Advanced tab keeps the lock on for a long time. But if it loses phase lock, it will stutter again. On the May (and Spring 3, I believe) it's possible to turn PLL off to avoid this, at the cost of possibly increased jitter. There's no such option on the Spring 2, but it does have some kind of PLL, so I'm wondering if that is what's causing your problem.
     
  10. GoodEnoughGear

    GoodEnoughGear Evil Dr. Shultz‎

    Pyrate
    Joined:
    Oct 25, 2015
    Likes Received:
    3,070
    Trophy Points:
    113
    Location:
    Cape Town, South Africa
    On PC HQPlayer is single-threaded, as are pretty much all real-time/streaming audio/DSP processing systems. I think reconstructing a sequence/ time-accurate stream after spraying out the processing across multiple threads would introduce all sorts of difficulties. HQPlayer's scaling mechanism for heavyweight processing is using CUDA which I imagine is taking care of all that synchronization itself within the GPU.
     
  11. dasman66

    dasman66 Self proclaimed lazy ass - friend

    Pyrate Contributor
    Joined:
    Mar 13, 2018
    Likes Received:
    2,461
    Trophy Points:
    113
    Location:
    NW Pennsylvania
    I'm going to have to pay attention today... maybe it is stuttering when the bitrate changes and that is happening so often that I'm interpreting it as every track...

    ----------edit-----------
    nope... stutter occurs whether the bitrate changes or not. Occurs between two tracks on the same album, both upsampled from 44.1 to 176.4... Spring 2 indicated 176.4 the entire time, never showing unlocked. Interesting enough, the first track that I played did not stutter, but the tracks after the first have the stutter.
    I queued up an album (Qobuz - Gordon Goodwin's An Elusive Man @ 44.1). Playback is controlled via bubbleupnp. I hit play and bubble starts playing music 3 seconds in (I assume the lag is due to the upsampling going on), after those 3 seconds the first track plays all the way thru, no matter how long the track. Bubble indicates playback starting on the second track, the music again starts 3 seconds in, followed by an almost imperceptible pause after a note or two, replay those notes and then the track plays all the way thru, no matter how long the track.

    I need to hook up via AES and I need to try local playback... see if anything changes...
     
    Last edited: Jan 12, 2022
  12. earnmyturns

    earnmyturns Smartest friend

    Pyrate
    Joined:
    Sep 25, 2016
    Likes Received:
    3,218
    Trophy Points:
    113
    Location:
    Palo Alto
    Home Page:
    I've not used that app much recently, but when I used to, I recall issues with gapless play. Could you be getting gaps between tracks where the Pi drops control of the DAC, causing this? The fact that you did not get the issue on the first track of the album you just tested with makes me wonder.
     
  13. dasman66

    dasman66 Self proclaimed lazy ass - friend

    Pyrate Contributor
    Joined:
    Mar 13, 2018
    Likes Received:
    2,461
    Trophy Points:
    113
    Location:
    NW Pennsylvania
    good point... I need to add to my list of things to test... playback using HQPDcontrol
     
  14. dasman66

    dasman66 Self proclaimed lazy ass - friend

    Pyrate Contributor
    Joined:
    Mar 13, 2018
    Likes Received:
    2,461
    Trophy Points:
    113
    Location:
    NW Pennsylvania
    @earnmyturns gets the gold star (although to be fair, I didn't specifically mention bubbleupnp until today). The stutter disappears if I use local music and play thru HQplayer directly. I still have to figure out if it's bubbleupnp causing the issue or the qobuz/bubbleupnp in combination with HQplayer, but given how unstable bubble was with Moode, I'm leaning towards bubble being the sole culprit.

    I will update this post if I come up with more

    -----------edit------------
    Anyone have suggested alternatives to Bubble that will let me stream qobuz to HQplayer? (roon is not an option at my office location)
     
    Last edited: Jan 12, 2022
  15. earnmyturns

    earnmyturns Smartest friend

    Pyrate
    Joined:
    Sep 25, 2016
    Likes Received:
    3,218
    Trophy Points:
    113
    Location:
    Palo Alto
    Home Page:
    Just before I transitioned to Roon, I was able to use bubble with a local DLNA server to play gapless fairly reliably. More recently, I've used bubble to control a Chord 2go without issues, again playing local music. But I never used bubble to control external streaming.
     
  16. Biodegraded

    Biodegraded Friend

    Pyrate Contributor
    Joined:
    May 28, 2017
    Likes Received:
    7,980
    Trophy Points:
    113
    Location:
    Vancouver BC
    Tried mconnect? Haven't used it myself (nor HQplayer, nor Qobuz) but the description suggests it should be able to do it. Reviews are mixed, so try the free version first. Dunno what religion you are so here are links for both:

    https://play.google.com/store/apps/details?id=com.conversdigital

    https://apps.apple.com/ca/app/mconnect-player-lite/id507379024
     
  17. dasman66

    dasman66 Self proclaimed lazy ass - friend

    Pyrate Contributor
    Joined:
    Mar 13, 2018
    Likes Received:
    2,461
    Trophy Points:
    113
    Location:
    NW Pennsylvania
    Now I have... appreciate the recommendation.

    TLDR, as long as I don't get a notification on my control device, then it is much more reliable than bubbleupnp (at least for me).

    For whatever reason, mconnect thinks it is always playing locally on my phone. It's strange... mconnect is playing over the hqplayer renderer, but the player control in my phone notification area says "Playing on this phone". So any notification that includes audio (eg., text, email, phone call, etc) causes it to pause playback. Not desirable, but not entirely a showstopper... except that it doesn't want to restart playback without hitting the skip back or skip forward buttons in the player.

    [​IMG] [​IMG]
    I don't know if this is an mconnect problem, an andoid 11 problem, or a samsung problem.

    Anyone else using mconnect?
     
  18. Biodegraded

    Biodegraded Friend

    Pyrate Contributor
    Joined:
    May 28, 2017
    Likes Received:
    7,980
    Trophy Points:
    113
    Location:
    Vancouver BC
    Just installed Lite to try, and I don't think the interruption problem is the app. When playing local files from Minimserver (PC UPnP server) to Volumio on a Pi, the notification on my Android One (11 currently) Nokia 4.2 says "Phone speaker" which would be equivalent to your Samsung's "Playing on this phone". When I get a notification, though, there's no interruption to playback.

    Using HiFi Cast (which is my preferred control point but which isn't able to play Tidal, Qobuz etc.) set up the same way, incoming notifications don't interrupt playback, and what appears in the same position on the dropdown notification screen for the app is just a cast icon. Only when I tell the app to play to the phone do I get "Phone speaker" like with mconnect.

    So I think the "Phone speaker" thing is a red herring not related to the interruption problem - which could be caused by your music source (stream or server), HQ player, or your phone. I don't see anything in the mconnect settings that would allow turning off notifications, so if you want uninterrupted playback all I can suggest is temporarily turning them off in Android.
     
  19. dasman66

    dasman66 Self proclaimed lazy ass - friend

    Pyrate Contributor
    Joined:
    Mar 13, 2018
    Likes Received:
    2,461
    Trophy Points:
    113
    Location:
    NW Pennsylvania
    I don't think qobuz or HQplayer would know if my phone got a notification unless mconnect (or my phone) paused the playback. Since mconnect doesn't pause playback on your phone, then I'm going point the finger at my phone overzealously controlling playback.

    I'm going to take an old Nvidia Shield tablet in to the office tomorrow and set it up as the control point... I'll let notifications on and send something to it to test how it reacts. If the tablet pauses, then I'll simply turn off all notifications and should be good to go.

    @Biodegraded , appreciate your testing it out on your end. The people here at SBAF are great!

    ----------edit---------
    mconnect works perfectly with my old Nvidia Shield tablet. The tablet has rec'd a couple of notifications and I don't get the pause in playback. I'll also point out that the mconnect notification on the Shield does not indicate that the music is being played back on the tablet (actually, the notification doesn't indicate where it is being played back at all). So I guess this points to Samsung overzealously controlling/pausing mconnect playback on my S10e
     
    Last edited: Jan 18, 2022
  20. Noodlz

    Noodlz Almost "Made"

    Contributor
    Joined:
    Dec 28, 2015
    Likes Received:
    425
    Trophy Points:
    63
    Location:
    Los Angeles
    Thanks @Woland for putting the instructions together. super clear and easy to follow and i was able to setup really quickly. Couple of notes on small quirks i went though for anyone who experiences this:

    • When going to download the hqplayer embed OS image file from signalyst, if you try to download the files from the top (like me being dumb and not reading carefully), which is the older version, you may see an error where no file exist. download the latest version a couple lines down below.
    • When setting up to play from roon, it won't automatically be detected, you have to go to settings > Setup > add HQplayer, then input the ipaddress of the pi2aes that's running HQplayer.

    Sound wise its definitely interesting, i might have to play with the settings some more but so far it doesnt seem to be my cup of tea. to my ears when A/Bing against Moode at the native resolution, HQPlayer sounds...synethetic. It's leaner, more "clean" but a bit sterile. gone are the blooms and texture, replaced with harder, silver-string like definitions of the sound. It's definitely "Higher resolution" to my ears, but it doesn't feel as "real", if that makes any sense.

    Maybe i have to try different filter settings to get something less synthetic and more organic. Right not it sounds too much like a sharping effect done on a digitized vintage film stock. But some people may prefer that instead, YMMV


    Note: the chain i tested this on was from Pi2AES (moode vs hqplayer) >> AES to Schiit Modius >> ZMF Pendant (RFT EZ81, Tung Sol 7819, GE 12AU7) >> HighZ out to ETA GenG (Trinity Balance config). Test album was Ariana Grande's album "thank u, next", streaming from Qobuz.


    EDIT - Tried changing the filter settings and the changes are pretty significant. First thing i did was change the Dither NS-9 (which just doesnt sound right to me with the modius) into "TPDF" (read the help file and realized i dont like the shape to be alttered too much with all those other filters, which is probably why it sounded very synthetic and unnatural to me.

    Realized the original was playing with the Sinc-MX since that's what's set at the 1X filter. Tried out poly-sinc-lp which gave a nice soundstage but also make everything especially the vocals a bit nasal-ish and digitally squished. Tried out the closed-form-M which was really nice, and had a dark-analog feel to it similar to the Modi-Multibit as Woland described. However when compared to the poly-sinc-mp it seems almost grainy. The Poly-sinc-MP is currently my favorite, it sounds the most organic and fluid of the bunch, with better details and textures & a really nice separating of instruments without sounding disconnected. Very very nice. May also be that the minimal phase is best suited for modern pop music which ive been testing with.

    Further testing: Playing through the modius, reduced the rate limit down to 48000 with the polysinc-mp & TPDF setting and it sounded super weird. compressed and digital like someone bear-hugged the music. So maybe these settings need to be set to the 196k limit so it can properly upsample. Tested this to see if i can use hqplayer and make it sound good on my SFD-1 which only goes up to 48k i think. Playing HQplayer with the 48k limit on the SFD sounds less squished probably because the SFD's nice soundstage, but still weirdly digital-disk-ish.

    Back comparing with the pi2aes running moode vs hqplayer with the new settings, I actualyl quite like the hqplayer sound now. Not sure if its an upgrade but theres a certain clarity and presense across the board, but can't quite tell if its artificial yet. especially at $250, not sure if its worth it at all. but will listen more....
     
    Last edited: Jan 17, 2022

Share This Page