AppAudioConfig and SoundVolumeView can help you achieve what you want.
Both are gratis and without any bloat. They are portable except when they need to modify the Windows registry to make the required changes. I have personally used both, and found them to be excellent. As such, I can recommend them.
This a good description of AppAudioConfig:
Starting from Windows Vista, you are allowed to change the sound volume of every application separately, and after you exit from the application, the last settings are saved in the Registry under HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\LowRegistry\Audio\PolicyConfig\PropertyStore so in the next time you run the application, your last settings are used.
This tool displays your current audio settings of every application on your system, and allows you to easily change the setting of multiple applications at once. You can change the mute/unmute status, the sound volume level, and the right/left audio balance of the application.
Source: https://www.nirsoft.net/utils/app_audio_config.html
And this is a good description of SoundVolumeView:
SoundVolumeView is a simple tool for Windows Vista/7/8/2008/10 that displays general information and current volume level for all active sound components on your system, and allows you to mute and unmute them instantly.
SoundVolumeView also allows you to save a sound profile into a file, containing the current volume level and the mute/unmute state of all sound components, as well as the default sound devices, and then later, load the same file to restore exactly the same volume levels and settings.
There is also extensive command-line support, which allows you to save/load profiles, change current volume of every sound component, and mute/unmute every sound component, without displaying any user interface.
Source: https://www.nirsoft.net/utils/sound_volume_view.html
These two great tools can be used together, or individually by themselves.