Current version

v1.10.4 (stable)

Navigation

Main page
Archived news
Downloads
Documentation
   Capture
   Compiling
   Processing
   Crashes
Features
Filters
Plugin SDK
Knowledge base
Donate
Contact info
Forum
 
Other projects
   Altirra

Search

Archives

01 Dec - 31 Dec 2013
01 Oct - 31 Oct 2013
01 Aug - 31 Aug 2013
01 May - 31 May 2013
01 Mar - 31 Mar 2013
01 Feb - 29 Feb 2013
01 Dec - 31 Dec 2012
01 Nov - 30 Nov 2012
01 Oct - 31 Oct 2012
01 Sep - 30 Sep 2012
01 Aug - 31 Aug 2012
01 June - 30 June 2012
01 May - 31 May 2012
01 Apr - 30 Apr 2012
01 Dec - 31 Dec 2011
01 Nov - 30 Nov 2011
01 Oct - 31 Oct 2011
01 Sep - 30 Sep 2011
01 Aug - 31 Aug 2011
01 Jul - 31 Jul 2011
01 June - 30 June 2011
01 May - 31 May 2011
01 Apr - 30 Apr 2011
01 Mar - 31 Mar 2011
01 Feb - 29 Feb 2011
01 Jan - 31 Jan 2011
01 Dec - 31 Dec 2010
01 Nov - 30 Nov 2010
01 Oct - 31 Oct 2010
01 Sep - 30 Sep 2010
01 Aug - 31 Aug 2010
01 Jul - 31 Jul 2010
01 June - 30 June 2010
01 May - 31 May 2010
01 Apr - 30 Apr 2010
01 Mar - 31 Mar 2010
01 Feb - 29 Feb 2010
01 Jan - 31 Jan 2010
01 Dec - 31 Dec 2009
01 Nov - 30 Nov 2009
01 Oct - 31 Oct 2009
01 Sep - 30 Sep 2009
01 Aug - 31 Aug 2009
01 Jul - 31 Jul 2009
01 June - 30 June 2009
01 May - 31 May 2009
01 Apr - 30 Apr 2009
01 Mar - 31 Mar 2009
01 Feb - 29 Feb 2009
01 Jan - 31 Jan 2009
01 Dec - 31 Dec 2008
01 Nov - 30 Nov 2008
01 Oct - 31 Oct 2008
01 Sep - 30 Sep 2008
01 Aug - 31 Aug 2008
01 Jul - 31 Jul 2008
01 June - 30 June 2008
01 May - 31 May 2008
01 Apr - 30 Apr 2008
01 Mar - 31 Mar 2008
01 Feb - 29 Feb 2008
01 Jan - 31 Jan 2008
01 Dec - 31 Dec 2007
01 Nov - 30 Nov 2007
01 Oct - 31 Oct 2007
01 Sep - 30 Sep 2007
01 Aug - 31 Aug 2007
01 Jul - 31 Jul 2007
01 June - 30 June 2007
01 May - 31 May 2007
01 Apr - 30 Apr 2007
01 Mar - 31 Mar 2007
01 Feb - 29 Feb 2007
01 Jan - 31 Jan 2007
01 Dec - 31 Dec 2006
01 Nov - 30 Nov 2006
01 Oct - 31 Oct 2006
01 Sep - 30 Sep 2006
01 Aug - 31 Aug 2006
01 Jul - 31 Jul 2006
01 June - 30 June 2006
01 May - 31 May 2006
01 Apr - 30 Apr 2006
01 Mar - 31 Mar 2006
01 Feb - 29 Feb 2006
01 Jan - 31 Jan 2006
01 Dec - 31 Dec 2005
01 Nov - 30 Nov 2005
01 Oct - 31 Oct 2005
01 Sep - 30 Sep 2005
01 Aug - 31 Aug 2005
01 Jul - 31 Jul 2005
01 June - 30 June 2005
01 May - 31 May 2005
01 Apr - 30 Apr 2005
01 Mar - 31 Mar 2005
01 Feb - 29 Feb 2005
01 Jan - 31 Jan 2005
01 Dec - 31 Dec 2004
01 Nov - 30 Nov 2004
01 Oct - 31 Oct 2004
01 Sep - 30 Sep 2004
01 Aug - 31 Aug 2004

Stuff

Powered by Pivot  
XML: RSS feed 
XML: Atom feed 

§ Tweaking the volume taper in Windows XP

For some reason, all of the laptops I've owned have had a problem with volume. Specifically, the volume adjustment buttons don't have enough granularity, so the bottom five ticks correspond to silent, loud, louder, loudest, and 11. I can combat this by turning down the mixer source line volumes instead, but I've had the misfortune of discovering software vendors that decided to solve their customer support problems by making their programs shove the MIDI volume all the way up on startup. I miss my old SoundBlaster 16 ASP, which had a good old fashioned volume knob on the back that programs couldn't touch no matter how many I/O ports they tweaked.

Fortunately, a while ago, after reading a post from Larry Osterman about volume in Windows, I played around with some curves and came up with the following Registry patch to set a nicer volume taper:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\Audio\VolumeControl]
"EnableVolumeTable"=dword:00000001
"VolumeTable"=hex:00,00,00,00,30,00,00,00,65,00,00,00,9f,00,00,00,e0,00,00,00,\
  28,01,00,00,77,01,00,00,d0,01,00,00,31,02,00,00,9d,02,00,00,15,03,00,00,99,\
  03,00,00,2c,04,00,00,cf,04,00,00,82,05,00,00,4a,06,00,00,26,07,00,00,1b,08,\
  00,00,2a,09,00,00,55,0a,00,00,a1,0b,00,00,11,0d,00,00,a8,0e,00,00,6b,10,00,\
  00,5e,12,00,00,87,14,00,00,eb,16,00,00,91,19,00,00,80,1c,00,00,c0,1f,00,00,\
  59,23,00,00,54,27,00,00,be,2b,00,00,a1,30,00,00,0a,36,00,00,08,3c,00,00,aa,\
  42,00,00,03,4a,00,00,27,52,00,00,2a,5b,00,00,25,65,00,00,32,70,00,00,6f,7c,\
  00,00,fd,89,00,00,00,99,00,00,9f,a9,00,00,08,bc,00,00,6b,d0,00,00,ff,e6,00,\
  00,ff,ff,00,00

Usual disclaimers apply; you screw up your system, your fault. Unfortunately, I can't find the little C program I wrote to generate this taper, but I remember it was something like a 5th order polynomial. Someone can probably throw it into Excel and reverse engineer it or something. After all the Vista bashing from a couple of days ago, I should at least report that this wasn't necessary in Vista, which already had a much nicer taper with the x64 driver I installed.

One issue I haven't been able to crack is the volume of the emulated PC speaker. For some reason the beep tends to be VERY loud on laptops, even louder than the wave audio. If I could find a display as bright as the beep was loud I'd have a Windows XP driven stun grenade. I've only found two crappy solutions: one is to disable the beep service (which for some reason isn't in the services UI but can be accessed with "net stop beep"), and the other is the power saving options for the integrated sound, which on my new laptop has an option to disable the PC speaker.

Comments

Comments posted:


In my experience, the beep service is used when the windows sound scheme is set to 'no sound' or if the particular system sound that the application is going to use has no sound set. I once solved the beep problem by creating a simple sound file 'silence.wav' and setting this one to all windows sounds.

Karel - 17 04 08 - 06:15


IIRC you can also make a sound scheme and just disable all sounds, save it and then beep is gone

ggn (link) - 17 04 08 - 12:47


"the bottom five ticks correspond to silent, loud, louder, loudest, and 11"
_O_

Sounds a lot like my Creative Zen Vision:M. When you want a nice calm sound, 0 is silent, 1 is too loud.
(Yes, this comment has nothing to do with Windows but just posting a quote and a smiley is even more useless)

Spinal (No, not named after Tap but from Killer Instinct) (link) - 19 04 08 - 08:58


LOL @ "the bottom five ticks correspond to silent, loud, louder, loudest, and 11". :)

Sambucus Nigra - 20 04 08 - 22:51


Although slightly different, I have had trouble using the mouse to adjust the mixer volumes on my laptop when using headphones. Using the mouse, the sound was more or less on or off... I found that a simple workaround was to click on the mixer slider and then use the arrow keys to adjust it up and down. It seems to have 256 different levels that you can select by the arrow keys, and it works well.

Nicholas - 21 04 08 - 01:51


You can't see Beep from the services interface because it's actually a driver (search for beep.sys). The SCM under Windows handles both drivers and services (probably because both are "stuff" which needs to be started at system startup).

Cd-MaN (link) - 24 04 08 - 14:23


Is there any more trickery required to make this volume table work? I modified the registry and there's no audible difference, even tried setting near-flat values in the beginning of the table but the first notch of nonzero volume is still just as loud, no change. Rebooted several times obviously.

Here's hoping you track comments for old entries :)

ilor - 16 09 08 - 06:23


I believe you need at least XP SP2 for this to work. Also, it works on the main volume -- I don't think it works for the individual source line volumes, like Wave Out. Might be wrong, though.

Phaeron - 17 09 08 - 02:44


Thanks for the reply. I have XP SP2 and sadly there's no noticeable difference at all between having the volume table on or off, and I'm testing the main volume. Maybe it's an issue with the drivers, I don't know. BTW, did you need to reboot to have the changes work?

Anyway, a hardware solution - getting a volume control dongle for my headphones - will most likely be quicker, even if I have to solder it myself.

ilor - 17 09 08 - 15:23


Works BRILLIANTLY. Reboot not required!

fud - 11 04 13 - 21:13

Comment form


Please keep comments on-topic for this entry. If you have unrelated comments about VirtualDub, the forum is a better place to post them.
Name:  
Remember personal info?

Email (Optional):
Your email address is only revealed to the blog owner and is not shown to the public.
URL (Optional):
Comment: /

An authentication dialog may appear when you click Post Comment. Simply type in "post" as the user and "now" as the password. I have had to do this to stop automated comment spam.



Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.