ASIO vs. Kernel Streaming
Jan 6, 2006 at 4:08 AM Post #46 of 57
Quote:

Originally Posted by Tachikoma
Would this apply to ASIO via ASIO4ALL too? I think I'm hearing something similar to what you've described with my own setup (with nothing nearly as impressive as a K1000), but its strictly "I think", the differences are so small it could be nothing but placebo.


I am puzzled by ASIO4ALL in my system. It does sound good, better than Waveout and DirectSound, but it doesn't quite have the translucency and purity of ASIO dll in my setup. I hear this difference through both my Lynx 2B and Empirical-modded Transit. Yes, ASIO dll, ASIO4All, and KS 'should' be equivalent bit-wise, but some factor is making them sound different.

What's most strange about ASIO4ALL, however, is that it seems to obscure the sound differences with foobar resampling. With KS and ASIO dll, I can clearly hear sound change as I go from 44.1, 88.2, 96, 176.4, and 192 kHz. With ASIO4ALL, I can't hear these changes reliably. I've asked the author of ASIO4ALL about this as ASIO4ALL is supposed to "support" up t 192kHz, but I have not heard back.
 
Jan 6, 2006 at 8:17 PM Post #48 of 57
I wonder if someone would mind directing me to a explanation "from the beginning" of the ASIO/KS stuff: what it is, what it does, why it's important. I gather the general problem is that Windows ****s with the sound somehow after you've gone to some trouble to get a perfect lossless rip.

I'm just beginning to use a PC for audio. I'm not sure how I'm going to use it yet. I will run an S/PDIF signal straight from the mainboard to a DAC (Audio Research DAC5). I will probably get a headphone amp, in which case I want to defeat all software volume controls. But I may try to run HD650 directly from the balanced outputs on the DAC, if I can figure that out, in which case I do want software volume control.

Also, must these things be used with Foobar? I've looking at it and find it a bit intimidating. I was hoping to use MediaMonkey or WinAmp or something else simple that plays FLAC.

[Edit: Hey, that's funny - the system "bleeped" me.]
 
Jan 7, 2006 at 9:55 PM Post #49 of 57
Quote:

Originally Posted by TMHBAT
I wonder if someone would mind directing me to a explanation "from the beginning" of the ASIO/KS stuff: what it is, what it does, why it's important.


It's about bypassing Windows' kernel mixer and associated volume settings. To get bit-perfect audio to the sound card, you can use either ASIO or WDM kernel streaming.

Quote:

I'm just beginning to use a PC for audio. I'm not sure how I'm going to use it yet. I will run an S/PDIF signal straight from the mainboard to a DAC (Audio Research DAC5).


That onboard digital out is likely to exhibit quite a lot of jitter, so better get a card with bit-perfect low-jitter output (the Chaintech AV-710 should do when set up correctly).

Quote:

Also, must these things be used with Foobar? I've looking at it and find it a bit intimidating. I was hoping to use MediaMonkey or WinAmp or something else simple that plays FLAC.


No, you needn't use Foobar. For Winamp, you can get a nice ASIO plugin that can be used in conjunction with ASIO4All (for the latter, you can even get a manual).
 
Jan 8, 2006 at 12:41 AM Post #50 of 57
Quote:

Originally Posted by sgrossklass
It's about bypassing Windows' kernel mixer and associated volume settings. To get bit-perfect audio to the sound card, you can use either ASIO or WDM kernel streaming.


That onboard digital out is likely to exhibit quite a lot of jitter, so better get a card with bit-perfect low-jitter output (the Chaintech AV-710 should do when set up correctly).



Thank you for your respose. So does this mean that, when ASIO or KS is correctly implemented, neither the Windows main volume control nor the media player's own volume control will change the volume, or just that the Windows main volume won't?

Also still trying to get a handle on how best to link the PC and DAC. My hope with the ARC DAC5 was that its phase-locked loop circuitry would eliminate the jitter in the signal. But I've been reading around here and people seem to use expensive sound cards even for digital outputs. I can't really understand why. Other than jitter, the only problem I can see with linking two digital components is mismatches between their (average) clock speeds, and I believe (though this could be wrong) that there is no particular reason why a low-jitter clock would match better than a high-jitter one. Within a well designed CD player, the digital drive's output clock is slaved to a master clock that is situated right at the DAC. From what I can tell, there is no way to implement any kind of clock-link with a PC.
 
Jan 8, 2006 at 12:46 PM Post #51 of 57
Bad vs. Good Audio Cards for digital out. There does seem to be a big difference, just look at the stats for the spdif out capabilities.

I did research this, just looking at the manufacturers stated capability of the SPDIF out of their unit. In particular I was looking for the ability to do 44.1Khz frequency (native CD) at at least 24 bit resolution. You would be surprised how many SPDIF outs do 48 (native DVD) and 96 khz out only. Many of the units designed now are pretty much made to pass the DVD out of the computer to a dolby decoder.

Many of the cards filter and resample the data stream several time before passing it out as well. This is done better in some cards than others, based on the quality of the circuitry and software.

The onboard sound systems based on the AC97 core do not output at 44.1. This is try on my recent ASUS board for socket 939 SLI, despite having both a coaxial and a TOSlink on the back. (that would have been too easy)

The KS / ASIO stuff is an attempt to bypass further filtering/resampling/mixing by Windows itself.

My perfect card will have 3 connectors on the back - a TOSLink and Coax SPDIF set that have software to directly put the data stream from the hard disk (foobar/etc add in as well) and a single 1/8th jack for a set of stereo speakers (I like Klipsch and have both the 2.1 and the iFi) The software would be configureable to be either an audiophile digital out or DVD system out. No Bloatware to mess with the audiophile part.

The current race of audio cards seems to be how many audio outputs they can cram onto the card. Multi channel receivers are not expensive anymore, I wish they would get the decoders off the card, and put that money to putting better stuff on the card.

my 2 cents. Of course all this says nothing about the fact that "good" cards typically have better components and are better designed than "bad" cards. The AV710 being the exception, it does a particularly good job at a couple of things (spdif out) and there is the Wolfson DAC for a set of the outputs if you can figure out how to set it up right which is dirt cheap. (several guides here on the HiFi formums to do this best)
 
Jan 8, 2006 at 1:56 PM Post #52 of 57
Quote:

Originally Posted by TMHBAT
Thank you for your respose. So does this mean that, when ASIO or KS is correctly implemented, neither the Windows main volume control nor the media player's own volume control will change the volume, or just that the Windows main volume won't?


Players' volume controls tend to be just frontends for some mixer setting, so that's one and the same. (Only the Foobar2k volume control is different and directly processes the signal.) With KS, sometimes the Wave volume control is bypassed (e.g. ASIO4All, or IIRC Foobar2k) and sometimes it isn't (e.g. RMAA). With ASIO it's always bypassed. The main volume control is still active on my cards then, however. (If you've got a card with fancy processing à la E-MU, then you can still do do lots of things with a signal even if it's coming from ASIO. That's why it's not so easy to get a simple bit-perfect stream, as opposed to humble Envy24HT cards.)

Quote:

Also still trying to get a handle on how best to link the PC and DAC. My hope with the ARC DAC5 was that its phase-locked loop circuitry would eliminate the jitter in the signal.


You can reduce jitter by dimensioning the PLL correctly, but it's still better if it isn't there to begin with.

Quote:

But I've been reading around here and people seem to use expensive sound cards even for digital outputs. I can't really understand why.


Flexibility and drivers, mostly. The AV-710, for example, can only output 44.1 or 48 kHz with 16 bit samples in normal and either 96 or 192 kHz with 24 bit in high sampling mode. Switching between the two requires a reboot, and recording doesn't work in high sampling mode. As opposed to that, a card like a ProDigy 7.1 (or a reflashed Aureon
wink.gif
) or Revo 5.1 can be set up to output pretty much any sample rate available - here you can select between 16, 22.05, 24, 32, 44.1, 48, 88.2, 96, 176.4 and 192 kHz. Not all of these may be available with any API though. It is usually not necessary to use anything more expensive than this kind of card, except when a dearer card provides far lower jitter levels.

Quote:

Other than jitter, the only problem I can see with linking two digital components is mismatches between their (average) clock speeds, and I believe (though this could be wrong) that there is no particular reason why a low-jitter clock would match better than a high-jitter one.


This is the reason why you need the PLL in the first place - the DAC needs to sync with the incoming data stream. Unfortunately ordinary PLLs tend to exhibit comparatively high phase noise, in other words: jitter. (As always, one cannot lump all of them together - a cheapo PLL synthesized receiver may exhibit rather high levels of phase noise, while it's going to be a whole lot better already on a Sony 7600GR and yet better on a semi-pro rig provided this is still using an oldschool PLL at all.)

Quote:

Within a well designed CD player, the digital drive's output clock is slaved to a master clock that is situated right at the DAC. From what I can tell, there is no way to implement any kind of clock-link with a PC.


Oh yes there is. The card needs to be able to sync to an external clock, usually either via an SPDIF (consumer cards, e.g. Aureon, ProDigy) or wordclock input (pro cards), with the DAC (or a reclocker à la Apogee Big Ben) providing the respective output. The Big Ben uses a DDS based synthesizer instead of an oldschool PLL btw; this concept, when well implemented, can provide very low phase noise and thus jitter.
 
Feb 5, 2014 at 10:03 AM Post #54 of 57
after some searching i found out that the cracking stops when the ASIOhost32.exe or Asiohost64.exe is set to realtime priority.
 
So
 
make a batch file
start.bat:
start /realtime C:\Users\user\AppData\Roaming\foobar2000\user-components\foo_out_asio\asiohost64.exe
 
add this to the start-up folder
set the foorbar2000.exe to run as administrator
 
 
Now foobar runs with a flawless asio support.

 
ps foobar has an option to run asio in high priority.
deselect this option!
 
tested on win8 X64
 
Feb 5, 2014 at 11:19 AM Post #55 of 57
From a sound quality perspective,  I doubt that anybody can detect an audible difference between Kernel Streaming, ASIO, WASAPI or even DirectSound, provided each is optimally configured.  Sure, tinkering with your sound system is fun.  That's one of the reasons we frequent this website.  And, there are other non-sound quality related reasons why you might prefer one over the other.  But, when you're tired of tinkering and you just want to listen to some good, clean music via your sound system, any one of the above mentioned profiles will provide equally high quality results (provided it is properly implemented).  My suggestion is to pick the least problematic solution and use it.  You'll never hear the difference.
 
Feb 6, 2014 at 2:27 AM Post #56 of 57
For asus xonar hardware, ASIO disables digital volume control, hardware resampling, software resampling and software conversion of bit depth to 32 float by windows, while kernel streaming, wasapi exclusive mode, and directsound+GX mode only disable software resampling and conversion to 32 float by windows.
 
It's a contrived difference though, they specifically made the driver behave like this.
 
Sep 26, 2014 at 3:51 PM Post #57 of 57
  after some searching i found out that the cracking stops when the ASIOhost32.exe or Asiohost64.exe is set to realtime priority.
 
So
 
make a batch file
start.bat:
start /realtime C:\Users\user\AppData\Roaming\foobar2000\user-components\foo_out_asio\asiohost64.exe
 
add this to the start-up folder
set the foorbar2000.exe to run as administrator
 
 
Now foobar runs with a flawless asio support.
 
 
ps foobar has an option to run asio in high priority.
deselect this option!
 
tested on win8 X64

Bit off topic but.. Thank you so much for sharing, my problem is now solved and I can temporarily be at peace.
Asio4Ever.
 

Users who are viewing this thread

Back
Top