Home Computer Audio Asylum

Music servers and other computer based digital audio technologies.

You nailed the volume control functions Lynn...(long)

"The Foobar volume control should work for ASIO and Directsound. The Windows volume control will usually not work work with ASIO, but will with Directsound."

YES! Software player levels have nothing to do with "post player" level controls. Even some ASIO output plugins allow Winamp to retain level control. In these cases, you only need to ensure you have the volume set to 0dbfs - which for me was 50% slider for Winamp. For Foobar, 0dbfs is always 100% slider, which is why you get 0dfs when the Foobar level control is bypassed by the Otachan ASIO output plugins. Otachan plugins for Winamp also bypass, by in doing so, you get 200% (+6db gain) - at least you do on the audio interfaces I have.

Even with ASIO, software levels and SOUNDCARD mixer levels will still work. It has nothing to do with kmixer.

FOr Directsound, you do not NEED the audio device to be selected as a Windows default audio device. Windows volume control only works for the DEFAULT audio playback device. But windows mixer functions are still there (kmixer) whether or NOT the device is selected as the default. This can be proven by "injecting" other sounds into an audio stream during Directsound playback evem when said device is NOT the Windows default playback device! This is simply not possible with kernel streaming or ASIO since the latter get exclusive access to the audio interface. The sounds mixed by WIndows show up from higher up in the audio stack and are basically given a "busy signal".

This is how things are designed to work! ;) Most people do not want their music to "stop" all other PC sounds because most people are not audiophiles demanding bit-perfect playback, but instead are "multitasking multimedia power users" that are chatting, gaming and lisetning to MP3's at the same time. Bashing Microsoft for using a kmixer is silly, but they should have upped the sample rate of the conversion for XP. Thing is - why would they? The highest sample rate MOST users needed was 16/48 for DVD Video. DVD-A software players were not even around when kmixer was invented - even handling 16/48 was "future ready" at the time to handle the coming DVD-V software players. Apparently, Vista's mixer is much better, using higher sample rate mixing. But it's still sample rate conversion, and it's still (in my mind) unecessary.

PC audio. The fun never ends.

Directsound when device = Windows default: kmixing + Windows volume control active
Directsound when device not default: kmixing only - no Windows volume control

Once again, we see in the above example that Windows level controls are NOT a definitive test to see if Kmixer is being used! In both cases the kmixer will function, and multiple streams can be mixed.

Of course, if your audio interface has hardware mixing, this CAN work ALL THE TIME - no matter what you are using (Waveout, DS, KS, or ASIO). Trick is - most audio interface "mixers" are just for level control and setting input/recording levels. They don't really "mix" at all, but just route and control the level of outputs. At 100% (0dbfs) slider, most mixers will pass bitperfect right through to the DACs. The non-ASIO soundcard mixers are up to their own sneaky business - they're working backwards, and actually mimic the WINDOWS mixer!

People confuse level controls of hardware mixers and software players with Windows level controls and soundcard mixers that USE windows level controls. The confusion comes in when dual function (hybrid) ASIO/WDM drivers make the Windows level control shadow the hardware mixing level. They move "codependently" in unision (never independently). This instance tricks people into thinking a KS or ASIO stream is being routed through kmixer but its really only going through the hardware mixer. Windows level control simply is given control over the hardware mixers level control, probably because people know where to FIND the windows audio level control. This created WAY MORE CONFUSION than it was ever worth.

I thought this was common knowlege by now, but there are still Kmixer-phobics out there that see a functional level control and yell "KMIXER!" before they understand what is really going on. They probably think that the volume control on their amplifier is controlled by kmixer too.

I too was once a kmixer-phobic. But after much testing, I was able to prove to myself when it was actually working.

Directsound: KMixer only working with multiple streams, Volume only working when interface is the default Windows device.
KS/ASIO: Kmixer NOT working. The following volume controls will STILL WORK:

1) Software player (if plugin allows for it)
2) Windows Volume over Hardware mixer level (if assigned by driver)
3) Audio interface (soundcard level control) MIGHT work*

Some soundcard mixers that are NON-ASIO will lose their level control when kernel streaming to these cards. This is because these soundcard mixers are "working backwards" and mimic the Windows mixer and level control, having no real "independent" hardware mixing capabilities of their own.

THIS IS WHERE THE "REVERSE" (and thus FAULTY) LOGIC WAS BORN.

Although it's true that LOSING volume control means you have bypassed a mixer point (likely with kernel streaming to a non-ASIO card) it is NOT TRUE AT ALL that "all volume sliders must stop working" for kmixer to be bypassed. This was only true for specific instance of the non-ASIO card - most of which where Audigy 2 series soundblasters (on which most of the kmixer tests were done on the forums). NOBODY seemed to be doing testing using professional or prosumer cards with hybrid WDM/ASIO drivers. The Audigy 2 fan-boys would say "You have level controls - therefore YOU have kmixer!". I would say, "No, not all sliders are the same, and sliders can be controlled by different things - they can be "slaved" to other level controls depending on how drivers are written and whether or not the device is set to be the Windows default device". They didn't believe me.

Any of the three types of volume controls can be working and bitperfect can be had. Trick is - if the level control is not set to 0dbfs the level change alone disqualifies the signal for bitperfect (the guys doing the dts file test got passthrough ONLY when sliders were at 0dbs). Now for more confusion. Windows (and some software players) use 50% slider as 0dbfs. Foobar and most professional mixers uses 100% slider as 0dbfs. I think Creative uses a strange number like 75% slider as 0dbfs! There is NO COMMON SLIDER LOCATION for 0dbfs. This is another common source of myth and misinformation.

Some ASIO output plugins DO keep software player plugin level controls active. This does not prevent bitperfect playback, but forces one to know where 0dbfs is on that slider - and it varies from player to player.

I can see where Mac people find all of this reverse-engineering silly and pointless. But I like figuring out how things work.

Plus, these "disadvantages" turn into flexibility once you separate truth from myth.

Here are the questions one must answer to be "Sure".

1) Does my software player have a level control and if so, is it internal, or does it simply control WINDOWS mixer levels?
2) Does my output plugin disable or bypass this control?
3) Does my soundcard use hybrid WDM/ASIO drivers that assign level control to the Windows main level slider? OR does my non-ASIO soundcard simply mimic Windows mixer levels for LACK of it's own independent mixer?

This sure does differ from "working sliders = kmixer is working" theories...

Lunch is over. Back to work! :o)

Cheers,
Presto


This post is made possible by the generous support of people like you and our sponsors:
  Sonic Craft  


Follow Ups Full Thread
Follow Ups
  • You nailed the volume control functions Lynn...(long) - Presto 12:10:26 12/03/07 (0)

FAQ

Post a Message!

Forgot Password?
Moniker (Username):
Password (Optional):
  Remember my Moniker & Password  (What's this?)    Eat Me
E-Mail (Optional):
Subject:
Message:   (Posts are subject to Content Rules)
Optional Link URL:
Optional Link Title:
Optional Image URL:
Upload Image:
E-mail Replies:  Automagically notify you when someone responds.