Automatically adds and enables Bass Boost to any playback device.
before execution | after execution |
---|---|
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
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
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
-noFakeProperties
combined with regular script execution on each device reconnection-defaultStereoAudioLevel 60
General -> Run with highest privileges
Triggers -> New...
-WindowStyle hidden -f %HOMEPATH%\EnableBassBoost.ps1 -playbackDeviceName BE279
To test it you could use an invalid DeviceName like -playbackDeviceName XXX
then you will see an error message pop-up after login