Local volume adjustment

Since my (simple) suggestion still doesnt seem to have made its way into Audacity 2.1.1, i’m going to ask: is it ever going to be implemented?
It cant be that hard to make a simple checkbox in the options menu to choose wether or not the Audacity’s volume slider also changes the volume of Windows, since it had been this way in 2.0.5.
I’d appreciate if the devs or someone who knows could tell me if this is going to be implemented.

Thank you.

Highly unlikely, because at least some of the developers are opposed to it.

That being the case, you could make this change yourself. :wink:

However assuming you are still on Windows 7 or later, you could use the Audacity volume slider in the Windows Volume Mixer instead of Audacity’s Mixer Toolbar volume slider. Play some audio in Audacity then left-click the speaker icon by the system clock, then click the “Mixer” link. On Windows 10, you must right-click the speaker icon and choose “Open Volume Mixer”.

You can then move the Audacity slider in Volume Mixer up or down at any level below the Master volume level without affecting the Master volume.


Gale

Why would they be against adding a simple checkbox into the settings to toggle this feature on/off? I refuse to believe that i’m the only one who doesnt like this feature.

I’d be happy to try atleast, if you point out to me where in the source code this feature is.

Some developers are against because applying negative gain to the same master level has a less good signal-to-noise ratio than reducing the master level. Some users believe Audacity sounds better as a “player” than other media players. Syncing the Audacity playback volume slider to the system output slider could well be the reason.

Also what you want is inconsistent with the behaviour of the recording volume slider which does control the master level.

I am not opposed to an option, myself, but there are many competing demands for more options.

I just checked and there are 19 votes counted including yours to decouple the Audacity Mixer Toolbar output slider from the system output slider.

Did you try Windows Volume Mixer? You could tile its window next to Audacity, or add a utility to keep it always on top.

Have you ever compiled Audacity? That is the first step.


Gale

Now that i know the proper reason, i can better understand why it was changed like this.

I haven’t, but by looking at the compiling guide it seems pretty straigthforward. So i’d appreciate if you could tell me where in the code i could find this feature and see if i can change it to my liking :slight_smile: and if not, i just have to learn to use the volume mixer.

I am not a programmer, but I imagine you would have to create a new function in src/AudioIO.cpp and add it to the Playback Preferences (src/prefs/PlaybackPrefs.cpp). It might be something that user Edgar would be interested in doing as a paid project. You would have to send him a PM and ask him.

Although you said this would not be difficult, AudioIO.cpp is very “fragile” and this does not strike me as a trivial change.


Gale

I’m trying to understand how this proposal would work, and I have a question.
If the proposal was implemented and you try playing something in Audacity and the playback level is too quiet, and the level is turned up full in Audacity, how would you make it louder?

First i would try turning up the master volume of Windows and if thats not enough, i’d use the “amplify” effect in audacity. But usually i keep windows at 50% volume and change it as needed in Audacity.

Do you normally work with multi-track projects, or single track projects in Audacity?

9 out of 10 times its a single track project i work on.

For those 9/10 projects, you could leave the playback level at maximum, and control the volume using the track Gain control (http://manual.audacityteam.org/o/man/audio_tracks.html#gain).

Note that the track Gain (and Pan) controls affect the exported file.

Would your proposed volume control affect the exported file?

This is exactly how it works with many in-app software gain controls e.g. in Windows Media Player. The in-app Media Player slider affects the Media Player slider in Windows Volume Mixer, but only downwards. So if you set the Master Volume in Windows to 1% then you won’t be able to hear the audio however loud you turn up the Media Player slider. But isn’t that a user error?

A fundamental decision we would need to make if implementing this would be - do we want the above type of gain control which just scales whatever the master level is, or do we want the in-app Audacity slider to control the Audacity slider in Windows Volume Mixer (on Vista and later)? If we do that, then once you turn the level in Audacity up above the master level, the master level increases. You would never get the problem that you can’t hear, but you would affect the master level when increasing the volume sufficiently.

What is El Goog’s use case? Is it that you want to turn down “loudness wars” CD rips, then system audio is too quiet? Or is it that you need to hear quiet audio (such as a fadeout) loudly in Audacity, then the system audio is too loud? I think this is the most common issue (which I suffer from ) but neither type of above volume control would fix that. You would need the type of gain control that VLC uses that also scales above the system level (in their case, maximum 125%, but I don’t think their scaling up sounds good). The in-app VLC slider does not affect the VLC slider in Windows Volume Mixer at all, not even downwards.

Another different approach would be to have a preference for the Audacity output level, and leave that level as controlling the system level as now. When you quit Audacity, the system level is reset to the preference level.

Which is why I never suggested that. :wink:

If yes, then ElGoog’s vote would have to be moved to a “unique” request that no-one else has asked for.


Gale

It wouldn’t.

My proposal here is to make a toggleable option which could toggle its behaviour between the following:

  • How it works now (affects the Windows master level directly)

OR

  • How it used to work: for example in Audacity version 2.0.0 which i’m currently using. There it doesn’t affect Windows master volume but controls the Audacity’s volume slider in Windows volume mixer from 0 to the maximum level specified by the master slider.

On my Windows XP installation. the Audacity Volume Slider is linked to the system “Wave” slider. 2.1.1 and 2.1.2 rc1 do the same.

That was an accident of PortAudio implementation and your audio drivers rather than by design. On some machines in earlier Audacity 2.0.x it worked like that, on others the Audacity Mixer Toolbar slider controlled the full scale of the Audacity Windows Volume Mixer slider (so could increase but not decrease system volume) and on other machines it was as now.

You did not say what your use case is for this. Are you currently making system volume too loud or too soft by using the Audacity Mixer Toolbar playback slider? Would an option to set default Audacity playback volume on exit also solve your issue? It would likely be much easier to implement and would not need a possibly separate implementation for “Vista and later” and XP.


Gale

I dont exactly have any use case for this feature; it’s just what i have gotten used to over the years as it has always worked like this for me. I have always had Windows 7 when using Audacity so i dont know how it works on older Windows versions.
If the old behavior was indeed by accident and would be too much trouble to implement properly in the current version of Audacity then i guess i have to get used to living with that it now changes the master volume of Windows.

There is actually one reason I like it the old way: sometimes i’d have music or other sound playing from a media player such as MPC and i’d use Audacity at the same time and would easily be able to change the volume from Audacity itself rather than the volume mixer.