Is Vista really capable of bit-perfect output?

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
It should be pretty easy to "load" files in RAM for any player application and compare: create a RAM disc, play the song once. The next time it will come from RAM...

So untrue. This is something completely different, as is setting a large buffer in Foobar.
But go ahead if you like. But compare.

If it were that easy I would be using Foobar myself. Would have saved me quite some time. :bigeyes:

Peter
 
Everybody on your website is using the word "jitter" for every difference he could hear

Thomas, you are looking at the right website ? (which is a forum only, indeed :) ). I am not aware of that, and it is not so. Do a search for it, and two lousy pages come from it, half of them about me telling stuff like "supposes to influence jitter" etc., just because there is no other explanation (oh there is, but this is - withoutproper measurement - beyond knowlegde).

I am not sure what all your references to cics are about ? You are not saying that getting a better PSU, different memory, getting the OS more lean etc. etc., it about something very concrete I am not aware of, do you ?

Of course all what cics applies I agree with (hey, wasn't I first ?), and in the very end we apply the same. One difference, I do it with software only (but with the same influences).
A nice discussion by itself maybe, but I don't have the idea I have to learn from cics' approaches. Btw, I (want to) learn from everything and everyone. No problem there.

Your reference to the W7 latencies ... I read it. But I'm afraid that thread isn't on par with real possibilities. Not by itself, but with some knowledge. Again the cics way if you want. But please note I play 24/192 with a latency of 48 samples, and that is only because timers aren't more accurate. It can go lower in theory ...

The main thing is to bring your player to your next step...

Haha, true. But allow me to be bothered to operate in a kind of vague domain;
As you might have seen I have created those Q2/Q3/Q4/Q5 sliders. Each of them has an element of which I learned it influences. Mind you, this is empirical. Thus, over time things happened to SQ unintentedly, I learned what did it, and now it can be "parameterized". Right. And they work. But WHAT works ?

I want to see numbers. Graphs. Differences in the first place. Don't blame me for wanting this, and appreciate it as for once and for all someone coming up with those figures. This, instead of the opposite, which I would call a scam indeed ...

With some ideas the player came first. But now I have to finish it off, and I'm sure when that succeeds even more will come from it.

Peter
 
XXHE,

so WHAT is it you are doing so differently? Is there a place to see some details, algorithms, source code examples, comparison results, etc? I have not seen any specific information yet. I would love to see results of bit-perfection tests of your player. Although honestly I have not looked hard :). Thanks a lot in advance.
 
On NOS

OS/NOS for many is just a preference. And, although I don't want to start the somaniest discussion or outlay on it, it may be nice to know that to me the NOS thing is very important, just because OS destroys all in the first place. Destroys for data.

Without elaborating on it too much, you only have to know that heavy oversampling (as in sigma-delta) makes perfect sines from perfect squares at 7KHz already, and all is lost.
No, I'm not talking about all the downsides of NOS, but when you start off with killing the transients in the first place, nothing is there to work with.

With the latter I again refer to measuring.

It is obvious that when I want to see influences, a stupid sine to begin with won't make the difference. Allright, it will when looking at the steps of a too high frequency, and the more towards Nyquist the worse it gets. The sad thing is, that eliminating that stepping (with the good virtues of *that*) kills the transients as in squares becoming sines. So, this is just not the way to solve the problem.

Besides this, one may wonder what the actual problem is when that stepping remains. So yes, you'll have harmonic distortion because of it, but again, solving the problem by oversampling just kills the harmonices there in the first place.

So, at just *knowing* how oversampling deforms the wave form, how can it be possible that the best measuring DACs (like the ESS Sabre) shows a THD+N of 0.0001 whatever % ?
This only tells that current measurements flaw to the highest degree.
To me this is similar as jitter measurements which might be under the same wrong influence. I don't know (yet).

So all 'n all (to me) this is one big pile of uncertainties, and in the end quite a challenge to get right.
Only then we might be able to say we perceive differences at listening, while right now all is not justified.

Sorry to be vague, but I don't want to make 10 pages of this really.

Peter


PS: I use a 24/192 NOS unfiltered DAC for this all. It can OS though, and it can use filtering. Without that it really sounds best, with the question of why. Did someone actually work this out yet ? not that I know of. But I will ...

PPS: Which, Thomas, is not much different from the stepped distortion of my horn speakers. I always say : a zillion things are wrong with audio. Quite some things to solve ...
 
Re: On NOS

XXHE said:

Without elaborating on it too much, you only have to know that heavy oversampling (as in sigma-delta) makes perfect sines from perfect squares at 7KHz already, and all is lost.

I used to be a fan of "perfect squares" too. But with hints from others I realized that in reality those are no squares at all. What you see on your screen (and want to see on scope at the DAC output) is a visual representation of several samples linked with a straight line - thus squares. But that is not the original analogue signal since the straigh lines/sharp edges are not frequency-limited to fs/2.

In fact, some software packages display waves on screen properly by oversampling to pixel resolution instead of joining the dots by lines - and magically those former squares are the same sines any decent OS filter outputs. The same sines were at the input of ADC if sampled properly (i.e. frequency-limited to fs/2 before the conversion).
 
Hi Peter,

I am not sure what all your references to cics are about ? You are not saying that getting a better PSU, different memory, getting the OS more lean etc. etc., it about something very concrete I am not aware of, do you ?

I didn't say anything like this. I only recommended to think it over and understand different influences. Even your player is up to the PC it is playing of... I would recommend to make a good, quite and slim machine. Therefore you have to do enough... Cics site is the only site where you can find deep informations about audio-hardware. His player is using still much more reserves because of his (!) upsampling philosophy. But you could do the hardware well (PSU, shielding, soundcard...). Even the point of stable and "clean" PSU, a modified soundcard (i.e. galvanic isolation ...) points out the influence of sound by hardware. You can hear it - also with your player :)

Latencies: Take one of the latency-tools and look for running services which are not needed and stop them, if they make no sense ...

As you might have seen I have created those Q2/Q3/Q4/Q5 sliders.

Yes I have seen them and I can hear that they are doing something :) But I cannot find any website where I can find a manual, where I can read anything about it. Theoretical you could overwrite some hardware (bios) settings or attack my email program and shot it down to make better sound :)

Website: Some time ago I gave your website-adress to an intelligent physicist and german highend-journalist. He wasn't able to find the download at first time... So you should think over that :)

NOS: I can comprehend... but this is not a thread about this subject.

Thomas
 
phofman said:
XXHE,

so WHAT is it you are doing so differently? Is there a place to see some details, algorithms, source code examples, comparison results, etc? I have not seen any specific information yet. I would love to see results of bit-perfection tests of your player. Although honestly I have not looked hard :). Thanks a lot in advance.

I appreciate that you all want to see this, but this is just the task I put to myself and what I am working on. You can bet that I will show all once it can be shown. I am not doing this for myself ...

Checking the bit perfectness is easy and nothing different from how we all know how to do it (despite the vagueness which, I think, I brought up earlier in this thread on Vista -> this was not true as it appeared later). So, apply the DTS test etc., or just capture the stream and compare with the original. Not much to it.

What it, very generally, comes down to, is influencing all which is current-related in that one "good" way. But think in near unmeasurerable amounts. Think of the indeed influence less current using memory has (cics). Less is not always best. It's the spread, eliminating the peaks.

But also briefly read that W7 link Thomas referered to. "Aero doesn't make a difference" somebody there said. Note that this remark was in the context of latency. Well, I coincidentally last week proved that a certain task within that PC heart took 10,000 times more cpu seconds with aero opposed to without.

It is about these things. How to avoid them, how to influence them, how to recognize them in the first place.

Funny thing is : I started in the playback software, while cics started in the OS layers. I very explicitly did not do that, because I wanted users to avoid all the tweaks, say, Foobar needed at that time. Press Play, and all was arranged for. Over time however, the OS layers appear to be influencing too much by themselves and you get stuck with them. So, right now I am working my way up to those layers and I'm sure it will all end up the same as where cics started off. cics however, might be working his way down to the software. He too will find that at some stage there is more to do than working those layers alone. He will be ending up where I started off.

Just give it time.
Peter
 
I didn't say anything like this. I only recommended to think it over and understand different influences.

Thomas, ah, I'm sorry. Well, I just talked about that one.
So, just agreement here.

What I just said, is that this goes by nature. Seeking for more.

One other thing : My DAC project is there for a reason. One of the reasons was to prove it can filter the influences by means of a super stable I/V (super shunt) etc. It doesn't "help".
Anyway, on that side I am working along on the same subject.

This is related to the PC side just the same, though partly. For me (as how it is now) this is about the soundcard stuff, and how to make the best PC connection hence eliminating *those* influences where possible. It goes further (cics) but I leave that to others.
Anyway I am working on that PC connection, and it is far from easy to do it theoretically the best way. Just to give a small idea :

I do (obviously :) ) *not* want an SRC in my DAC to (near) eliminate jitter. This means I am depended on the input jitter. Yes, this is the opposite approach. This means ditch SPDIF in the first place, and from there on the problems start. I want it to be a DAC solution, and not a PC solution.
Never mind the problems and never mind the possible solutions. I only want to say that this is a foremost priority which actually should eliminate the software influence.

Peter

PS: Website : yeah, it's worth nothing. But right now you could call it a dev platform. A decent website will be there when XXHE is out of beta.
 
Re: Re: On NOS

phofman said:


I used to be a fan of "perfect squares" too. But with hints from others I realized that in reality those are no squares at all. What you see on your screen (and want to see on scope at the DAC output) is a visual representation of several samples linked with a straight line - thus squares. But that is not the original analogue signal since the straigh lines/sharp edges are not frequency-limited to fs/2.

If an (oversampling !) ADC was in order, to some extend true. But synths don't really need ADC, and the squares could have gone right onto the CD. But it is not about squares of course.

Do you actually know how many times in a dynamic track the voltage jumps from, say, -60% to +60% ? Thousands and thousands. Right up/down in one straight line. Of course this is the amiss of redbook (way too few samples), but that too gets flattened. That's why I referred to "transients" somewhere in between the lines.

Besides stupid theory, this is so much audible ...
Peter
 
I do (obviously ) *not* want an SRC in my DAC to (near) eliminate jitter. This means I am depended on the input jitter. Yes, this is the opposite approach. This means ditch SPDIF in the first place, and from there on the problems start. I want it to be a DAC solution, and not a PC solution. Never mind the problems and never mind the possible solutions. I only want to say that this is a foremost priority which actually should eliminate the software influence.

Sorry Peter, I don't understand what you are meaning. I only know modern DACs with any kind of reclocking or jitter-handling and many very different PSU solutions - up to the Altmann DAC with its battery...
 
TJF said:
Peter, while you are here: Could you please explain, why your player doesn't need the "Lock pages in memory" privilege?

Hahaha, you really know what you are talking about.

Well, first off, this is a dot-net application. For XP I started like that, and I wanted to continue like that for my own convenience.

As you will know, WASAPI is not. However, I turned it into that (managed code). Now ... convenience became relative. :bawling:

While officially impossible, it took me a throughput time of half a year or so to turn that stupid managed stuff into something I could control. I took all that time because I was sure it would influence sound for the better, and it did. Besides, it obviously would take me away from the OS influence, which was never under my control. So now it just is, but in the managed environment.

I can hardly start explaining on how I did it, but it took ages of analysing how the OS responded to what. Right now, it's just dead to it.
As you can imagine this is about 800MB arrays all over the place.

For those who know a bit : this is a first important thing on how a large buffer in e.g. Foobar is completely different. I keep on poking right into the driver's buffer, nothing in between it.
A RAM disk is the worst. It works counterproductive (for XXHE that is).

All is very very fragile, just like the display of a running time which obviously everybody wanted all the time, but which I only introduced last week. When not done right it influences sound, and to do it right is not easy at all. And FYI, this was the time I just *had* to stop some services, which is about the "10,000 times more" thing. From here on I will eliminate all services (allowed). Tried to stay away from cics' solutions, but now I can't help it anymore (IOW it would be stupid not to proceed on it, now the general mechanism is in).

Peter
 
Re: Re: Re: On NOS

XXHE said:
If an (oversampling !) ADC was in order, to some extend true. But synths don't really need ADC, and the squares could have gone right onto the CD. But it is not about squares of course.

Even synths do not produce any squares, but samples at a time - basically dots. It is just the incorrect visual representation that turns them into squares in incorrect visualisation SW (which holds for almost all of them, proprietary or open source).

Originally posted by XXHE
Thousands and thousands. Right up/down in one straight line.

Not so in a chain properly frequency-limited to fs/2. It happens so in the DAC, and that is why the analog filter behind it is an inseparable part of a technically proper chain.

Originally posted by XXHE
Besides stupid theory, this is so much audible ...

Certainly it is audible, but that does not say the resultant sound is correct. The theory is actually rather simple and holds true.
 
Re: Re: Re: Re: On NOS

Thousands and thousands. Right up/down in one straight line.

phofman said:
Not so in a chain properly frequency-limited to fs/2. It happens so in the DAC, and that is why the analog filter behind it is an inseparable part of a technically proper chain.

Maybe we talk about different things ? What I talk about is right in the (track) data itself. It is there, and can't be avoided. Or better : it should not if it's there.
So, I talk voltage, but as the representation of it, while I actually mean the data which should turn out in that voltage.

But I guess few people know this.

This is a delicate subject by itself, knowing that complete 90 degree transients cannot exist in nature. It is in the data though, and caused by a lack of sufficient sample rate. So think about this :

In redbook we may have a sample with amplitude of -20000 (decimal). A next amplitude may be +20000. No samples in between. This happens thousands of times within a track, and e.g. -10000 / + 10000 happens tens of thousands of times, and the smaller the amplitude difference, the more it gets obviously.

There are several implications here.

One is that even 4 times upsampling will be nowhere near nature. Nature will be : no 90 degree is possible. Btw, it will need infinit sampling to do it right.

Second is, electronics can't do it. Here distortion starts.

Third is, now knowing about these huge differences, how much off will be upsampling ? How large is the chance that in between +10000 and -10000 the interpolated sample is 0 ? (for linear interpolation of course). Right, that is 1:20000.

Doing nothing (NOS) kills the electronics (virtually). Doing something will always be wrong.
Doing nothing will incur for unreal harmonics.
Doing something will kill the real harmonics.

But as said, I didn't want to write 10 pages about it.
And it may need 100.

This is not a simple matter of choice, because either has its downsides. The one to choose is the one with the least downsides for audibility. This should not be subjective, but because of all the paramers it may come down to it.

Proper filtering is the key of course ... something like that ALPHA thing from the other thread running. Not easy ...


Peter
 
TJF said:
Hi mikelm,

nice that someone is interested in facts (subjective or objective or subjective which will switch to objective if the ring closes) :)

See below (that is for 1 GB=1000.000 KB - don't know which file sizes you use).

Regards
Thomas

Somehow I missed this.
I was referring to foobar with wasapi because lots of people think it is the best sounding player, under vista. That is the de facto standard with which i compare other software. It is also crash-free ;)

I put the huge prebuffer and will test again later.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.