To emphasize Matt's point, please implement your driver's volume controls correctly. The definition of the property values for KSPROPERTY_AUDIO_VOLUMELEVEL is clearly defined in http://msdn.microsoft.com/en-us/library/ff537309(VS.85).aspx. Please don't deviate from that. I don't know much about your product, but a volume control that with a range of -91dB to +3dB isn't real useful in most *typical* PC environments, and could give the perception that much of the physical "travel" of the control has no affect. Is there a reason you want your volume control to have such a large range. Frank Yerrace Microsoft Corporation -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eerde Sent: Wednesday, April 20, 2011 9:40 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Setting KSPROPERTY_AUDIO_VOLUMELEVEL The assumption baked in to the design is that the dB stepping values exposed by the driver are accurate; if that's not the case all of the complicated volume processing that goes on above the driver is a game of blind-man's-buff. Specifically, if you go from step #X to step #(X+3) and the steps are 1.5 dB apart, there should be a perceived volume change of 4.5 dB. This should hold true whether X is the bottom step, or the third step from the top, or any step in the middle. It sounds like this is not the case on any of the three devices you tried. Can you run dxdiag on the three systems in question, "Save All Information", and send the resulting dxdiag.txt files to me directly (off-list?) matthew.van.eerde@xxxxxxxxxxxxx -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Robert Bielik Sent: Wednesday, April 20, 2011 9:18 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Setting KSPROPERTY_AUDIO_VOLUMELEVEL Matthew van Eerde skrev 2011-04-20 18:03: > > There are several ways to interpret a "v" in [0, 1] scale, with very > different effects: > I agree, but for me the only "sensible" interpretation is that I map v [0,1] linearly to [SignedMinimum, SignedMaximum] , i.e. 0.5 maps to (SignedMaximum + SignedMinimum)/2. But the perceived result is anything but "linear-in-dB". This is what I'm confused about. Maybe its a driver thing, but 3 different devices show the same behavior. Anyway, I did a mapping of v [0,1] to v_s [0,1] where v_s = exp(log(v)/3.0) and v = pow(v_s, 3.0) and that seems to work quite satisfactorily, so I'll go with that for now. Regards, /Rob ****************** 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/ ****************** 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/