Is there any way to automatically decrease subwoofer volume at night?

Solution 1:

  1. Download NirCmd (it's portable).

  2. On the Control Panel > Sound > Playback tab check what your default playback device is called. By default it is "Speakers", but in your case it seems to be "5.1 Speakers" (you can always rename it on the General tab of the device's Properties page).

  3. Right-click the default playback device, click on Properties, then go to the Levels tab and check what you specifically want to control the volume of. In your case it is "Subwoofer":

    1

  4. See if the setsubunitvolumedb command works:

    nircmd setsubunitvolumedb "5.1 Speakers" "Subwoofer" -10
    

    setsubunitvolumedb [Device Name] [Subunit Name] [Decibel Value]

    Set the sound volume (in Decibels) of sound device subunit.

    The [Device Name] is the name of the device, as appeared in the sound devices list of windows. In most cases the device name is 'Speakers'.

    The [Subunit Name] is the name of a subunit, as appeared in the 'Level' tab of the device properties window. Examples for subunit name: Phone Line, Microphone, Internal MIC, Line In, and so on...

  5. If it does, you can simply create a couple of shortcuts to NirCmd.exe (for increasing and decreasing volume) with the appropriate parameters added to the Target fields. You can also create a couple of scheduled tasks that run NirCmd.exe automatically with the appropriate parameters twice a day - once in the morning to increase and again in the evening to decrease the volume.


Edit: Ok, this should work no matter what sound card you have.

  1. Download SoundVolumeView (it's portable too).

    2

  2. Set the volume levels you want for morning and save them to a profile named (for example) Morning_Profile.spr. Similarly create an Evening_Profile.spr with the required volume levels for each sound component.

  3. Now you can use SoundVolumeView /LoadProfile [Filename] to load the profile you want (create shortcuts or scheduled tasks as required).

  4. You can also directly set the volume of the subwoofer using SoundVolumeView /SetVolume [Name or Item ID] [Volume]. Name or Item ID for the subwoofer can be noted from the respective columns in the program, and Volume is a number between 0 and 100.