Falcosc / enable-bass-boost

automatically adds and enables Bass Boost to any playback device
GNU General Public License v3.0
5 stars 3 forks source link

Enable Bass Boost

Automatically adds and enables Bass Boost to any playback device.

before execution after execution
Enhancements Missing Bass Boost Added

Bass Boost works by reducing the gain of higher frequencies to avoid clipping, which means you have to increase volume. If you don't have enough amplification to spare to handle low volume audio sources, you could use -enableLoudness to increase source audio gain.

Only looking for loudness equalisation? Better use the simpler version of this script https://github.com/Falcosc/enable-loudness-equalisation

How to Download and Run

run in powershell

Invoke-WebRequest https://raw.githubusercontent.com/Falcosc/enable-bass-boost/main/EnableBassBoost.ps1 -OutFile $env:HOMEPATH\EnableBassBoost.ps1
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Get-Help $env:HOMEPATH\EnableBassBoost.ps1 -ShowWindow
Show-Command $env:HOMEPATH\EnableBassBoost.ps1

When is it needed?

Why does it need to be scripted?

What does it do?

  1. search for all active playback devices by name in registry
  2. registry import sets form factor and speaker properties to be same like full range speakers and defines bass boost settings

    Only 6 registry properties are needed to enable bass boost. The script is applying them only if they are needed

    "{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},1"="{62dc1a93-ae24-464c-a43e-452f824c4250}" ;PreMixEffectClsid activates effects
    "{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},2"="{637c490d-eee3-4c0a-973f-371958802da2}" ;PostMixEffectClsid activates effects
    "{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},3"="{5860E1C5-F95C-4a7a-8EC8-8AEF24F379A1}" ;UserInterfaceClsid shows it in ui
    "{1864a4e0-efc1-45e6-a675-5786cbf3b9f0},4"=hex:03,00,00,00,01,00,00,00,02,00,00,00 ;enable bass boost
    "{1da5d803-d492-4edd-8c23-e0c0ffee7f0e},0"=dword:00000001 ;FORM_FACTOR is needed if you form factor does not support bass boost
    "{1da5d803-d492-4edd-8c23-e0c0ffee7f0e},6"=dword:00000000 ;FULL_RANGE_SPEAKERS is needed if the option was set to 3
  3. restarts audio service to apply changed registry values

Known Issues

Install as Task

  1. Open Task Scheduler
  2. Action -> Create Task...
  3. General -> Run with highest privileges

    Run with highest privileges

  4. Triggers -> New...

    Additional Triggers

  5. Actions -> New...
    • Action: Start a program
    • Program: powershell
    • Add arguments: -WindowStyle hidden -f %HOMEPATH%\EnableBassBoost.ps1 -playbackDeviceName BE279
  6. To test it you could use an invalid DeviceName like -playbackDeviceName XXX then you will see an error message pop-up after login

    Test Error