🫠

(Mac)勝手に入力音量の自動調整を無効化するシンプルな方法と蛇足

に公開

今回はオフィスなどでミーティングをしているときに入力音量が勝手に上がってしまう問題がありそれに対処する方法について調べつつ遊びつつしたものをまとめた感じになります。

👇ここの設定が自動で変わってしまうという問題に、簡単に対処したり複雑なツールを作ったりと言った形になります!
macのサウンド設定の画像

ここに至るまでにMeets側の設定やMacのデフォルトの設定・おすすめされたイヤホンでの対処などを試していたのですが思ったようにいかず、今回となります... orz

ミーティング中に入力音量が大きくなり、

  • 他の人が音声を聞き取りづらくなる
  • 常にマイクがオンになっているわけではないので話に入るタイミングを逃してしまう

など細かいストレスが溜まってしまっていました。

最近よくオフラインイベンどに参加する関係で、出社を増やしておりストレスが限界突破したため方法を調べた形になります。

シンプルな解決方法

真逆ですがredditの方に、音声が勝手に小さくなるからスクリプトで対処するよ!というものがあったので、そちらを参考にします。

絶対に最大値に固定してやるという強い意志を感じますね。

#!/bin/bash
while true; do
  osascript -e "set volume input volume 100"
  sleep 5
done

自分の場合は強い意志を持って音量を小さく制御するようにします。

具体的な数値を共有すると、自分の環境では25で30秒程度がちょうど良かったです。
環境に合わせて実行頻度などを調整してあげると良いでしょう。

完全な蛇足

上の設定で全く問題ないかと思っているのですが、

なんだか楽しくなってしまい、簡単なツールを作成しました。

https://github.com/koinunopochi/micgain-manager

唯一優れている点は、webなどの好みのツールから見ることができるのでスクリプトよりかは簡単にミーティング中に設定をいじれることかな?と思います。

とはいえ、ほとんどの場合必要がないのでやはり蛇足ですね🐍

使用技術やアーキテクチャとしては個人的に興味のあった、Golang, cobra, Ports and Adaptersパターンを試してみました。まだまだ学習中で近々は大幅な改修が入るかもしれませんが、現時点でも実用に耐えうるかと思います。

一つ今言えることとしては、参考にした記事がC#なのにGolangをやってみたい!という思いで選んだことですね...

Golangらしい書き方とPorts and Adaptersパターンらしい書き方、それぞれのバランスを取るのがとても難しく感じています。

Ports and Adaptersパターンを試すために、

Web UI
ツールのwebUI

対話shell
ツールのshellのUI

簡素なcliツール
ツールのcli

として、複数クライエントで実装しています。

使っていただけるとおかきが喜びますので、使っていただけると嬉しいです!

まとめ

蛇足が本題みたいなところはありましたが、ストレスの元凶自体はシンプルなスクリプトでも退治ができることがわかりました。

ツールの改修もしつつ遊んでいければと思います!

Discussion