Jump to content
freesteve

HQ Player

Rate this topic

Recommended Posts

I have now made a first beta build of the upcoming 3.8.0 version. It doesn't yet contain all the things, but it has some of the most notable ones like

  • Extended hqp-control functionality
  • New matrix processing for channel routing and mixing
  • Adjustment of some of the internal thread priorities based on feedback
  • Remember more of the UI state across restarts

 

Plus of course usual bunch of various other changes (I don't even remember all, I'll have to compile a changelog for the final release announcement).

 

As before, it is recommended not to touch externally the process priority, because it will screw up the internal relative priorities of threads.

 

You can get the beta here:

http://www3.signalyst.com/bins/HQPlayerDesktop3-setup-380b1.exe

 

Source code for the hqp-control is now also available here:

https://www.signalyst.eu/bins/hqp-control-380b1-src.zip

It's been written in such way that extracting the XML protocol spec from the implementation is not too hard if someone wants to implement it in a different way.

 

I’m after some advice about the channel mixing and convolution function that I’ve not been able to find from searching this thread. My target set-up involves stereo speakers running full-range and three subwoofers each with their own low-pass filter (Channels 3-5) that are designed to smooth room response. All this needs to be time aligned.

 

To do this I’ve set-up the solution as a 5.1 system with Channels 1-2 used for the main speakers, Channels 3-5 used for the subwoofers and Channel 6 unused. Channels 1-2 are passed through a 1:1 convolution (from Acourate’s SimpleFilter). Meanwhile, Channel 3, for example, is created via using Channel 1 as Source and Channel 2 as Mix within the Pipeline tool and then adding a low-pass filter.

 

It seems as if this is, though, wrong as I’m finding that the subwoofers are quite out-of-sync with the main speakers. This is despite the main speakers running the unity filter and all speakers being time / distance aligned using the Speaker Set-Up utility. Any and all advice would be great. Thanks in advance.

Share this post


Link to post
Share on other sites
Is the delay really equal in the unity filter compared to the low-pass filters. You could check this with something like Audacity by importing each filter as tracks to the same project and checking that the unit peaks are time aligned.

 

But it could also be that the unity filter gets truncated to shorter one in HQPlayer (-> less delay). I have to check this out and if there's such issue I'll try to fix it for upcoming 3.13 release.

 

Thanks, Miska,. Is it correct to assume that all channels need to be to convolved or will the account for the time-delay between channels that aren't filtered and those which are filtered? Also, I don't have access to Audacity but I will generate a 2-way filter in Accourate and use this high-pass for the mains / low-pass for the subwoofers to see if the problem remains.

Share this post


Link to post
Share on other sites
Thanks, Miska,. Is it correct to assume that all channels need to be to convolved or will the account for the time-delay between channels that aren't filtered and those which are filtered? Also, I don't have access to Audacity but I will generate a 2-way filter in Accourate and use this high-pass for the mains / low-pass for the subwoofers to see if the problem remains.

 

I can confirm that if I use the low- and high-pass from a 2-way filter - as opposed to the SimpleFilter and low-pass - then the timing issue goes away. Also, I've compared the SimpleFilter and Low-Pass filters within Acourate and this seems to confirm that these are time aligned so perhaps the issue is in the truncation of the SimpleFilter

 

P.S. One other observation is that I'm seeing the right channel being 3-6dB lower than the left channel despite the fact that these are both using the same, mono, filter.

Share this post


Link to post
Share on other sites
OK, I'll check this out and fix it...

 

 

 

That shouldn't happen, there are two per-channel gain adjustments, the matrix mixing gain and then speaker setup gain.

 

Can you email me screenshots of your matrix and speaker config dialogs so I could try to reproduce the problem here?

 

Thanks. Email sent to [email protected]

Share this post


Link to post
Share on other sites

I'm a bit confused about the Matrix function and haven't been able to find an answer in either this thread or the manual that I've got (V3.1.0). How would one set-up an arrangement to the sum of channels 1 & 2 into channel 3? Any information or references would be great.

Share this post


Link to post
Share on other sites
There is manual included in every installation package. So version 3.12 comes with manual version 3.12. On Windows there's a shortcut created in the Start-menu for the manual. You can search for "HQPlayer" in the start menu. On Mac the manual is part of the DMG since 3.13, previously it was in the surrounding ZIP file. On Linux there is also start-menu entry created for the manual.

 

For your case matrix should look like this:

[table=width: 500]

[tr]

[td]Src[/td]

[td]Gain[/td]

[td]Mix[/td]

[/tr]

[tr]

[td]1[/td]

[td]0[/td]

[td]1[/td]

[/tr]

[tr]

[td]2[/td]

[td]0[/td]

[td]2[/td]

[/tr]

[tr]

[td]1[/td]

[td]-6[/td]

[td]3[/td]

[/tr]

[tr]

[td]2[/td]

[td]-6[/td]

[td]3[/td]

[/tr]

[/table]

 

Miska

 

Thanks. That's great - and I've set-up the matrix to mix channels 1 & 2 with reduced gain for the 3 subwoofer channels (3-5). The filters have been set-up in the Convolution Screen. My question, now, is that whilst the Convolution Screen shows filters against the channels (1-5) the Matrix Screen has convolution against the first 5 items rather than the full list. I'm guessing that this isn't an issue but rather an artefact of the design of the Matrix Screen. Is this correct or am I missing something (again)?

Share this post


Link to post
Share on other sites
Miska

 

Thanks. That's great - and I've set-up the matrix to mix channels 1 & 2 with reduced gain for the 3 subwoofer channels (3-5). The filters have been set-up in the Convolution Screen. My question, now, is that whilst the Convolution Screen shows filters against the channels (1-5) the Matrix Screen has convolution against the first 5 items rather than the full list. I'm guessing that this isn't an issue but rather an artefact of the design of the Matrix Screen. Is this correct or am I missing something (again)?

 

Miska

 

I've done some further investigation and resolved the issue. The solution, for other interested parties, was to fill in the filter text under each of the rows in the Matrix Screen. I guess, ideally, the filter from the convolution screen would populate each row in the matrix screen with the same mix channel but the above solution seems to work

Share this post


Link to post
Share on other sites
The convolution setup and matrix are sort of mutually exclusive, but they share the filter setup. So you can also configure everything in matrix setup, but selecting the filter files may be a bit more convenient in convolution dialog. Convolution setup dialog covers the first 8 virtual channels of matrix.

 

I will try to clarify this in the manual.

 

Thanks. I've got the system working with this involving ROON + HQ Player on a server and dedicated NAA connected to the e18 DAC. My server is an upgraded CAPS Zuma V3 with settings (PCM) being poly-sinc-shrt-mp / NS5 / 384kHz with 96kHz filters generated from Acourate. The current issue is that whilst it's all working I'm hearing crackle / static on occasion. My first thought was that this might be because the server is under-powered but that doesn't seem to be the case as the latency on start-up is only about 5-10sec whilst CPU is running at 25% and Memory at 3.5G of 8G. Any ideas on how to diagnosis the issue would be much appreciated.

Share this post


Link to post
Share on other sites
Thanks. I've got the system working with this involving ROON + HQ Player on a server and dedicated NAA connected to the e18 DAC. My server is an upgraded CAPS Zuma V3 with settings (PCM) being poly-sinc-shrt-mp / NS5 / 384kHz with 96kHz filters generated from Acourate. The current issue is that whilst it's all working I'm hearing crackle / static on occasion. My first thought was that this might be because the server is under-powered but that doesn't seem to be the case as the latency on start-up is only about 5-10sec whilst CPU is running at 25% and Memory at 3.5G of 8G. Any ideas on how to diagnosis the issue would be much appreciated.

 

Weird. I've removed the NAA and am playing direct from HQ Player without Roon but still getting the same crackle / static. This behaviour is occasional and occurs irrespective of the filtering (to test I've tried TPDF down at 96kHz as well as no filtering). My DAC is exaSound e18 and convolution is being done at 96kHz filters. Any suggestions as to the next step to diagnose the issue?

Share this post


Link to post
Share on other sites
With Acourate you can create filters for 192k even if your measurement is 96k or similar and ask it the extend the filter flat above the measurement bandwidth. Then leave the HF Expand option disabled in HQPlayer.

 

My plan is to let the main speakers run full range (with Simple Filter) and just have low-pass on the various subwoofers to fill in the bass (as opposed to doing full speaker measurements). What, then, is the best practise re. frequency of the filters? I'm assuming that it is to generate filters at the maximum supported rate of the DAC that is being used (in my case 384kHz for e18)? Is this correct?

 

Also pay attention to the filter gain, so that if there are boost peaks in the response, those frequencies don't cause overload in HQPlayer. You can use the gain compensation option in HQPlayer to compensate for this as necessary. So in the end, pay attention to the Limited counter in HQPlayer main window to make sure it stays 0 at all times.

 

Thanks. I'm not sure that I fully understand the situation as my filters were just calculated as LR4 low-/high-pass using Acourate and so don't have any real peaks (as would be the case if I was to have calculated these from measurements.) That said, the "limit" no. on the main page was going to 10 when the crackles occurred and reducing the convolution gain by -6dB has removed the problem. The same is true even when running poly-sinc-short-mp / NS5 / 384kHz.

Share this post


Link to post
Share on other sites

I've upgraded to HQ Player V3.13.2 and NAA V-320, and am having a problem with the system failing to playback. NAA receives the request to play and "enters streaming mode" but the reports a "push to queue timed out" which sees disconnection / ASIO engine stopped. Any ideas how to trouble-shoot?

Share this post


Link to post
Share on other sites
Does it work without NAA straight from HQPlayer to the same DAC?

 

That error message happens when ASIO driver has not asked for more data for ten seconds.

 

Thanks. Not sure of the exact issue but it wasn't with HQ Player / NAA, The e18 DAC was connected and control panel showing it connected but it wasn't responding to playback - all sorted when I unplugged the e18 from the power and restarted the PC hosting NAA.

Share this post


Link to post
Share on other sites

My music collection is all PCM with 80% at 16/44 and remaining at 24bit / Hi-Res. I’m considering the idea of using HQ Player to convert PCM to high bit-rate DSD as part of a change to a (yet to be selected) new DAC. Most of the commentary though seems to be on the benefits of up-sampling native DSD to high bit-rate DSD. Are there benefits in up-sampling PCM to high bit-rate DSD? And, if so, then what DAC allow one to take full advantage of this approach? (The, potentially naïve, concern is that there might be some DAC that support DSD but which also filter thus negating the benefit of being able to do this filtering on a dedicated computer.)

Share this post


Link to post
Share on other sites
There can be benefit, depending on your DAC and your taste.

 

What you want is a DAC that leaves the DSD "as is" as much as possible. Many of the DACs convert PCM to DXD rates then to DSD, then to analog. With a DSD feed many of them either just filter to analog or upsample to a higher rate DSD and then filter.

 

Because of this, many of us find that the best sound with HQP is obtained when upsampling everything to DSD, at as high a rate as the DAC will allow. But again, it is DAC and taste dependent.

 

BTW, I've also used HQP to upsample all PCM to high rate PCM, and think this also sounds better than without upsampling in HQP or with upsampling only by my DAC chip's internal upsampling. I'd say the reason for this is the superiority of HQP and the act of taking the computational "load" off the DAC and transferring it to a more powerful computing device.

 

Much appreciated. How does one know which DSD DAC will convert a hi-res DSD input to analogue without any processing?

Share this post


Link to post
Share on other sites
Not sure what your price range is but an ideal candidate would be the T+A DAC 8 DSD. It is a 1 bit discreet chip-less DAC. While it is not the least expensive it is also not as costly as many other ones.

 

Thanks - I've been following the thread on that candidate. Any specific less expensive options of note?

Share this post


Link to post
Share on other sites
RDC is what I call it. But yes,. Remote Desktop client.

https://itunes.apple.com/us/app/microsoft-remote-desktop/id714464092?mt=8

 

Alchemy is ONLY a GUI for HQP. It is not a player, it needs HQP. I am not preferring per se, I am using Alchemy as front end and HQP as back end (Alchemy still needs work but it is a great idea). Another front end you can use is JRIver, assuming you already own it somewhere (again, not as engine, just as GUI), and just use it to drag an drop (better than Windows explorer or finder).t

[ATTACH=CONFIG]28681[/ATTACH]

 

Ted - Are you saying that one can use JRiver as the GUI for HQPlayer? And, if so, then how is this done? Thanks in advance.

Share this post


Link to post
Share on other sites

I’m running a dedicated PC / Roon to Stinger SU-1 (I2S) to Holo Springs Level 3 (NOS) with the set-up using convolution filters (PCM) created in Acourate to deal with room equalisation. The Roon DSP engine involves the following sequence: Bit Depth Conversion – Sample Rate Conversion – Convolution – Bit Depth Conversion – Output. The computer based up-sampling is to 352.8 or 384kHz with convolution applied at these rates. All this is working well.

 

I’m wondering, though, if there is benefit in moving to HQ Player given the reports of good success with DSD512 with the Holo Springs DAC. It'd be good to know @Miska though how the convolution filters / up-sampling would work. Is it a case that I’d be able to use my existing (PCM) filters with conversion to DSD occurring after convolution? And, if this is the case, then would it be advisable to run 44kHz or 48kHz filters or do up-sampling to higher PCM rates before convolution?

Share this post


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

 

You should generate either 352.8k or 384k filters in Acourate and use those in HQPlayer instead. This way you don't need to use the HF Expansion option in HQPlayer, because Acourate has equivalent option when it is creating the filter, see the "Brick" check box below.

 

AcourateFilterGen.thumb.png.f5fa236c0ffc4a88ee1c57698d99981a.png

 

Convolution works also for DSD files, you just need to turn off the "DirectSDM" option. When you perform processing for DSD files, I also recommend to perform upsampling to higher DSD rate at the same time. This way you gain extra headroom.

 

 

Thanks.\ @Miska. Will the output of HQPlayer be in DSD or PCM format (for PCM files)? (I'm thinking that it'd be good to get to DSD512 based on the feedback of the performance of the Holo Springs DAC). Or put differently: what is the chain in terms of up-sampling / convolution / conversion?

Share this post


Link to post
Share on other sites

×
×
  • Create New...