Vista's Sound
Aug 28, 2007 at 10:06 PM Post #46 of 55
Quote:

Originally Posted by maarek99 /img/forum/go_quote.gif
You really understood nothing did you?


Did you?

The sample rates you can set in Vista for the shared mode are only rates that the sound card can support natively (in hardware). It may be possible, though, that your sound card is "faking" sample rates. This seems very likely for an X-Fi sound card as older cards from Creative are known to resample everything to 48 kHz internally in hardware. Because this internal resampling has been considered to be of poor quality people used higher quality software-resamplers set to 48 kHz to circumvent the hardware resampler of the sound card. In case of the X-Fi you should find out which sample rate it uses internally for all processing and output. Just set Vista to use that sample rate and you will have no additional resampling in the sound card.
 
Aug 29, 2007 at 12:01 AM Post #47 of 55
Quote:

Originally Posted by Hancoque /img/forum/go_quote.gif
This seems very likely for an X-Fi sound card as older cards from Creative are known to resample everything to 48 kHz internally in hardware.


I'm pretty sure the X-fi doesn't do this. Actually, now that I think about it, I don't remember. It was that, or it still resamples but does so with a much better algorithm.
 
Aug 29, 2007 at 12:44 AM Post #48 of 55
I read that the latter is the case. It still resamples but it is said to be of a very high quality.

According to this article "the X-Fi's core can run at two internal sampling rates, 44.1 KHz and 48 KHz, although it will only run at 44.1KHz in Creation mode, and if you specifically tell it to do so."

So set Vista to 48 kHz and you should have no double resampling. If you want no resampling at all with 44.1 kHz material then it's probably the best solution to do it via ASIO or kernel streaming (where Vista's shared mode setting has no effect). This might bring the card into the so called creation mode where native 44.1 kHz playback is possible.
 
Aug 29, 2007 at 1:49 AM Post #50 of 55
Look at it from a different perspective: Sound cards are very different in how they handle sample rates.

Some only have one fixed sample rate that they support. For example my Edirol UA-1EX external USB sound card has a switch to set the sample rate. If I want to change it I have to change the switch's position and then I have to replug the card. In this case I have no disadvantages whatsoever with Vista's resampling in shared mode. I even need it. Without it I could only play material whose sample rate matches the sound card's. If the material already has a matching sample rate then it is of course *not* resampled.

Other cards support more than one sample rate but have no internal resampler (like my internal M-Audio Audiophile 2496). The software must take care of it by resampling all audio sources to one of the supported rates. In this case Vista offers you all the rates that the hardware supports and lets you select the one you want. Again, here are no disadvantages in using Vista's resampling. It is mandatory to be able to play back sources of different sample rates at the same time. That's exactly what the shared mode is meant for, by the way.

The third group of cards are those that do internal resampling and thus offer all imaginable sample rates to the user. But only a very small subset of sample rates (if not only one) can really be used without the hardware doing any resampling. If the hardware resampling is bad then you end up in the same situation as with the previously described type of cards. You should pick a (or the) sample rate where the hardware doesn't resample in Vista and let the OS do the work instead. In this case there are also no disadvantages.

Only in the special case where the hardware resamples in a very good quality you might want to skip software-resampling alltogether. But as you can see, it's a very special case. And even if the sound card's resampler is better than Vista's (which is good) you would only benefit slightly from using that instead of Vista's.

Also take into consideration that XP works no different (because it's about hardware restrictions that have nothing to do with the OS) but it doesn't give you the control to specify the sample rate (or bit depth). So Vista gives you more control. Not less. It even gives you 24 bit playback while XP only gives you 16 bit.

To make it absolutely clear: If you want to be able to play sound from different sources/programs with different sample rates you have to use resampling. If you only want to play sound from one source/program you can bypass Vista's resampling by using ASIO or kernel streaming (just like in XP).
 
Aug 29, 2007 at 8:24 PM Post #51 of 55
Quote:

Originally Posted by thomaspf /img/forum/go_quote.gif
It's ike having the word processor change your text for youwithout asking.


Thomas, thanks for making me laugh today. I'm sur this isn't what you meant, but it was funny anyway.

Great discussion, BTW. I'm quietly following along.
 
Aug 29, 2007 at 9:15 PM Post #52 of 55
Quote:

Originally Posted by Hancoque /img/forum/go_quote.gif
So set Vista to 48 kHz and you should have no double resampling.


Won't work. The only option that works with spdif is 44khz. Either the problem is with x-fi's drivers or not, but I'm not convinced that Vistas sound system is any better.
 
Aug 29, 2007 at 9:18 PM Post #53 of 55
Quote:

Originally Posted by Hancoque /img/forum/go_quote.gif
Only in the special case where the hardware resamples in a very good quality you might want to skip software-resampling alltogether. But as you can see, it's a very special case. And even if the sound card's resampler is better than Vista's (which is good) you would only benefit slightly from using that instead of Vista's.


In the very special case in if you have an x-fi. The resampler in x-fi is many times better than software resamplers. Why should I have to use cpu cycles when I have dedicated hardware for it? Why the hell did they remove the hardware abstraction layer from Vista, I have to boot to xp to play Dreamfall.

Quote:

It even gives you 24 bit playback while XP only gives you 16 bit.


Rubbish. I've been playing back 24-bit files for years in xp.
 
Aug 29, 2007 at 10:00 PM Post #54 of 55
Hancoque you seem to be under the impression that there are no sound cards that can support different samplerates in hardware without resampling. There are many, including the ESI Juli@, E-MU 0404, 1212M, M-Audio Audiophile 192, and many others. Most if not all head-fi members who are serious about computer audio use one of these cards.
 
Aug 29, 2007 at 11:28 PM Post #55 of 55
@003: Did you really read my last post? Let me quote myself:
Quote:

Other cards support more than one sample rate but have no internal resampler (like my internal M-Audio Audiophile 2496). The software must take care of it by resampling all audio sources to one of the supported rates.


I don't know how all the sound cards you mentioned work, but one is pretty similar to one I mentioned in my last post, the Audiophile 192. A sound card like that has no hardware mixing and as already stated in my previous post it can only use one sample rate at a time. So if you want to be able to play back material of different sample rates at the same time you have to resample it before it is sent to the sound card. Windows XP does this if you use DirectSound or MME. In Vista, it's the same. You can still select DirectSound or MME in your applications but these are now filed under the name "shared mode" and Vista gives you some control over it. So what you set for the shared mode applies to DirectSound and MME but it does not apply to ASIO or kernel streaming. Using ASIO/KS you will not have any resampling done by the OS.

Using DirectSound in Windows XP and not enabling hardware mixing (the most commonly used playback method) causes the OS to do the mixing, including resampling. Hardware mixing is only done by a minority of sound cards - mostly gaming sound cards. Professional sound cards generally don't rely on it because they are supposed to only receive audio data from one DAW application via ASIO. They offer DirectSound/MME via software mixing.

You have to differentiate between three things:
- Resampling in applications
- Resampling in the OS (as part of the mixing process)
- Resampling in hardware devices (hardware mixing must be available to mix different sources in hardware)

These are the three possible stages where resampling can take place. You can use resampling at all three at once or you can use it at none. But to be able to playback sources with different sample rates at once, at least one stage has to use resampling.

The major misconception in this discussion is that Windows XP doesn't do resampling in DirectSound, but it does. There is one special case where XP doesn't do resampling in DirectSound/MME: If only one application is using the sound card and the sample rate is natively supported by it. So, Windows XP allows you to use 44.1 kHz in DirectSound without resampling (if your sound card supports it). But if you only use one application then you can also use ASIO/KS and be sure that your sample rate won't change without you knowing.

@maarek99:
Quote:

Originally Posted by maarek99 /img/forum/go_quote.gif
Quote:

Originally Posted by Hancoque /img/forum/go_quote.gif
It even gives you 24 bit playback while XP only gives you 16 bit.


Rubbish. I've been playing back 24-bit files for years in xp.



I stand corrected. Windows 2000 indeed had this restriction (there is a patch for it available) but Windows XP doesn't. The driver has to support it, though, and there are cases where the hardware is capable of 24 bit playback but it isn't used in DirectSound or MME due to bad drivers.

Both of you should now have realized that XP doesn't give you any direct control over sample rates and bit depths in DirectSound. The functionality even varies depending on the drivers you use. Vista ends this chaos by giving that control into your hands. I think it is a mere matter of opinion if you like the new approach or not.
 

Users who are viewing this thread

Back
Top