69

I've found this issue and various discussions online about this, but no obvious "just do this", so I'm wandering over here from ServerFault to ask this.

Is there a way to disable or hard-set the input level on a mic? In the Sound preferences on the Input tab if I click on the device and set a level and then start talking it picks up the sound and then start to auto-adjust the mic input level.

This causes issues when talking with someone on Lync/Skype/etc because one minute the sound is fine and then if you raise your voice for a second and then lower it back down (or shift around in your chair) the auto-adjust causes the other party to think your whispering or yelling.

I'd like to be able to disable the auto-adjust if possible. Yes/No?

NOTE: The issue is similar this one: iMac OSX 10.8.4 Volume adjusts by itself but rather on the input side and not the output side for me.

2
  • For Zoom 5.8.4 (2421) the fix was Settings/Audio and then unset the Automatically adjust microphone volume checkbox Commented Feb 3, 2022 at 15:35
  • For my bros, run this single command: repeat 10000 repeat> do repeat> sleep 1 repeat> osascript -e "set volume input volume 100" repeat> done
    – Faizi
    Commented May 3 at 10:52

12 Answers 12

40

You can set it via the command line:

osascript -e "set volume input volume 100"

I have found that OSX Polycom RealPresence Desktop has a similar annoying "feature" that adjusts the mic input volume down, but never back up. My workaround is to have this line in my crontab:

# Check every minute for mic input < 100%; if it is, dial it up elegantly
* * * * * while (( `osascript -e "input volume of (get volume settings)"` < 100 )); do osascript -e "set volume input volume (input volume of (get volume settings) + 3)"; sleep 0.1; done;

The loops just makes the slider "slide" up over a second or so, rather then a hard volume jump.

3
  • I tried what you advised for the command line, and it worked fine. But then the volume auto adjusted soon after, so that's not a solution. Could you explain how to implement the loop in terminal? I don't know what crontab is. Thanks
    – Tony M
    Commented Sep 13, 2018 at 14:44
  • 1
    The crontab idea is very useful Commented Mar 25, 2019 at 14:12
  • In my case, this crontab is being ignored by the desktop applications such as MS Teams. I suspect this is because the crontab processes have lower priority. The workaround for me is to run a separate terminal with a foreground loop while do osascript -e "set volume input volume 100"; sleep 0.1; done;, this works like a charm.
    – igops
    Commented Aug 31, 2023 at 9:16
46

Turns out that the auto-adjusting mic level was not MacOS, but rather Skype (Version 6.6.0.467). There is a check box in Skype Preferences to enable/disable it, and once I turned it off the level stays where I set it.

The problem is that, apparently, Skype's notion of auto adjusting the mic volume is simply to crank it up to max, no matter what -- even when no call is active. At around 90% the mic starts picking up background noise, probably the Mac disk or fan, and by 100% that background noise is overwhelming.

I found that on my MacBook Pro (c. 2008) the mic level at about 75% was good, and I also found it helpful to check the "Use ambient noise reduction" check box (just below the mic level slider in the System Preferences/Audio).

8
  • That was the issue for me as well. The odd thing was that I was using GoToMeeting at time. This seems to happen in the background whether you're on a call or not.
    – sholsinger
    Commented Nov 17, 2014 at 19:54
  • 6
    This was happening w/ Zoom as well. Once I cleared the flag it was fine and stayed in one spot.
    – N1tr0
    Commented May 18, 2016 at 21:07
  • This did not work for me. I disabled the checkbox you refer to in Skype and it did not help the problem. It is still auto-adjusting.
    – Tony M
    Commented Sep 13, 2018 at 14:46
  • 3
    Zoom was doing this for me as well. Thank you. My gosh how does the feature that defaults to turning a muted mic into a hot mic get through their PM team. Even allowing this to happen seems like a pretty glaring security issue Commented Apr 29, 2020 at 15:44
  • 1
    @Wimateeka - for me it was Teams! - desktop app, not the webversion for some reason...
    – tom
    Commented Sep 11, 2020 at 17:47
30

There's a workaround for macOS that works for all applications:

You can create an “Aggregate Device”, which works with a single mic. The Aggregate Device doesn't have its own volume setting, so your applications can't mess with it. (Read the tips if you have multiple input sources.)

  1. Open “Audio MIDI Setup”. You can quickly find this by hitting ⌘ Space, then typing in Audio or MIDI.

  2. Add “Aggregate Device”. In the left column at the bottom, click the + sign and “Create Aggregate Device”.

  3. Click on the new Aggregate Device in the left column, and check Use for your microphone in the right-hand panel.

The Aggregate Device will be available as an input in your application. You can still set the sensitivity of the microphone as you normally do, and your app can't affect it anymore because it is hidden in the Aggregate Device.

Tips & Caveats:

  • If you set the Aggregate Device as the default input device, it will apply to all applications where the default input device is used.

    • Be sure to set the input volume sensitivity of your mic to the maximum or desired level before switching the default to the Aggregate Device. Check the level occasionally to make sure it hasn't changed.
  • You can create additional Aggregate Devices (one device for each mic) if you have several microphones and frequently switch between them.

    • Note that creating an Aggregate Device with multiple mics may not work. Some apps may only use the first channel, ignoring the additional channels. Rogue Amoeba Loopback can get around this by creating an aggregate device that only has a single channel, regardless of the number of inputs. It is really slick, and easier to use than Audio MIDI Setup, but costs $99.
  • You can rename the Aggregate Device by double-clicking on the name in the left sidebar (or pressing Return after selecting it).

6
  • 1
    Legendary! This applies to Skype for Business as well, which doesn't let the user disable automatic volume adjustment. Standard infinite wisdom of Microsoft.
    – Blieque
    Commented Mar 16, 2020 at 9:56
  • This fixed my problem for Skype for Business.
    – Tanner
    Commented Apr 7, 2020 at 17:44
  • 4
    Cannot upvote this enough times! I seriously joined SE to upvote. Also, F*** Cisco/Webex Teams/Meetings for taking away the ability to disable their auto-voluming as far as I can tell. My voice is already so monotone; quit turning me down.
    – iwolf
    Commented Apr 15, 2020 at 22:29
  • Maybe the problem is that every program you use to record audio feels smarter than you, and they just automatically adjust the input volume. This trick put them into their place, thank you very much.
    – Danielo515
    Commented May 21, 2021 at 8:59
  • Simple instructions - Open “Audio MIDI Setup” - Click + in the bottom left and choose "Create Aggregate Device" - In this Aggregate Device check 'Built-in Microphone'' in the right-hand panel. - set your audio in your app (Gotomeeting, zoom, Hangouts, etc) to use Aggregated device. This should be the top answer. Commented Feb 23, 2022 at 3:58
16

MacOS itself doesn't have auto-adjust option for mic, so there applications which are doing this. You need to check, which applications, which potentially are working with camera/mic have this auto-adjust option and to turn it off.

I found that it's some glitch in Skype, which appears from time to time. To disable automatic gain control for mic in Skype you need:

  • Click Tools at the top of Skype window
  • Select Options
  • select Audio Settings
  • Under Microphone, uncheck Automatically adjust Microphone settings

There's also the option to disable it manually in the config:

  1. Quit all the instances of Skype
  2. Go to skype directory, or in terminal execute the command:

    $ cd ~/Library/Application\ Support/Skype/

  3. Open the file called shared.xml for editing, full path to the file is

    ~/Library/Application\ Support/Skype/shared.xml

  4. Search for the line <VoiceEng> and extend that file like this:

    <VoiceEng> <AGC>0</AGC> ... </VoiceEng>

    there could be some extra lines like <MicVolume.., etc, leave them there, no changes. AGC set to 0 means OFF, 1 means ON for automatic gain control, which changes the volume.

  5. Save the shared.xml file, exit, restart Skype. Enjoy!

5

For me the problem application is Citrix GoToMeeting, which I have to use for work. I'm using a variation of @thetoolman's solution to lower the volume to 49 - 50 every second (no cron job, I just start this whenever I have a meeting):

while true ; do
    while (( `osascript -e "input volume of (get volume settings)"` > 50 )); do
        osascript -e "set volume input volume (input volume of (get volume settings) - 2)";
        sleep 0.01;
    done;
    sleep 1;
done; 
1
  • The smallest reduction that works for me is 5, so need to increase that from 2 to 5. Then it works beautifully! Commented Feb 21, 2021 at 16:14
4

There's a Chrome extension which allows to disable this feature per site: https://chrome.google.com/webstore/detail/disable-automatic-gain-co/clpapnmmlmecieknddelobgikompchkk

3

Had the same issue on Zoom, and as stated above, it's the app, not the OS. There's a preference to disable mic input adjustment.

2

Found the file for Google Talk/Hangouts in ~/Library/Preferences/com.google.GoogleTalkPluginD.plist.

Edit the file with a preference editor (Xcode, TextWrangler, Pref Setter, etc.) and change the audio-flags setting to 0.

Seems to be a per-application setting.

I just tried this out on my 2011 Mac with OS X 10.8.4 and it worked. It's been driving me crazy for 2 years.

0
2

For me on a mac it was Microsoft Teams that caused the problem. Specifically the desktop app. The web app. did modify the level a bit, but was usable. The desktop app. was very difficult. I can open the system preferences and watch the level bounce around between about 2 and 5 % - any time I lift it the volume crashed down again,....

..... but for some reason the web app. works ok. If I start talking loudly into the mic it does drop the level, but no so much and it even went up a bit when I spoke more softly.

This is some combination of Teams and this microphone, because the microphone works well with say Quicktime sound recording.

thankfully this issue with the desktop app does not affect the internal mac mic too much, it is only the USB PnP device that is mostly unusable.

3
  • 1
    Yes. Teams and TeamViewer can duck the audio quite noticeably when you don’t expect it.
    – bmike
    Commented Sep 11, 2020 at 18:00
  • 2
    I have a lot of background noise at home, so I always use earbuds with a mic (the one that came with my phone) and never use my mac's internal mic. Is there a fix for Plug and Play devices that you've found for Teams?
    – Wimateeka
    Commented Sep 11, 2020 at 19:02
  • @Wimateeka - no... except that the web version of teams, when you use teams in a browser is ok at the moment - the desktop app is unusable with the USB PnP mic. - at the moment I don't have time to fiddle with it - the internal mic is not quite as good as the USB PnP one, but it seems to work ok for both desktop and web teams -- so probably the internal mic is my current solution if I have to use the desktop app.
    – tom
    Commented Sep 11, 2020 at 22:48
1

Skype has a Microphone adjustment in Preference Audio Video.

There you can disable the Auto setting.

I do not know about Lync.

3
  • Nothing like that in Lync and Skype isn't installed. Problem is that it affects not only the input mic on the mac but also Parallels. I keep thinking it is an OS setting, but nothing definitive yet.
    – TheCleaner
    Commented Aug 2, 2013 at 18:11
  • We are talking about the build in mic ?
    – Ruskes
    Commented Aug 2, 2013 at 18:34
  • It's a Mac Pro...so no built-in mic (except line in)...it's the external Apple monitor with a bult-in Mic (shows up on Sounds as External Mic USB)
    – TheCleaner
    Commented Aug 2, 2013 at 18:37
1

Microsoft Teams now has an "Automatically Adjust Mic Sensitivity" in the Calls section on the left tab. You select the Cog Wheel (Custom Setup) and then disable this feature. Disabling the slider here may help but if there are other applications that are auto-adjusting the mic sensitivity you may still not get the desired results.

Microsoft Teams Microphone Sensitivity

-1

I figured it out! I called Mac support and they had me start my computer while pressing Cmd + Opt + P + R and it resets some things that fixes the problem. Hope this works for everyone like it did for me!

2
  • I tried this and it did not solve my problem. Mic input level is still auto-adjusting
    – Tony M
    Commented Sep 13, 2018 at 14:53
  • 1
    This does nothing to auto-adjusting the sound by installed apps
    – Oleksandr
    Commented Mar 19, 2021 at 11:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .