Why Windows audio is horrible and how to improve it. (Guide)

yeah i get what your saying, keep in mind I didn't play with the volume levels and i hadn't noticed any difference in the sound floor not that i would expect to either. so i wouldn't account the difference i heard to dithering anyway. I think it has something more to do with interpolating windows does as the signal didn't sound amplified with wasapi, iv tested digital signal booster's before and they sound like ass in my opinion, you can tell cause they usually target specific frequency ranges.  

as for the clearer sounding music i think it may have something to do with the decoding and sampling algorithm wasapi use's (and that assuming it actually by passes the windows audio stack as with the rest of what iv said so far)being that i can i only assume is more efficient.

As for using an analog potentiometer for testing volume difference, i dunno if that would work. i get the the benefit of analog volume control being a more granular precise level control over the noise level on the output. but if source if being processed differently from a pc because of the drivers and you keep with the default volume setting anyway, surely your only going to here the same differences anyway if you get what i mean?

Now I have always hated Windows Audio. Also hate the stock audio on my gs3 but with root I have tweaked it. Anyway, I bought my new headsets and they came with a USB soundcard. So I am missing something here. If I have a USB soundcard, Will I see a difference? Now I use the stock windows audio for my speakers and so I would see a difference but I personaly feel that the sound with my USB soundcard is crisper even with Mp3 and I just want to know if this will have any improvement?

Their Siberia Elite BTW so not a high end soundcard. just their little USB dongle.

Seems interesting. 

Posting this just so I got kinda of a bookmark in ''my stuff''.

 I think it has something more to do with interpolating windows does as the signal didn't sound amplified with wasapi

There isn't any interpolating going on unless the sample rate is converted. Sample rate is fundamentally different from bit depth in that sample rate is done in time-domain, while bit depth is a measure of how many integers or floats each individual sample contains. A 16 bit integer sample can have total of 2^16 different values that represent the amplitude of a waveform (at any given discrete time interval equal to the length of the sample rate), so a range of 32767 - (-32768) when expressed in two's complement signed integer (which is what is used for audio). 24 or 32 bit signal simply has increased precision, and converting from 16 bit to, say 24 bit depth, you simply add 0's after the least significant bit.

This might sound cryptic to some, but it isn't any different from adding decimal points, you just do it in binary instead. If you had a set of numbers from 1 to 5, you add precision by allowing a decimal point. If your original data only consists of the natural numbers, you don't lose anything by allowing this precision. 1 becomes 1.0 and 2 become 2.0 and so on. 

Its this simple. There is no decoding or resampling needed. Interpolating means that the missing data points need to be guessed, but if you convert bit depth upwards, there is no guessing - you just get more accuracy.

 

PS. I know I'm writing this in a reply, I mean this to be just general clarification in a thread that is more than a little confused.

 

http://support.microsoft.com/kb/925901

paragraph 3 says your wrong. i already know what bit depth is.

actually the whole damn thing says your wrong.

Reminder this is a very subjective thing. Now as i understand it, that is the point of wasapi or asio is to make the sound exclusive, as in you dont hear any system sounds. That being said i understand that useing wasapi or asio on a USB device is sometimes not a good idea. It is why wasapi for instance has push and event types. They had to make this change due to what they call jitter, something i do not fully understand but it seems to be choppy stutters in sound?

Either way, you kinda have to try for youself. However, i do know one trick that does fix most sound issues in windows includeing directsound. Under audio settings there is a setting for what windows should do when communication happens. Check the box to do nothing and most if not all volume level issues go away after a reboot.

Not true. While it is true that the windows mixer does have to resample all audio sources that aren't in the specified sample rate - Which is absolutely understandable. If you want to output, say, 192 kHz, and your source is in 44.1 kHz. sample rate conversion has to happen. This process involves actual interpolation, ie. guessing the values that are missing. 

They had to make this change due to what they call jitter, something i do not fully understand but it seems to be choppy stutters in sound?

Jitter is kind of like what you'd get the mechanism of cassette tape or motor of an LP player not keeping the medium running through the reading device at a constant pace. In the digital case, it's the clock that times the bits or, in case of a dac, impulse train, that is not keeping the time perfectly. For a while it runs a little slow, and for a while a little fast and it is these lower amplitude changes that get through the buffer in the DAC, because it's clock has to adjust to the pace of the stream to keep the DAC's buffer from under- or overflowing. The problem doesn't manifest itself as choppy sound, but as high-frequency modulation - Which is rarely audible in blind tests.


 

well now that we got that out the way you do know that to play back an audio file you need a audio driver to access the audio codec to decode the file for play back?

That is generally done in the software, as you have no doubt encountered yourself. The program, or operating system, or whatever needs codecs installed on it to decode an audio file into the pulse-code modulated signal the hardware accepts. This distinction is somewhat blurred with hardware or otherwise outboard solutions like in case of amplifiers, DVD or blu-ray players, having the capability of encoding or decoding dolby digital or DTS and the like. The same is true with CD-players dealing with the redbook standard, which isn't straight PCM either. But the actual DAC or ADC does take or outputs the PCM impulse train en- or decoded by whatever means this happens.

well the codec itself is software. so it would be fair to say that a sound card with "good" audio driver's yield a better audio experience vs the same hardware with inferior drivers?

I thank you for explaining that better, it makes a lot more sense to me now. 

This is less about audio quality and more about convenience. My HTPC is connected to a 5.1 receiver so I bit-stream most audio from movies and stuff, but a lot of stuff like AAC and MP3 etc can't be bitstreamed, so for that I was just using the windows audio with 6 channel LPCM, the problem with this is that for stereo sources I wanted to use pro logic on the receiver, but because the signal was coming though as 6 channels it wouldn't work. I could set the output as stereo but then multichannel sources would be converted to stereo. So it was kind of a pain.

The other day I was messing around with the reclock audio render which supports WASAPI and discovered that when using WASAPI instead of directsound it will output a PCM signal with whatever number of channels the source has, so that solved my problem.

I was just using the windows audio with 6 channel LPCM, the problem with this is that for stereo sources I wanted to use pro logic on the receiver, but because the signal was coming though as 6 channels it wouldn't work. I could set the output as stereo but then multichannel sources would be converted to stereo. So it was kind of a pain.

As far as I know, windows mixer doesn't have the ability to upmix material with fewer channels to more. It must be your audio card's software doing the upmixing. For realtek chips, you can specify whether to upmix or not (speaker fill) in the realtek HD audio manager.

So, technically, if you are using a dac/amp that is external that is what's converting the file to audio, so there isn't any windows interferance?

I'm just curious since I own a quite expensive dac/amp that claims to do all the work to get a much better sound. This is driving B&W cm5's at 65w per channel and sounds great but now I'm curious if it's placebo effect. Lol

when comparing it to my analog setup it's not as good but my analog setup is pretty sweet and would be hard to top with a digital source. 

So, technically, if you are using a dac/amp that is external that is what's converting the file to audio, so there isn't any windows interferance?

It's not the case that Windows converts the file anyways, it's done by a physical chip either on the motherboard, on your soundcard or an external dac. What Windows does is run the digital audio through the mixer (a necessity if you want multiple sound sources on your PC simultaneously) and then sends it to your device of choice. What you gain with an external DAC is the chip being located outside of the noisy environment in your case, presumably higher quality chip and also presumably cleaner power in the case of an external power supply for the DAC.


In my opinion the harm the windows mixer does is both greatly exaggerated and more than little misunderstood in this thread.

Media Moneky also has WASAPI built in and works fine out of the box. If you are having issues with a media player muting other sounds, make sure you don't have a setting in the media player that takes exclusive control of the sound set. Also, make sure you have the speaker/headphone properties (advanced tab) in windows set to the same sample rate and bit rate as set in your sound card/onboard sound/etc.

I love you so much man, holy shit thank you. <3

One thing I'm wondering however, is if there is a way to use the amazing sounding WASAPI audio, but still be able to say turn on a youtube video in the backgroud that isn't in wasapi?

Yeah that's pretty much how it works, it just outputs at a fixed number of channels, so if it's 5.1 and the source is stereo it outputs 5.1 with blank channels. But what I thought was awesome when I switched to using WASAPI is that the output signal will change to whatever the input signal's channel configuration is.

Thats the one of the problems I see with WASAPI. You can't, you even might have to reload the youtube page after stopping your music on foobar, which sucks monkey behinds.  The other being I believe the sound quality increase is somewhat placebo.