Jump to content
IGNORED

HQ Player


Recommended Posts

23 minutes ago, AnotherSpin said:

 

What about Mac? Is there a way to send Qobuz through HQP Desktop + NAA? Thank you.

You can use Loopback from Roque Amoeba ivery easily to appoint Qobuz etc as input for upsampling nu HQP 4.

And it sounds better than normal streaming from Qobuz.

Regards, Andreas

Link to post
Share on other sites
7 hours ago, asdf1000 said:

Thanks. For USB Audio Class input with HQPe, do we still need to use your custom kernel?

 

Yes, and of course suitable hardware.

 

7 hours ago, asdf1000 said:

And is that feature just as stable with HQP OS? In your release notes you mention for HQP OS it is 'preliminary'.

 

I guess it is mostly stable, there are some people using it.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to post
Share on other sites
5 hours ago, Yviena said:

i think there's really something HQplayer does not like about ryzen 2's architecture, as the CPU load, and thread allocations

 

It is also Windows that behaves in unpredictable ways. If Windows manages core allocations, it sometimes decides to put all the heavy stuff on one core and as a result fails miserably. And other times it decides not to honor requests (while not giving any API errors either).

 

5 hours ago, Yviena said:

Hopefully my 5900x will arrive, and maybe the behavioral issues will be different, maybe a 5800x would have been better though due to it having only one 8 core CCX instead of 6+6 of 5900x.

 

I'm planning to get 5800X because it has highest clock and cores combination.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to post
Share on other sites
2 hours ago, Uni said:

Did you port and test HQPlayer to Big Sur with new apple silicon (as universal app)?

 

No, will do it once I get my Mac Mini with M1. It has been on order for quite some time and Apple's original delivery estimate is by Dec 18th.

 

Big Sur on Intel Macs should be OK. At least I have not heard of problems.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to post
Share on other sites
38 minutes ago, AnotherSpin said:

What about Mac? Is there a way to send Qobuz through HQP Desktop + NAA? Thank you.

 

Same thing on all platforms. Loopback interfaces may work, but have the limitation that input rate needs to be changed manually. On Linux automatic rate switching can work through digital inputs without separate input NAA, using RME ADI-2 (Pro) or UAC2.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to post
Share on other sites
37 minutes ago, Luca72c said:

I'm not a PC programmer so i'm just guessing, but Qobuz (and others) windows player surely passes frequency info to the audio driver and frequency specification probably get passed to the physical audio device too, so how it is done? There is a sort of "frequency sensing"? Isn't it possible to implement something like this in Hqplayer?

 

Yes, that works for the output device. Problem is that OS expects application to do the same for input devices as well, application telling it wants to use sampling rate X.

 

ASIO is the only interface where application can tell "I don't know what sampling rate I should use, tell me what it is and when it changes". And very few drivers actually support this, even on pro interfaces...

 

37 minutes ago, Luca72c said:

More, Roon seems to pass frequency infos to Hqplayer too, so there is a way (or many) that can be implemented.

 

Yes of course, it works because it is API designed by me, not by Microsoft, Apple or someone else. Same goes for NAA's API.

 

Unfortunately macOS or Windows don't support talking to HQPlayer APIs like Roon does... ;)

 

37 minutes ago, Luca72c said:

Taking another way, maybe Hqplayer could incorporate a sort of virtual driver that makes it appear as an audio device to the system, like virtual audio cable does.

 

Yes, but that driver would need to be developed and maintained for three different platforms, and would need to bypass OS interfaces for the way back to application which makes it especially tricky.

 

37 minutes ago, Luca72c said:

For example, AcourateConvolver seems to do something like that, so it should be possible...

 

That is because it is ASIO driver and not WDM one?

 

37 minutes ago, Luca72c said:

Sorry to insist, but i believe that being able to play audio from various software PC sources like Qobuz, Youtube, Kodi, etc...

 

Qobuz you can already do through Roon, or with HQPlayer Embedded through UPnP using various different apps.

 

For YouTube or Kodi, involving video playback it would be useless because video and audio would be horribly out of sync. And I think @Geoffrey Armstrong has made a way to use Kodi with HQPlayer to at least some extent.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to post
Share on other sites
12 minutes ago, Miska said:

 

Same thing on all platforms. Loopback interfaces may work, but have the limitation that input rate needs to be changed manually. On Linux automatic rate switching can work through digital inputs without separate input NAA, using RME ADI-2 (Pro) or UAC2.

 

Correct ....but once SET  to 44.1 as my part of my normal subscription = CD Quality it works very nice and adding this config to settings by script function it as piece of cake.🤠

Link to post
Share on other sites
15 minutes ago, Miska said:

 

It is also Windows that behaves in unpredictable ways. If Windows manages core allocations, it sometimes decides to put all the heavy stuff on one core and as a result fails miserably. And other times it decides not to honor requests (while not giving any API errors either).

 

 

I'm planning to get 5800X because it has highest clock and cores combination.

 

I thought 5900x actually boosts higher, and Idk if it's  just because of windows anymore, Linux/Ubuntu 20.04 has the exact same issue as windows with cpu% either being around 19-21% with threads hitting 100% thus stuttering, or getting lucky with 16-19% usage with threads hitting only 90-92% with playback being fine then.

 

Maybe There's  something  magical with having only 3 cores allowed for HQplayer to use  for ryzen.as the 10-11% usage with zero dropouts was with that configuration, allowing the software to use 1 more core even if boosts clock are the same immediately  leads to drop-outs.

Link to post
Share on other sites
1 hour ago, Yviena said:

I thought 5900x actually boosts higher

That is also my understanding and 5950X boost the highest, but 5800X can most likely sustain a higher all core frequency because fever cores to use the power budget even thought the 5900X/5950X is better binned.

We are not getting anything better than DSD256EC so does the peak all core frequency really matter.

According to this on AnandTech even when utilizing 12 cores on the 5950 the clock is 4175MHz. I would expect the 5900X to be close.

Link to post
Share on other sites
1 hour ago, Yviena said:

Maybe There's  something  magical with having only 3 cores allowed for HQplayer to use  for ryzen.as the 10-11% usage with zero dropouts was with that configuration, allowing the software to use 1 more core even if boosts clock are the same immediately  leads to drop-outs.

 

Is the CCX in your case 3 or 4 cores? IIRC there are 2, 3 and 4 core CCXs depending on model... It is likely related to cross-CCX communication penalty that flips it over...

 

I have detection for AMD CPUs, so if the Zen 3 also has similar issues, I can disable the core pinning for AMD CPUs in the auto-configuration path. Trying to do it more fine grained is sort of maintenance nightmare, although technically possible.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to post
Share on other sites

Just picked up the V2 RME ADI-2 FS DAC.

 

I'm waiting for my SMSL TH-9 THX headamp to arrive.

 

So for now, the RME is directly driving headphones.

 

I'm not bothering to send it DSD till headamp arrives and I can do "DSD Direct".

 

So for now HQP is upsampling everything to PCM768kHz, ext2, Gauss1

 

Wow, sounds sublime.

 

What a great DAC and headamp in this RME.

 

It has the dynamics and timing and power and authority over my headphones that I enjoy with my Chord Hugo2.

 

I'm hoping DSD Direct at DSD256 sounds better.

 

Very impressed! 

 

NAA is RPi4 in Flirc fanless case that I just picked up to see how the RPi is these days, running NAA image. RPi4 board doesn't go above 45 deg C. Nice

Link to post
Share on other sites
2 hours ago, Miska said:

 

Yes, but that driver would need to be developed and maintained for three different platforms, and would need to bypass OS interfaces for the way back to application which makes it especially tricky.

 

That is because it is ASIO driver and not WDM one?

 

 

 

Would that be feasible/acceptable for you to implement?

 

2 hours ago, Miska said:

 

And I think @Geoffrey Armstrong has made a way to use Kodi with HQPlayer to at least some extent.

 

 

Thank you. Could you please point me to a specific thread/page?

Link to post
Share on other sites
58 minutes ago, Miska said:

 

Is the CCX in your case 3 or 4 cores? IIRC there are 2, 3 and 4 core CCXs depending on model... It is likely related to cross-CCX communication penalty that flips it over...

 

I have detection for AMD CPUs, so if the Zen 3 also has similar issues, I can disable the core pinning for AMD CPUs in the auto-configuration path. Trying to do it more fine grained is sort of maintenance nightmare, although technically possible.

 

Currently using 3700x which is supposed to be a 4 core CCX so I dunno why 3 cores work so good now compared to 4.

 

Would be interesting  to see if Intel will have the same problems when they also switch over to Multi Chip module like ryzen in a few years.

Link to post
Share on other sites
2 minutes ago, Yviena said:

Would be interesting  to see if Intel will have the same problems when they also switch over to Multi Chip module like ryzen in a few years.

 

As long as cores can be split into groups of two and split further in binary manner it is fine.

 

Problem with AMD seems to be that having heavy load on one CCX seems to limit other CCXs or something like that. And has strange "favored cores" thing, that not all cores are equal. Another problem is that in some CCX configurations splitting cores into groups doesn't end up following the CCX division because of asymmetric CCX configuration.

 

I'm curious if Zen 3 fixes some of these issues, at least I think AMD was promising to do that.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to post
Share on other sites
48 minutes ago, Luca72c said:

Would that be feasible/acceptable for you to implement?

 

ASIO driver theoretically yes, but it is useful only to limited extent. For example Tidal's application doesn't support ASIO, Spotify doesn't support ASIO, etc.

 

And ASIO is Windows-only, so it would end up being useful in a very limited way.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to post
Share on other sites
11 minutes ago, Miska said:

 

ASIO driver theoretically yes, but it is useful only to limited extent. For example Tidal's application doesn't support ASIO, Spotify doesn't support ASIO, etc.

 

And ASIO is Windows-only, so it would end up being useful in a very limited way.

 

 

So if i understand well, programs like AcourateConvolver could not be used for Tidal or Spotify streams? That was unexpected to me...

Anyway, different drivers for different OSes seems a normal thing for an application/device to me, i guess many of these kind of differentiations are already implemented in Hqplayer versions. As i said, i'm not able to identify different levels of complexity in programming things, that's why i ask

Link to post
Share on other sites
9 hours ago, Yviena said:

lol managed to reduce HQplayer cpu usage on 3700x by around 40-50% disabling reserved cores

That would be keeping the thermals in check, did you OC? it just makes sense to increase clock speed to a stable value if you are disabling cores

Link to post
Share on other sites
2 hours ago, Rune said:

but 5800X can most likely sustain a higher all core frequency because fever cores to use the power budget even thought the 5900X/5950X is better binned

It will have to be tested but definitely the power budget it is critical, if you could do water cooling or very good (Noctua and such) air cooling results could be better with higher cores, I say "could" because like Miska have noted before "sluggish intracore chatter" and that (added to the high utilization on certain cores) limits the entire system. I am hopeful kernel 6.1 will bring some refreshment to the Zen3 architecture, that implies using distros suitable for such kernel, we will see. So far with my 5600X I "could" do 256 EC7 (on most filters) by means of OC. I'm on passive cooling and the kernels still won't report CPU temperature LOL so OC is a nono

Link to post
Share on other sites

 

On 10/11/2020 at 4:02 PM, Miska said:

 

Yes, exactly...

 

 

Note, you need hardware that has device side type-B USB ports. Host side type-A USB ports cannot be used for input.

 

on the server side (where there is hqp) you need a sound card with a usb type b?
it's correct ?

sistema:

Server HDPlex (i7-6700-WS2016) HQPlayer con Ramdisk + HQPDcontrol> Macmini ( roon core+Tidal ) >  HDPlex NAA (celeron G1840T-WS2016) NAD con Ramdisk >switch rete tp-link, Denafrips Ares2, SPLvolume2 

Link to post
Share on other sites
1 hour ago, Miska said:

 

As long as cores can be split into groups of two and split further in binary manner it is fine.

 

Problem with AMD seems to be that having heavy load on one CCX seems to limit other CCXs or something like that. And has strange "favored cores" thing, that not all cores are equal. Another problem is that in some CCX configurations splitting cores into groups doesn't end up following the CCX division because of asymmetric CCX configuration.

 

I'm curious if Zen 3 fixes some of these issues, at least I think AMD was promising to do that.

 

Yeah I believe the 5800x is a whole 8 core CCX, while 5900x is a 2x 8 core CCzx with 2 cores disabled in each  CCX giving you 12 cores.

Link to post
Share on other sites
1 hour ago, Luca72c said:

Anyway, different drivers for different OSes seems a normal thing for an application/device to me, i guess many of these kind of differentiations are already implemented in Hqplayer versions. As i said, i'm not able to identify different levels of complexity in programming things, that's why i ask

 

Doing something for single platform that is of limited usefulness is not what I look to do for multi-platform application. It is not best way to spend weeks or months of work, if it benefits only few in some relatively rare cases.

 

In addition, doing any drivers for macOS is so much asking for trouble, very likely to break all the time when Apple releases new OS versions. There are plenty of examples of this. Maintenance nightmare.

 

For Linux I could do anything I want, but so far nobody has even asked for such on Linux. And OTOH, there you have other ways, like HQPlayer Embedded as well.

 

 

At the moment, using Roon as source for Tidal and Qobuz works on all platforms without extra hassle. Using third party loopback drivers may work on Windows and macOS, but needs manual intervention when rate changes. Which is not an issue for example with Spotify, Amazon Music, Apple Music or such because it is always 44.1k. In addition, with HQPlayer Embedded using UPnP, Qobuz and Tidal works from mConnect Player and Bubble UPnP mobile device apps and from Audirvana.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to post
Share on other sites
31 minutes ago, Yviena said:

Yeah I believe the 5800x is a whole 8 core CCX, while 5900x is a 2x 8 core CCzx with 2 cores disabled in each  CCX giving you 12 cores.

 

This should split evenly and behave properly. But assuming OS assigns core id's linearly. Which by the way could be one potential problem as well.

 

So if we assume id's are for example like this:

CCX0: 0, 1, 2, 3, 4, 5, 6, 7

CCX1: 8, 9, 10, 11, 12, 13, 14, 15

...there is no problem. When cores are split into two groups, both groups are in their own CCX.

 

However, if it is assigned like this:

CCX0: 0, 2, 4, 6, 8, 10, 12, 14

CCX1: 1, 3, 5, 7, 9, 11, 13, 15

...there is problem. Now when split into two linear groups there would be maximal mixture of two CCXs.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...