Jump to content
IGNORED

HQ Player


Recommended Posts

Miska, thanks for answers, but ... I didn't find anything concrete in your answers I could use. I found no example on the web. The goal is not somehow to mix left and right channel and to say "I have a crossfeed". Really well functioning crossfeed, like Meier crossfeed, utilises delays from right channel signal mixed to left one and it doesn't process all frequencies equally. So it is not so easy like multichannel to stereo for listening on speakers.

 

Matrix pipeline contains convolution engine for each pipeline, so you can process any filter you like with delays/eq/whatever for each of the pipelines and mix the result back to stereo output.

 

Here's my setup for 3D processing of 5.1 channel source to stereo headphone output.

mch-3d.png

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

I really don't know how to create "any filter you like with delays/eq/whatever" which would function as correctly designed crossfeed. Is anyone here able to do such a thing? (expect of Miska ;) )

 

About Meier crossfeed (my favorite):

Meier Audio

bg: ARIETTA crossfeed filter measurements.

The foobar2000 DSP implementation is now available also as VST plugin https://hydrogenaud.io/index.php/topic,108412.msg923812.html#msg923812

 

The Bauer stereophonic-to-binaural DSP implementation is described here: Bauer stereophonic-to-binaural DSP

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
Matrix pipeline contains convolution engine for each pipeline, so you can process any filter you like with delays/eq/whatever for each of the pipelines and mix the result back to stereo output.

 

Here's my setup for 3D processing of 5.1 channel source to stereo headphone output.

[ATTACH=CONFIG]31108[/ATTACH]

 

What software do you use to create the WAV files in your illustration?

Link to comment

Miska and others

 

HQP allows for a headphone feed via the Matrix pipeline functionality. The lchannel evels Miska uses in his 5.1 to stereo are set out in his post above. I am more interested in a 2 stereo to 2 stereo with cross-feed. It involves splitting each of the left (1) and right (2) "source" channels twice, with each one going to both the left (1) and right (2) "mix" channels with a filter being applied at least to mix channel of the opposite channel (and potentially to all of the mix channels).

 

My question is that if you already have headphone cross feed plugin that works with other software (e.g. Redline Monitor, Isone Pro, Bauer stereophonic-to-binaural DSP, AU or VST plugins) or an external device (e.g. SPL Phonitor 2) that you like, can you send a test signal to through those plugins to create the FIR convolution filter for use in HQPlayers' matrix engine?

 

In essence, all the plugins apply in different degrees of time and phase delay between the channels and usually a tone roll off on the treble (to simulate the fact that treble reflections in a room are generally rolled off by the room furnishings and surfaces). Presumably, there must be a way to send a signal through the external processor or plugins to general the convolution filters that can then be used by HQP. I am familiar with the filters created by Audiolense room correction software that can be used with HQP. But I do not know how to create the filters by running a signal through a known DSP headphone processing plugin (or external unit) to create a convolution filter.

 

Can anyone provide some assistance on how to do this? If so, it would make setting up headphone cross feed in HQP a much easier task.

The Audio Tragic

 

Main system: Mac Mini > Audiolense XO room correction (via Audirvana+ or HQPlayer) > Weiss DAC202 > Krell 302 > Revel Ultima2 Studio

Home office: QNAP NAS > Lumin D1 > Krell KAV-400xi -> Sonus Faber Cremona Auditor M

Work: Mac Mini > HQP > NAA (Windows 10) >Uptone Regen > Exasound e12 > SPL Phonitor 2 > Audeze LCD-XC

Software players: Audirvana+, HQ Player, Roon, Lumin, optical internet

Link to comment

I am not familiar with the convolution topic at all as I am listening only on headphones. But I can (and anyone can) play a test signal through for example foobar2000 with an activated crossfeed DSP or VST plugin. foobar2000 converter allows not only to convert files but it also allows to apply any DSP or VST plugin on the file to be converted. The input and output file can be of the same audio format for example WAV 24/96 and the only effective action can be applying crossfeed DSP on the source file. So there is no need to use input device (sound card) to record the result after applying crossfeed DSP to test signal, foobar2000 converter is able to save the result.

 

If someone will send me a test signal (I don't know what it has to be), then I can send back the result after applying the crossfeed DSP. Is that part of the solution?

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
If someone will send me a test signal (I don't know what it has to be), then I can send back the result after applying the crossfeed DSP. Is that part of the solution?

 

It doesn't work, because you need the crossfeed filter response before the L/R mixdown. But for example given the responses referred in Arietta link for example, one can create the filters using for example GNU Octave or Matlab and then import it to HQPlayer's convolution engine.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

Doesn't seem to be so easy.

I found something quite fresh: Natural crossfeed on headphones / earphones for foobar2000 v2.1 [major update made public]

I downloaded Dropbox link to v2.1 from that page. It contains 4 files

 

Left 30deg real-sampled 44100.wav

Right 30deg real-sampled 44100.wav

Left 50deg real-sampled 44100.wav

Right 50deg real-sampled 44100.wav

 

I tried to use them in HQPlayer convolution setup but HQPlayer reported they are not mono. I checked in Audacity that left and right channel are different. So it seems they aren't compatible with HQPlayer convolution engine. Is it possible to process these WAV files to be usable for HQPlayer?

 

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
Doesn't seem to be so easy.

I found something quite fresh: Natural crossfeed on headphones / earphones for foobar2000 v2.1 [major update made public]

I downloaded Dropbox link to v2.1 from that page. It contains 4 files

 

Left 30deg real-sampled 44100.wav

Right 30deg real-sampled 44100.wav

Left 50deg real-sampled 44100.wav

Right 50deg real-sampled 44100.wav

 

I tried to use them in HQPlayer convolution setup but HQPlayer reported they are not mono. I checked in Audacity that left and right channel are different. So it seems they aren't compatible with HQPlayer convolution engine. Is it possible to process these WAV files to be usable for HQPlayer?

 

 

Yes, you need to split each stereo file to two mono files, you can use Audacity for the purpose (first/upper channel is left and second/lower channel is right). Since Audacity uses 32-bit floating point internally, store the result in 32-bit float WAV. You can use either the two first (30 deg) files or just the left one (L/R swapped for right ear). Then set up matrix pipelines in HQPlayer like this:

 

1 / -6 / 1 / Left30-L.wav

2 / -6 / 1 / Left30-R.wav

1 / -6 / 2 / Right30-L.wav

2 / -6 / 2 / Right30-R.wav

 

(with full path and filename for each of the WAV files)

 

Do not enable convolution engine, just the matrix pipeline processing.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

Miska, thanks for your suggestion. I tried it but something went wrong.

 

I did splitting in Audacity (hopefully correctly) using 'Split stereo track' and 'Export multiple' as 32-bit float WAV. Then I renamed the files and did the suggested setup of matrix pipeline. Pipeline processing is activated, convolution is deactivated. When I press play nothing happens (GUI flashes a little bit). When I deactivate matrix pipeline, playback works.

 

crossfeed-Matrix pipeline.png

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
Miska, thanks for your suggestion. I tried it but something went wrong.

 

I did splitting in Audacity (hopefully correctly) using 'Split stereo track' and 'Export multiple' as 32-bit float WAV. Then I renamed the files and did the suggested setup of matrix pipeline. Pipeline processing is activated, convolution is deactivated. When I press play nothing happens (GUI flashes a little bit). When I deactivate matrix pipeline, playback works.

 

[ATTACH=CONFIG]31137[/ATTACH]

 

The trick in Audacity is "Split Stereo to Mono" and then "Export Multiple"

 

I got it working and here are my impressions:

1) Didn't like the 30 degree setting at all -- way too "mono"

2) 50 degree setting was better, but music still lost a lot of sparkle, detail, and excitement

3) It seemed to me that the harm to the music was much greater when the source material was not the same 44.1 sample rate as the WAV impulse files

 

I don't know if crossfeed is not for me, or if it's just this particular impulse function I don't like.

Link to comment

From log:

# 2016/11/29 08:46:42 Loading convolution filter impulse response file 'D:\tools\crossfeed\Left30-R.wav' failed: channels > 1

! 2016/11/29 08:46:42 clHQPlayerEngine::Execute(): clHQPlayerEngine::InitMatrix(): failed to load impulse response(s)

 

So I did split of stereo, but the result is not 1ch mono. After correcting playback works!

But I'm not sure if it changes sound, have no time now to investigate.

 

What I observed yet:

On my i5 machine SACD (DSF) playback stuttered when I did DSD upsampling together with matrix pipeline processing. With direct DSD it started to play, but stuttering began in the middle of song.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
I don't know if crossfeed is not for me, or if it's just this particular impulse function I don't like.

Crossfeed/binaural plugins can be very different, I tried them more and wasn't satisfied with some of them. There are more areas they can address, so different solutions don't necessarily do the same thing.

 

You can compare different plugins for free in foobar2000. Just the comparison of Meier crossfeed and the solution we test here shows how big the differences can be. Yesterday I did that comparison.

 

I had no time to check if all I did in HQPlayer environment was correct but at least it started to play with matrix pipeline enabled.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

On my i5 machine SACD (DSF) playback stuttered when I did DSD upsampling together with matrix pipeline processing. With direct DSD it started to play, but stuttering began in the middle of song.

 

You will need quite a bit of CPU (and GPU) power to do the processing for DSD...

 

Over time I will look into improving the GPU offloading capability for the matrix pipeline case.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

@Miska,

 

Couple of questions related to HQPlayerd and NAA:

 

1) Does hqplayerd leverage nVidia GPU?

2) What configuration do I need to have in place in the config file to play 48k files? Right now, anything 48K or multiple either stops the playback or it skips, so I am missing some config.

3) Also, is there a way to generate log files from NAA. I am having random crashes with NAA disappearing from the network on multiple OS both win10 and debian stretch. I think the problem occurs when I press skips multiple times in short time frame. The NAA issue is occurring both with HQPlayer/Roon and HQPlayerd setup.

 

TIA

Link to comment
1) Does hqplayerd leverage nVidia GPU?

 

Not at the moment, however this may change in future...

 

2) What configuration do I need to have in place in the config file to play 48k files? Right now, anything 48K or multiple either stops the playback or it skips, so I am missing some config.

 

You may want to check your filter selection. I would recommend to first settle the DSP settings (filters, modulators, etc) with HQPlayer Desktop and then copying those settings over to the Embedded version.

 

3) Also, is there a way to generate log files from NAA. I am having random crashes with NAA disappearing from the network on multiple OS both win10 and debian stretch. I think the problem occurs when I press skips multiple times in short time frame. The NAA issue is occurring both with HQPlayer/Roon and HQPlayerd setup.

 

I've added log file option to the internal development version, but haven't yet got to make a new release. But the output is anyway same as you get on console if you run networkaudiod manually from command line.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

I found a source of WAV HRIR from the Listen project.

- Page 2"]This post describes how to use them with headphones.

Example picture of my setup (I took IRC_1006_C_R0195_T030_P000.wav and IRC_1006_C_R0195_T330_P000.wav):

 

HERF-Matrix pipeline.png

 

The files were generated under these filenames by Audacity when I applied: 'Split stereo to mono' and 'Export multiple' with 'Numbering before label/track name'.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
You will need quite a bit of CPU (and GPU) power to do the processing for DSD...

Without Firefox & networking I was able to perform matrix pipeline processing on stereo DSD64 without dropouts. But it is so so on my 2.4GHz i5.

In the case of PCM to DSD the matrix pipeline doesn't consume so much resources.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

1 / -6 / 1 / Left30-L.wav

2 / -6 / 1 / Left30-R.wav

1 / -6 / 2 / Right30-L.wav

2 / -6 / 2 / Right30-R.wav

 

Sorry, I think I got this wrong and it should be instead:

1 / -6 / 1 / Left30-L.wav

1 / -6 / 2 / Left30-R.wav

2 / -6 / 1 / Right30-L.wav

2 / -6 / 2 / Right30-R.wav

 

It is good to test the setup with test signal that first plays something only in left channel and then the same only in right channel. You can then hear if the audio clearly comes from left-front first and then right-front.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

Thanks Miska, that's more logical. After that change and my evening running the music is now clearly more focused. :D

 

I quite like the HRTF solution. It doesn't add reverbation (room effect), in this point it is similar to Meier crossfeed.

 

The solution from head-fi user Joe Bloggs is on the opposite side. It clearly adds sense of room acoustics. With some recordings it brings very natural "non headphone" feeling. I was unsure, if music doesn't play also from my computer speakers except of my headphones! Although it was unlogical, I pulled down my headphones to check that ... And then I surprisingly realized that the sound went only from headphones.

But with more airy recordings like concert recordings the Joe Bloggs solution may cause "too much air". :)

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
I quite like the HRTF solution. It doesn't add reverbation (room effect), in this point it is similar to Meier crossfeed.

 

That's the way I prefer it too. I don't want to add second layer of acoustics on top of what is already existing in the recording. Some dry studio productions remain to sound dry, but things made in real acoustics sound good.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
Miska, something like storing/loading matrix presets would be very helpful for us headphone users. We can easily "change room", for example based on recording.

 

Yes, I have noticed same need to switch between three different configurations I have.

 

It is pretty big change, so more like material for 4.x series where I'd rethink the GUI...

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
Sorry, I think I got this wrong and it should be instead:

1 / -6 / 1 / Left30-L.wav

1 / -6 / 2 / Left30-R.wav

2 / -6 / 1 / Right30-L.wav

2 / -6 / 2 / Right30-R.wav

 

It is good to test the setup with test signal that first plays something only in left channel and then the same only in right channel. You can then hear if the audio clearly comes from left-front first and then right-front.

 

Thanks for the correction. Crossfeed sounds much more reasonable now!

 

Still don't think I like the foobar implementation all that much, but will experiment with some other options.

 

Is it possible that the 44.1khz impulse file works "better" with 44.1khz sources, than with 48 or 96khz sources for example?

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