XXHighEnd

Ultimate Audio Playback => XXHighEnd Support => Topic started by: achri-d on January 26, 2009, 10:41:19 pm



Title: Initial question.
Post by: achri-d on January 26, 2009, 10:41:19 pm
I have downloaded version XXHighEnd-09-w9b as demo and run it on a PC operating under Vista Home Premium SP1. I have one rather trivial question to begin with:

How do I in general avoid format conversions, in particular how do I avoid conversion of 24/88.2 to for instance 24/96 (if I assume the current Vista default)?

Regarding demo versions - why don’t #3 Engine and DAC TEST work with the demo version?


Title: Re: Initial question.
Post by: PeterSt on January 26, 2009, 11:16:37 pm
Hi,

At using Engine#3 no format conversions are applied ever. XX just doesn't allow for it. So, when you have sound, you have the original sample rate (at bit perfect fashion). Unless you tick Double etc. of course.

Regarding the DAC test ... it should just work. What happens at your side ?

Peter


Title: Re: Initial question.
Post by: achri-d on January 27, 2009, 12:59:46 pm
Hi,

At using Engine#3 no format conversions are applied ever. XX just doesn't allow for it. So, when you have sound, you have the original sample rate (at bit perfect fashion). Unless you tick Double etc. of course.

Regarding the DAC test ... it should just work. What happens at your side ?

Peter

1) The demo does not work for #3 Engine, and so I run #2 Engine. I am not discussing conversion by XXHighEnd, but conversion made by Vista and how to avoid it? Installing a standard ASIO driver and using Foobar2000 (0.9.6.1) allows me to skip the Vista conversion and all formats I have can be played as native PCMs, i.e. 16&24/44.1, 24/48, 24/88.2 and 24/96.

2) The DAC Test does not run too?

I have tried XXHighEnd on two machines - an ACER laptop and a Fujitsu-Siemens Amilo Desktop. Two completely different architectures and configurations. The only similarity is that Vista Home Premium is installed on both. I have tried two XXHighEnd versions - the one mentioned here and "XXHighEnd-09-w7". The behaviour to be described is the same on both machines for both XXHighEnd versions: When setting #3 Engine the player does not start and after a while a dialogue saying something like "... bit sequence is not supported ... " pops up and the player shuts down.

Yes I have read, and read very carefully, the installation procedures and can for the time being see no errors from my side.


Title: Re: Initial question.
Post by: PeterSt on January 27, 2009, 06:12:42 pm
Firstly, Engine#3 should just run in demo mode as well. Next what I described earlier (about sample rate conversions) just applies.

So the question is, why can't you run Engine#3 ?
What DAC do you have ?

Quote
bit sequence is not supported ... " pops up and the player shuts down.

I don't recognize the latter, unless you have Unattended ticked ... or try it with Engine#1 or #2. The DAC test is not fore those engines, and I actually never tried it. So if you did not try the DAC test for Engine#3, please try that (and load a 16/44.1 WAV file to play !).

Quote
Regarding demo versions - why don’t #3 Engine

I'm sorry that I overlooked that question. So, the demo version doesn't hold you back of anything ! (except playtime of on average 30 minutes per session (per startup of XXHighEnd)) and the output in the Library Area is limited to 100.

Please let me know what comes from this, and don't forget to tell what DAC you use.


Title: Re: Initial question.
Post by: achri-d on January 27, 2009, 09:33:17 pm
1) I see that you use Vista Ultimate, I use Home Premium. Did you verify that the program runs under Home Premium?
2) DAC Test suddenly works and I get - when setting to #3 Engine - that none of the standard formats are supported by the DAC. I have tried both wav & flac. The only change is that more formats are tested with wav.
3) I use a dCS Upsampler that accepts USB2.0 + DAC combo. A friend of mine has the same equipment - but uses Vista Ultimate and it seems to work for him.


Title: Re: Initial question.
Post by: PeterSt on January 27, 2009, 10:52:37 pm
Quote
Did you verify that the program runs under Home Premium?

Sure.

Quote
I use a dCS Upsampler that accepts USB2.0 + DAC combo.

Oficially this is not possible. When done right, it would imply a 24bit USB connection. Can't be over USB ... officially (!). And Vista WASAPI needs official stuff.

I didn't get what your DAC is. Maybe it's important, maybe not ...


Title: Re: Initial question.
Post by: achri-d on January 27, 2009, 11:14:48 pm
Oficially this is not possible. When done right, it would imply a 24bit USB connection. Can't be over USB ... officially (!). And Vista WASAPI needs official stuff.

Well, here you lost me - to put it simple: I don't understand what you mean. Are you somehow trying to indicate that USB2.0 does not work with XXHighEnd? Foobar2000 in version 0.9.6.1 works just fine - and yes I can play for instance 24/88.2. Yesterday evening I was listening to a 24/88.2 flac from Linn Records where Mackerras conducted Mozart 38-41 - very well played, indeed, and very enjoyable.

I didn't get what your DAC is. Maybe it's important, maybe not ...

I use a dCS Scarlatti upsampler that comes equipped with USB2.0 input. The DAC is a dCS Paganini. They work in a combo - and I need the upsampler first because this is the component that connects to the PC using USB2.0.


Title: Re: Initial question.
Post by: PeterSt on January 27, 2009, 11:47:19 pm
Quote
Well, here you lost me - to put it simple: I don't understand what you mean. Are you somehow trying to indicate that USB2.0 does not work with XXHighEnd? Foobar2000 in version 0.9.6.1 works just fine - and yes I can play for instance 24/88.2. Yesterday evening I was listening to a 24/88.2 flac from Linn Records where Mackerras conducted Mozart 38-41 - very well played, indeed, and very enjoyable.

It is not that difficult. :) You asked about Vista resampling etc. ... Vista (or Windows) supports 16/96 max over USB for audio. Any propriatary means may support more, but Vista WASAPI won't understand that. Nothing to do about it.
Note that I'm a bit speculative because "upsampling" as you say, needs 17 bits at least when the source is 16 bits. If the upsampling is not done right, 16 bits "suffice". But XX uses 17 bits (for 88.2) or 18 (for 176.4). And USB doesn't take that.
Note that Vista (when allowed, which XX does not) will resample to the available output rate. So, you may think you are playing 24/88.2 while actually this is 16/88.2. It may be hard to prove for you (or me for that matter), but theories of operation (legacy USB) says so.

It's all not that easy. I will sort out the dCS with the Paganini combo for you. Ok (for now) ?
Peter


Title: Re: Initial question.
Post by: achri-d on January 28, 2009, 12:09:02 am
So, you may think you are playing 24/88.2 while actually this is 16/88.2. It may be hard to prove for you (or me for that matter), but theories of operation (legacy USB) says so.

Right, sorry wrong. I have written a Matlab/C#(.Net) application that analyses the output from Foobar/USB2.0. Do you think I trust what is written in the display of the Upsampler - which, by the way, uses 24 bits when doing the upsampling (dithering/noise shaping). Well - maybe I cannot use the XXHighEnd player in my system. I will have to check your claims about the WASAPI & USB.

Edit - your 1 and then 2 additional bits are probably what I call the dithering bits - well maybe you have another name for it.


Title: Re: Initial question.
Post by: PeterSt on January 28, 2009, 12:24:29 am
Quote
How do I in general avoid format conversions, in particular how do I avoid conversion of 24/88.2 to for instance 24/96

Of course I can't know what your application is checking (and how, meaning at the exact right point in the chain), but the bit depth conversion (by Vista if it "needs" it) counts the same as the SR conversion.
If you want to check something, the only thing you really need to check is whether USB 2.0 specs allow more than 16 bits.

For example, Empirical Audio doesn't play either. Why ? ... their DACs accepts 24 bits only, and they tricked the USB specs coming down to not audio passing USB, but just data. No tricks really, but just smart. But Windows Audio doesn't dig it, no matter USB is suffidiently capable of it (I think to even 192KHz).

But this is all a bit premature. I will check out your upsampler and DAC.
Btw, please note this "DAC Test" is just Windows (Vista) reporting here. If that says "I can't", XX can't. I just can't help that. At least not when you disallow resampling of any kind, which XX just doesn't for the good sake. WASAPI Shared Mode is another matter, but that just allows this resampling. And I eliminated that "feature". Again for the good cause. Well, you know ...


Title: Re: Initial question.
Post by: PeterSt on January 28, 2009, 09:05:51 am
Quote
Edit - your 1 and then 2 additional bits are probably what I call the dithering bits - well maybe you have another name for it.

No. You can't upsample without an additional bit per magnitude of 2. This has nothing to do with dither (and dither is not in order at upsampling).


Title: Re: Initial question.
Post by: achri-d on January 28, 2009, 09:40:17 am
No. You can't upsample without an additional bit per magnitude of 2. This has nothing to do with dither (and dither is not in order at upsampling).

Upsampling while keeping bit depth (for instance 16 bit) may require dithering - tpdf for instance - and likely noise shaping to avoid inband unwanted distortion and noise. Adding bits is usefull and that's why I call them the dithering bits. I see no reason to further discuss these issues.

Edit - what about upsampling to DSD - where bit depth is reduced as far as it goes. (Sorry am at home with children and have too much time to discuss - but now I am finished)


Title: Re: Initial question.
Post by: PeterSt on January 28, 2009, 10:11:37 am
Quote
I use a dCS Upsampler that accepts USB2.0 + DAC combo.

Oficially this is not possible. When done right, it would imply a 24bit USB connection.

Ok, dove into it, and I don't think I can let stand what I said in above quote. Or anyway it has to be looked at differently. I'll try ...

1. The 24 bit thing (USB 2.0 audio officially NOT supproting that) is still true.

2. The 24 bit implied connecttion I talked about earlier would exist between the upsampler and the DAC.

3. We must wonder what is reporting to Vista here, the DAC or the upsampler ? I'd say the latter.

4. The specs of the upsampler talk about an asynchronous connection. This would be the Empirical way I talked about. Not 100% sure, but near.

5. The dCS specs do not explitly talk about 16 bits as being an input possibility. It says "up to 24 bits". Almost the same, but be alarmed here.

6. As far as I know, Legacy USB (meaning, what Vista (et al) support officially for USB audio, with MS drivers) should show as a Loudspeaker Device ("USB Audio") in the device list.

7. My earlier expression on upsapling requiering more than 16 bits (hence 24) still stands, but I don't think it applies here. It would if your DAC would be the reporting device, but I thing the upsampler is.

Ok. It may come down to the latter. I assume an Empirical device does not show like that. But I don't know actually. If at your side it does not show as a Loudspeaker Device, concider it proven that you're not using an USB Audio connection, but a USB data connection which "asynchronous" (dCS specs) suggests.

Btw, might you want to dive into these matters yourself, there have been discussions on the net (IIRC at head-fi) between Steve N. and Gordon J.R.. This is exactly about these matters, where Wavelength also uses an asynchronous connection but in the official way. This comes down to Empirical accepting 24 bit input only and Wavelength accepting 16 bits as well. For Empirical this means that the PC has to uprate to 24 bits first before their DAC (and OffRamp etc.) can be used.
For fun you might examine the specs on Empirical devices, where it doesn't say anywhere that 24 bit input is a must, but the stories about uprating to 24 bits first is way better are all over. Showing the real truth may be too hard, whatever. That is why I said "be alarmed".

The sad point is, that feeding such a device with 24 bits and be done with it, is not enough. Vista WASAPI just reports no DAC to be found when it doesn't comply to the Bill Gates standards, and then you're done.
This is again more complicated than you might think, because one of the parts of WASAPI is Shared Mode, and in Shared Mode your DAC (or upsampler) most probably will be found, because WASAPI will try other modes, may find a 24 bit device DAC and then tells the audio chain in Vista to resample to that (bit)rate from there on. And this is exactly what you do not want (not because I say so, but because of your initial question). That won't be a bit perfect connection ...

Then, as said before, XX eliminated the Shared Mode connection, because people wouldn't know what they listen to, and XX is there for the (intended) best SQ only. So why not eliminate Shared Mode ? the downside is obviously : if your DAC (upsampler) now doesn't talk to Vista in that one and only way it wants (which would be so in Exclusive Mode) you're over and done.


On another matter ... what is this about your Matlab program ? I mean, could it be beneficial here somehow ? On one side you seem to say "I can see everything through that program" (so can you ?) and on the other side you asked your initial question (implying that you at least can't see "that").

Quote
I am not discussing conversion by XXHighEnd, but conversion made by Vista and how to avoid it?

Maybe superfluously by now : In WASAPI Exclusive Mode Vista won't resample anything, won't add dither, nothing. It leaves the stream untouched. The problem left is that you must force Exclusive Mode to indeed be active, what a normal WASAPI implementation doesn't do. For example XMPlay does not as soon as it doesn't understand some little thing (about the asked for connection), let alone when the DAC really doesn't support what is asked from it. For e.g. Foobar I could not prove that, but then my DAC is just normal enough to get accepted by normal means. So that proof doesn't say much.

Well, I hope this at least is informative in some way to you.
Peter


Title: Re: Initial question.
Post by: achri-d on January 29, 2009, 08:14:31 pm
I have been checking a little on the usage of wasapi and my upsampler. I downloaded the software for this player (http://www.codeplex.com/naudio) (made some minor modifications) and the wasapi plugin to foobar and both fail to run - giving essentially the same message as does XXHighEnd. This means that it is wasapi as such that does not accept the upsampler I use, implying that XXHighEnd is not the problem. I have no time to delve into this problem now - but may happen to notify you if I find a workaround.


Title: Re: Initial question.
Post by: PeterSt on January 29, 2009, 10:06:47 pm
Thank you. I am far from satisfied with this myself, so yesterday as well as today I tried to create some analysis code using Shared Mode. Had to give up because nothing useful came from it (as it didn't two years ago, but I thought maybe I'd know more about it by now :sad:).
Sorry.