Jump to content
IGNORED

HQ Player


Recommended Posts

I have all my music in redbook PCM 44.1K WAV files.

My goal is to convert them all to 705K or higher (44.1 multiple) PCM WAV files.

WIll a future HQP version be able to do the conversion and play the upscaled files? Sorry, if it has been discussed already, I could not find it.

I read HQP Pro does offline conversion, but it is overkill with so many features, and the price reflects that. I don't need much options, really just an open file and upscale button (with multiple parameter 4x, 8x, 16x, 32x,...).

Offline would allow ideal conversion without having to concede on time optimizations.

Link to comment
32 minutes ago, Miska said:

 

Not with file output, but it of course can do conversion on the fly at playback time, no need to store conversion result in a file. Especially because such conversion is very light weight so can be done even on a less powerful computer.

 

Thank you very much for the reply. But light weight? Rob Watts says the mscaler function can't be done real time (not even near) in a PC...

Although I have my doubts on that, I am surprised you say it is light weight.

Also I thought HQP was doing some optimizations (deviation from ideal function in order to be time efficient). The mscaler does optimizations (deviations from ideal). Offline can avoid any non-ideal optimizations. But if there are none...

Of course one thing is the number os samples we use for the sync function, the more samples the higher the output resolution (real bits per sample), I think. Which also causes a few seconds delay with mscaler.

 

Link to comment

Thank you again for the explanation. I am trying to understand as I read conflicting statements. So thank you for your patience.

For example I thought perfect interpolation requires an infinite length (time) sinc, so infinite processing and infinite delay. Of course that is not possible, but doesn't a higher number of samples used on the sync, increase the output resolution (real bits of each sample)? If that was the case, more processing would result in better quality. Or is it not noticeable?

Link to comment
2 hours ago, Miska said:

 

It is not quite that simple. Theoretically yes, if you want to reconstruct up to exactly Nyquist (fs/2) freqency and you are also OK with infinitely bad time domain response.

 

Practically, if we begin with source content, it is certainly not relevant and proper up to Nyquist. In fact, depending on ADC/mastering tools, there can be quite a bit of aliasing band at the top of the frequency band. You wouldn't want to reproduce that distortion part. That's why we have apodizing upsampling filters, for example in HQPlayer, to clean it up. In addition, even with RedBook, there is some amount of margin between wanted frequency band (let's assume 20 kHz here) and Nyquist frequency (22.05 kHz). So we have 2.05 kHz wide transition band available between wanted frequency band and Nyquist.

 

So in first place you need to consider what was used to produce the content you are trying to reconstruct, because the source content is certainly far from perfect. So instead of assuming perfect content up to Nyquist, you need to consider imperfect content up to Nyquist and what you can make out of that.

 

In HQPlayer you can run 16 million tap filter up to 2048x rates, if you want to.

 

Thank you very much for the detailed reply, I understand now.

Link to comment

Is there a way (preferable simple) to play video files and get the audio through HQP?

For example VLC. From what I found (April 2017) it could be done via http, but vlc seems to not support HEAD, which would be mandatory.

So is there currently a way to get sound from vlc or any other app that can play video files (mkv, avi, etc)?

Of course I could rip the audio from the video file and create a separate audio only file, but besides requiring dual start and syncing each time, it would not allow to navigate, pause  etc the video file.

I would want to keep HQP hooked to vlc, so it continues to work as I play new video files.

Link to comment
  • 1 month later...

I am on trial period with HQP since 3 days, and I am liking it well so far. I read many people complaining about the server (desktop) UI, but I am liking it, It is simple as I like it. I didn't even need to try the Client.

Is anyone able to help me with this: is it possible to connect HQP input to the output of some video player, as VLC and MPC-BE? If not is there any other way to use HQP with audio from video file playback? I have many concerts I would like HQP to process.

Link to comment
On 11/13/2019 at 10:03 PM, Miska said:

 

Some loopback software may work with the input feature. Another alternative is to use two computers or multiple audio interfaces and use the same input feature, but through S/PDIF.

 

HQPlayer has large buffers, so there is lot of delay. But it should be able to adjust lipsync delay enough in VLC. HQPlayer is not really designed for video use cases, so YMMV...

 

 

Thanks. After some days of searches and trials, I got it to work using VB-Audio loopback SW.

I will try it by HW as well. My motherboard has internal connectors of SPDIF OUT and SPDIF IN. I will get a cable to connect these together, so maybe I can connect HQP to SPDIF IN and VLC to SPIF OUT. But I think the fixed sample rate issue is the same.

I used "audio:default/48000/2", which obviously requires manual configuration each time source sample rate changes, which not practical at all.

Any possibility of HQP not having fixed sample rate input in the future?

In the manual you mention "input:" scheme, I could not find syntax for that. Does it include sample rate as well?

In fact I could not find syntax for "audio:" scheme as well, just used the examples in the Quick Start Guide (picture).

One ideal solution would be HQP creating a  HQP audio device that other apps could output into. And that device would allow a broad range of sample rates. 

Link to comment
On 11/13/2019 at 9:55 PM, randytsuch said:

If you run hqp embedded, it supports upnp/dlna.  I think vlc also supports upnp also, so something might be possible.  I use mconnect as my upnp client app, but I only play audio files through it, never tried video.

You can make a usb stick with hqp embedded and try it out.  Make a bootable stick, then boot from the stick and you'll have hqp embedded running.

 

Thanks. I am running HQP Desktop within Windows 7. I may try embedded. With the upnp solution you are using, do you also have to manually configure the sample rate of the source each time it changes? 

Link to comment
On 11/18/2019 at 8:46 AM, Miska said:

There is support for automatic switching, but it is not possible with WASAPI backend, because WASAPI in itself doesn't support slaved sample rates. ASIO does, but not all hardware/drivers support it though. For example USB Audio Class standard in itself doesn't support such fucntionality, but always assumes that computer explicitly sets some rate.

 

On Linux automatic switching works with RME ADI-2, because I've added support for the necessary custom controls to the driver.

 

Thank you for all the explanations.

Does that mean that If I used an ASIO loopback SW (that supports slaved sample rates), HQP would support automatic switching, meaning I could leave the sample rate field empty in audio: line? I am not sure there is such an asio loopback SW, but I can try a HW loopback with 2 asio HW devices.

Unfortunately both my DACs are Chord, and it is unlikely I can get another one. Also I'm currently on Windows.

The worst part is that VB-Audio loopback also requires to set the sample rate on both input and output device, so I have to set the sample rate on 3 different places each time.

 

In any case I am now an apologist of HQPlayer, so I have just bought today HQP Desktop, after only a few days of trial. Even though I just use PCM and Server (don't use any DSD feature, nor Client or networking), I still think it is worth the asking price.

I leave two additional suggestions for your consideration:

1.

Input URI could remember all past used entries so that no retyping is needed and we could recall them just selecting in the pulldown list. There would be an option to clear the list.
That would make much easier to switch between the most used sample rates (44100, 48000, 96000), and even between input and local file.

Currently changing to another content (even just pressing the Browse button and Cancel immediately after) and all is lost. So even without the fixed sample rate issue, we need to retype the "audio:" full line after a Browse.

2.

Not stop playing when Settings dialog is called. I would think nothing really happens (outside the dialog) by just calling Settings, we may even press Cancel. So playing would only stop if we actually press OK.

That would allow a very much faster switching between settings and therefore allow better comparison between settings (eg. filters, or upsampling rates). Also sometimes i just want to check settings (not changing), and playing stops.

Link to comment
  • 2 weeks later...
On 11/20/2019 at 7:55 AM, Miska said:

 

Maybe it would work, but testing in that respect with ASIO is still a bit incomplete. Not so easy to find things that actually support the spec. For those cases you can put 0 as samplerate, but otherwise same as you normally would. 0 means detect.

 

Since ASIO conceptually doesn't support accessing multiple devices separately, I've been using ASIO for output and WASAPI for input. So no auto-detection. Way to have ASIO for both input and output would need another computer and NAA for the output side.

 

 

That is then another limitation of the loopback software. Setting sample rate is not much of an issue for me in most cases, because sources like Spotify are always 44.1k.

 

 

The list is automatically filled up with the rates the input hardware reports to support.

 

 

Thank you very much for the extensive reply. I took some time to reply because I have been doing testings with both SW and HW loopbacks.

The Chord USB Driver works with both ASIO and WASAPI Exclusive. So I can output from HQP both ways, and therefore can also use both ASIO or WASAPI for input as I need.

I am now using HW loopback connecting the SPDIF-OUT to SPDIF-IN of my motherboard (Realtek ALC889):

    MPC-BE -> wasapi-exclusive -> spdif-out -> spdif-in -> asio -> HQP -> wasapi -> usb -> Chord DAC

Unfortunately I still can't get automatic rate detection (0) to work, I need to specify the rate in the audio: statement.

In practice it is the same as using another PC as source, also because spdif is unidirectional. So I am now only focused on the input part.

How can I input from any external physical source to HQP and get (without resampling) the source original sample rate (automatically detected, without having to to set manually that rate on HQP)? Any method is ok for me, WASAPI, ASIO, etc.

I understand that this not working may be fault of the input port device/driver, so can you tell me any input port devices+drivers you tested and works for this purpose (for windows)?

I was hoping to be able to use the Realtek spdif input, but if that does not work, and there is another PCI or USB input device that works fine with HQP, I may buy it.

I am using Realtek driver 2.82. And as I don't find realtek asio drivers, for asio I am using ASIO4ALL. I am suspecting ASIO4ALL may be the culprit here. Did you ever use ASIO with Realtek chips? What asio drivers did you use?


With WASAPI input to HQP, HQP can receive any sample rate (it seems windows is resampling to the requested rate), but HQP does not accept to play 0 rate, althoug it accepts ENTER and lists it in the playlist. However I am not sure if Windows is first resampling the original to Windows configured rate, and only then from that to HQP requested rate. So I am not sure if windows is not resampling twice.

 

With ASIO input to HQP, HQP  can also receive any sample rate it specifies. The 0 (auto detect) sample rate value works, but not with the file sample rate, but with that last specified sample rate in the audio: statement.  So if before the 0 statement I enter an audio:default/48000/2 statement, then the 0 statement will use 48000. Note I do not have to play the audio:48000, just press Enter so that it goes to the playlist, and if then I enter an audio:0 statement and play it, the used rate will be the 48000. This is valid for any value not only 48000. And this value is kept even after I restart the PC, so it is permanently stored somewhere. So somewhere it is resampling to the rate I specified. Who do you think is doing the resampling and why?


Also I am not getting the pulldown list filled with available sample rates as you mention. But probably the problem is the same as above, and if I get the automatic rate to work, this will likely work ok as well.

Link to comment
On 12/2/2019 at 4:57 PM, Miska said:

ASIO4ALL is not a real ASIO driver, it operates on top of KS/WASAPI and represent ASIO interface to applications. So it has combined limitations of both ASIO and WASAPI. So you could as well use WASAPI for input side too.

 

It shouldn't be resampling twice, just once. But it is likely Windows audio engine doing it. And WASAPI is likely falling back to Shared Mode, because two applications cannot simultaneously use the same hardware in Exclusive Mode.

 

Thanks again Jussi for all the explanations.

I was not aware that ASIO4ALL was not a real ASIO driver, but mainly and ASIO emulator layer over WASAPI. That explains most of the issues I have been having.

So I already uninstalled ASIO4ALL from my system. No need for it this way as WASAPI Exclusive does same job, and DAC accepts ASIO from output.

 

Meanwhile I found the ASIO driver from Realtek. It works...    .... but exactly as WASAPI.  Unlike ASIO4ALL that fakes rate auto-detection (0) by using the last rate used, with the Realtek driver, HQP accepts "Enter" of "0" rate, but does not accept play, just like with WASAPI.  So I guess the Realtek driver is also just an emulator layer over WASAPI.

 

Next step I  will get a relatively cheap (€50) PCI Creative sound card (with SPDIF input), to test if the Creative ASIO driver works with the auto-detect rate. The RME AIO card is too expensive at €500 for just the SPDIF input.

 

When you say "two applications cannot simultaneously use the same hardware in Exclusive Mode", do you mean even if different ports? I don't have two applications accessing the same port, MPC-BE uses SPDIF out and HQP uses SPDIF in. You mean that does not work in Exclusive because the two ports are on the same chip (Realtek)?

 

Although this auto-detect loopback process is requiring much time and effort, I still think it is worth it even if I don't fully succeed in the end. I am learning a lot in the process, both with your help and with my own research and test. And hopefully it may also help others who need loopback or input rate auto-detect.

Link to comment
13 minutes ago, Miska said:

If the hardware supports clock slaving and possibly thus has also WordClock input option, it is more likely that it would be supported.

 

I found this Sound Blaster Z that has optical input and ASIO 2.0 support:  https://en.creative.com/p/sound-blaster/sound-blaster-z

 

On their ASIO 2.0 page    https://support.creative.com/kb/ShowArticle.aspx?sid=84426

it mentions: "Sample Rate (word clock sync)" and also "Sample Position (time code sync)"

 

Looks like a good candidate for me to try, at €70.

 

Does ASIO 2.0 require any support from HQP, and if so, does HQP support it?

 

 

 

Link to comment
On 12/4/2019 at 7:08 PM, Miska said:

 

It is by no means mandatory to support the slave clocked feature of ASIO. The specification merely supports it and documents how it is ought to be used. But whether some hardware and driver actually support it is entirely different matter.

 

 

I would say likelihood that any non-pro hardware would support it is fairly low. I don't have information how many pro-audio hardware and drivers support it. My guesstimate is something like 10% of the hardware on market. Reason is that studios rarely need such, since they are typically running everything at single rate and not really switching it ever. Or at least very rarely. If the hardware supports clock slaving and possibly thus has also WordClock input option, it is more likely that it would be supported.

 

 

So I bought and tested SoundBlaster Z (optical input, optical output, ASIO) for ASIO HW loopback.

I use only the input (optical) from SB Z. The optical output is another HW, to exclude possible access conflict.

Unfortunately exactly same behavior as Realtek ASIO:

1 - "0" rate doesn't play, although accepts "Enter" to get into playlist.

2 - Accepts any sample rate, so resampling is being done somewhere. It behaves like wasapi even though it is ASIO.

3 - The pulldown list only contains the statements I ENTERed during the HQP session, but as soon as HQP is restarted the list is cleared to contain only cd:, so I have to retype the full line again each time I start HQP. The text on URI field is kept from last session, but if I play some local file (BROWSE), it is naturally lost.


So I concede defeat. I will not buy further HW. I will have to live with manual rate selection.


Jussi, you said "There's already software for that available, so I didn't want to start duplicate work of making yet another loopback driver".
However there is no loopback software that supports rate auto-detection. And even worse, it seems that there isn't even HW loopback solution for that, unless we get very expensive cards and even so it is not guaranteed.

I thought it could be simpler than traditional loopback that use both output and input devices. As only virtual output device (wasapi exclusive) would be required which would then connect directly (internally) to HQP without the need of any input device or any ASIO implementation. The virtual output device knows the sample rate it is being fed with. Is it not possible that internal connection between virtual output device and HQP?

 

At least it would be great if the pulldown list could keep its contents between sessions (as it happens already with URI content), so that no manual typing is required, only selecting from the list.

 

Regarding a Linux solution, is it possible a SW loopback that supports auto rate detection, therefore dismissing HW input on Linux? How would I connect the output from a video player app to HQP in order to support auto rate detection? I don't know how sound devices work in Linux.

Link to comment
7 hours ago, Miska said:

 

Yes, it is possible to have such internal connection by defining my own kernel driver API. On Linux again this would be much easier than on other platforms. Doing three loopback drivers for the three different platforms is not a small project, plus all the maintenance needed whenever Microsoft and Apple decide to break the drivers on OS update.

 

I would much prefer to pay for a new HQP version (HQP 5?) with that feature than pay for a HW card that is not even the clean way of doing it. Money better spent on HQP support. But I understand that your time is limited and can't be multiplied. Thank you for the explanations.  

Link to comment
On 12/13/2019 at 7:45 AM, Miska said:

 

I consider HW card cleaner way. Primary use cases for the input feature are to allow input from external devices like streamers (Bluesound Node2i, etc), old CD transports (always 44.1k) and from analog sources like vinyl rigs. That could also include another computer. Loopback possibility within same computer is nice add-on extra and for most such cases automatic rate switching is not needed, since for example Spotify, Apple Music, Google Music, Amazon musicUnlimited, etc are always at a fixed rate and anyway 99% of the music out there is 44.1/16.

 

Tidal/Qobuz have varying rate, but to HQPlayer Desktop, better source for those services is Roon that directly talks to HQPlayer. Or with HQPlayer Embedded there are more source options for those services through UPnP functionality (mConnect Player, BubbleUPnP, Audirvana, etc).

 

Apart from those services, most asked streaming source is Spotify, which works through existing loopback solutions or the cheap miniDSP USBStreamer since it is fixed rate.

 

The most used configuration for this feature is HQPlayer Embedded device, where it is firmware of a "black box" that is streamer/upsampler device, since that is where it first appeared.

 

When I say clean I mean we already have the audio data on the output device, and we are converting it 4 times before getting it back exactly as it was, hopefully (data to electrical spdif, then to optical spdif, then back to electrical spdif, and then back to to original data that was there all along). And all this depending on shady driver (and hw?) implementations that can also break with future OS versions.

Audio from videos vary a lot, mostly between 44.1K and 48K but also some 96K (blurays).
 

Regarding HQP Embdeded, can I run HQP Embedded on a regular Linux workstation?

I am bit confused about HQPlayer Embedded Prerequisite: "No graphical user interface / desktop environment".

Can't I have HQPlayerd running on Debian machine and at same time graphical environment running a video player app that would loopback the audio to HQP Embedded on the same machine?

Or would I need a separate PC for the video player app? I don't care/use streaming, only play local files.

Also, independent of 1 or 2 PCs, I am not finding it, but is there a video player app (Linux or Windows) that can play video on PC screen and send the audio out to UPnP so that HQP Embedded can receive it?
 

Back to HQP Desktop, I can live with the rate manual selection if I don't have to retype the full audio: line each session, but just select it from the pulldown.

So it would be great if you could make pulldown list contents persistent between sessions as it happens already with URI content. It could be erased with the crossed arrow, as the URI is.

Link to comment
1 hour ago, Miska said:

I'm not sure why in your case you don't get the available rates enumerated to the list. Are you sure you are using latest version of HQPlayer?

 

 

I was using 4.2.0. I just updated to 4.2.1, and it works!!!            Great!!!

                  Great!!!                      

I didn't think there was any change about that because on news page it mentions only "Fix failure on input device definition without explicit channel count" and my lines always include "2" on channels field.

 

So now I will be happy using my motherboard realtek internal spdif loopback, with wasapi on both HQPlayer input and output. No need for asio and asio drivers, which tend to be not so reliable (less used/tested I guess). 

 

Regarding lipsync both MPC-BE and VLC have config and keys to adjust audio delay, so it works ok for me. Sometimes (rarely) lipsync is lost (due to short system busy state I guess), but restart of playing fixes it. (Unfortunately VLC does not support wasapi exclusive nor asio, so now I always use MPC-BE)

 

And to make things even better I just found out that if I click below the playlist, the URI content is "entered" to the playlist, so I no longer have to reach for the keyboard to press enter after selecting from pulldown list.           Great!!!

 

Have I already told you HQPlayer is great?

And HQPlayer developer is great too! Thank you very much for all the patience and detailed replies.

 

Link to comment
On 12/18/2019 at 7:40 AM, hykhleif said:

greetings

 

there was a discussion that you can achieve great results at head fi using hqplayer and getting close to mscaler with hugo tt2

 

I wonder what are the best settings to dial in that can give me a chance to compare both. I am very unfamiliar with both mscaler and hqplayer so i would really appreciate the best settings to dial in hqplayer using my hugo tt2 via usb

 

I have an asus Zephyrus 501 laptop -- (Intel 6-Core i7-8750H, 24GB RAM

 

Not many people use chord dacs around here. I do, I use TT2, but don't have mscaler. Here a snapshot of my settings. Surrounded by red line the ones you should set.

Some people also like Sinc-M filter, but poly-sinc-long-lp I read should be the one more similar to mscaler?

For output you can use both WASAPI or ASIO.

HQP Settings.png

Link to comment
  • 5 months later...
28 minutes ago, rastanearian said:

I think you nailed it. I've been milking this old computer for too long. I'm currently waiting on parts for a new build, so thanks for the help. I'll sit tight until the new one is built.

 

Cheers.

I run HQP on a 10 year old core i3, no GPU, with no problem, although I only do PCM processing. But you say it doesn't even start, that seems very strange to me.

Link to comment
  • 5 months later...
2 hours ago, Miska said:

 

That is quite close to CUDA and maybe usable. I would need to check if the library of support functions covers the needs.

 

Some support for Intel GPUs may be coming at some point too.

 

That (AMD GPU support) would be a great key factor for HQP 5.

I have no Nvidia or AMD GPU. I will be buying an AMD RX 6800 next month, and would buy HQP 5 instantaneously.

Link to comment
20 hours ago, Miska said:

I need to see how well they have tooling for Linux + Windows (and maybe macOS) and if it is going to work smoothly. But I'm not particularly holding my breath on this.

 

AMD announced today the new 6000 GPUs. One of the things announced is "Smart Access Memory" which means that when used with the new 5000 CPUs, the cpu will have direct access to all 16GB memory of the GPU.

I am curious if this feature could have any benefit for HQP if/when it supports AMD.

Also can the large 16GB memory or 128MB cache of all 3 models be beneficial to HQP compared to smaller memory/cache  of other GPUs?

Link to comment
  • 3 weeks later...

I will be buying soon a Zen3 CPU and need some advise.

I am considering the 5800X (8-core 36M unified cache) or the 5900X (12-core 70M split cahe)

I use PCM only (705/768K now, more in the future if I get a dac that supports it).

 

How many cores can HQP use for PCM only?

Is there any advantage (for HQP) in having more than 8 cores or double the cache?

Or can it be better to have 8 cores with unified cache?

 

I don't even know if it is possible or advisable, but i was wondering if HQP could allocate one chiplet to itself (6-core 35M cache, unified for those 6 cores), and leave the other chiplet to everything else (OS, other apps), so that HQP could run more independently of everything else.

 

Also having one of those CPUs, would a GPU be of any help, or is the CPU more than enough for any PCM?
 

Link to comment
3 hours ago, luisma said:

If you use PCM only you don't need that CPU :) PCM uses almost no resources and most of the content out there is natively PCM

 

That said if you are fixed into getting one of these the 5800X will be very good cost wise and it is the CPU in that lineup with the highest base clock. Eventually you might get the itch to try DSD so 5800X is perfect

 

Are you planning to run this with Windows? an possibly run other things along with HQPlayer?

I am not buying the Zen3 for an audio box, it will be my main PC, used for everything, 12 hours per day. Including playing HQP in the background. Windows for now, possibly Linux in the future.

So I need to know how many cores does HQP use for PCM only, for the most demanding PCM processing (1536, Sinc-L, etc). 

No, no DSD content or processing for me, no itch will come for that :-)

Link to comment
5 minutes ago, Miska said:

 

Depending on filter as many cores as the CPU has physical cores. In most cases, threads are left for other tasks. So especially for PCM case you shouldn't have any worries running lot of other stuff at the same time.

 

Thanks Jussi. So HQP can make real use of all cores available, so I may be better with a 12-core. I was afraid most work could not be parallelized.

Do you forecast that even for PCM only, you will be putting out more demanding filters, specially at 1536?

Regarding cache, which is better for HQP, 36M unified on 8 cores or 70 split on 12-cores?

 

Link to comment
6 minutes ago, Miska said:

 

OTOH, you need an R2R or similar ladder DAC to really use PCM. Such things are quite rare these days.

 

 

 

Thank you so much for the explanations.

And I apologize for my ignorance, but could you explain why ladder DAC is required for full benefit of PCM? As PCM adept, that is really important for me to know.

I would have jumped on a AresII if it had headphone output...

 

Link to comment
20 hours ago, asdf1000 said:

 

Here's a stellar new and very transparent headamp ($300) that should pair nicely with Ares II :

 

https://www.audio “science” review/forum/index.php?threads/smsl-sh-9-thx-headphone-amplifier-review.17519/

 

ASR links don't work here for some reason

I really appreciate your suggestion and that you are trying to help. But I really don't want to go with any other box (and cables) than the PC, dac and headphone. That is one of the reasons (among other reasons) that I went with HQPlayer instead of mscaler.

I don't want network boxes, nothing. Just desktop work PC and dac. 

But again, I thank you.

Link to comment

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...