Hi, One possible avenue you might investigate is to write a WDM Filter Driver that would sit over (upper filter) the instance of USB Audio device driver that is installed to support your device. In this way you can modify the requests that go to the USB driver and the information that is returned from the USB driver. I think you could lock or effectively disable the gain this way...as for the DSP processing, I am not sure. There might be a way for a filter driver to send a command to the USB audio driver to disable such processing...but I am not sure. This solution would be compatible across 2000/xp/vista. There are possibly other solutions that depend on some sort of USB Audio driver vendor specific support but I am not sure. You would have to look at the USB Audio class driver specification for such information. I am sure others will have ideas, but perhaps this is an avenue you might investigate. -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Keith Larson Sent: Thursday, August 21, 2008 9:36 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Vista: Input Volume x4 gain on microphone Hi All This is the first time visiting this wdmaudiodev, and I have three questions. Being a newbie, let me begin with a kind 'Hello'. I am here because I am working with a measurement device and the new Vista audio interface is, well, variable. After a lot of mucking around, I am closing on a solution that will lock the input and output levels. This is a kludge, but at least it works. There are however remaining snags. USB Audio Codec -> Classified as microphone -> gain of x4 (+12db) applied -------------------------------------------------------------------------- The device I am using is a fairly simple 2 channel in, 2 channel out ADC/DAC. I can deal with the OS classifying the input as a 'microphone', but more importantly it seems that the default action is to multiply the raw input stream by 4 (+12db gain). I can clearly see this when I set the application and master volume to 100%. The input is exactly 4x the expected value. Low signal level values are wrong, and if the signal is large, the data is clipped. If I set the master volume to 25% and application to 100%, things are ok (but maybe not if reversed), but this also means I need to lock the gain values. The issue now whether or not the x4 microphone gain ever changes in the future. It would be *far* better if I did not have to deal with the variable gain. DSP processing routines ----------------------- This time it is the output side. The DSP routines modify the outputs. Again, this is NOT desirable for a measurement system. Enumerating End Point and Wave Devices -------------------------------------- My code uses the 'Wavexxx' interface and as such I can get a handle, or an enumerated value. I can also get an enumerated listing of the 'end point' audio devices. As expected, these enumerations do not match (an endpoint can have multiple WAVE connections), so a direct matching is out. Luckily(?) the identifying strings, eg "USB Audio Codec' *SEEM* to match. That is, I am looking for something a bit more definitive. Suggestion ---------- Would there be a way to effectively achieve this for (both input and output) in some future release of Vista? [X] Lock master volume at 100% *and* bypass DSP processing (This endpoint is for a measurement device) Best regards, Keith PS: My code is and needs to be compatible with all Windows platforms. ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/ ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/