Macでマイクのミュート/解除をショートカットキーに設定する

先日の設定により、MBAで Fnキーを Caps Lock/Fn として使えるようになると、左Ctrlキーを余らせる事になります。そこで、コレをマイクのミュートボタンとして使えないか調べました。

macOSの機能として、マイクのミュート/解除を行なうものは存在しないようで、AppleScriptを使うのが良さそげです。
Automatorを使うと「サービス」に追加できるので、試してみました。

参考にしたサイトはこちら

[ 2023/02/15 追記 ] 後日談ですが、右Ctrlキーには「Insert」を割り当てました。外付けキーボードの時は Insertにスクリーンショットのショートカットを割り当て、ワンキーでスクショに入れるのですが、内蔵キーボードには Insertキーがありません。やはりワンキーは便利だなということで、前述のようにキー割り当てを変更し、ミュートは Shift+Cmd+Mに統一(内蔵でも外付けでも使えるように)しました。

手順は以下です。

(1) Launchpad「その他」等からAutomatorを起動
 ↓ (2)の画面が出なければ、メニューから「新規作成」を選ぶ

(2) クイックアクションを選んで [ 選択 ] ボタンを押下

(2) 白っぽい「AppleScriptを実行」を右側の広い部分へドラッグ
 (青っぽいのがあっても、こちらはリモートで実施する用っぽいので選ばない)

(3) 以下のコードを Cmd+Cとかでコピー
 ※ 5行目の100は、現在のマイクボリューム値にしておくことを推奨

on run {input, parameters}

    set inputVolume to input volume of (get volume settings)
    if inputVolume = 0 then
        set inputVolume to 100
        set displayNotification to "Microphone Unmuted"
    else
        set inputVolume to 0
        set displayNotification to "Microphone Muted"
    end if
    set volume input volume inputVolume

    display notification displayNotification
    delay 1

    return input
end run

(4) 「AppleScriptを実行」の枠内を Cmd+A で全選択して、Cmd+V で上記でコピーした内容をペースト

(5) Cmd+Sで適当な名前を付けて保存 (後で使うので覚えておく)
 ※ ここでは「マイクのミュート切替え」としました

(5.5) Automataは Cmd+Qで閉じても構いません

(6) Karabiner-Elements の Settings 「Simple Modifications」から、「Apple Internal Keyboard」を選び「left_control」を「f19」等に割り当てる。(なるべく使われないキーを選ぼうとしたが、自分の環境だとf20が効かなかったため、一つ手前にした)

(7) Appleメニューより「システム設定…」→「キーボード」→「キーボードショートカット」→「サービス」にある「一般」の「>」をクリックすると、上記(5)で保存した名前(例では「マイクのミュート切替え」)があるので、これを(6)で定義したキーに割り当て(「なし」をクリックして、(6)で設定したキーを押下)る。
※ 左Ctrlを使わない場合は、例えば Shift+Cmd+M とか入れておくと、その組み合わせがマイクミュートを切り替えるショートカットキーになる。

うまく行くと、(7)で設定したキー(例では左Ctrl)を押すと、ミュートが切り替わる都度、下のような通知が右上に出るようになります。

補足1: 元のコードのままだと、切り替えの都度マイクのボリュームがMAXになるので、音量を抑えたい場合は 5行目の

        set inputVolume to 100

で、100 を 75 など無難な数値に修正するのが良いと思います。
修正するには Automatorを再度起動して、メニューの「ファイル」から「最近使った項目を開く」から「マイクのミュート切替え.workflow」等を選択すれば編集できるようになるので、値を変更してください。

補足2: アルファベットだと目がすべる場合は、6行目、9行目あたりの「set displayNotification to」の後を “マイクミュート解除”/ “マイクミュート” など、自分でわかりやすいように変更しておくことを推奨します。

補足3: 試してみて「要らねーや」と思った場合は、~/Library/Services/ に作成したファイル(「(5)で保存した名称+.workflow」)があるので削除すればよいと思います。

補足4: 自分は外部マイク/スピーカーに、YAMAHA YVC-200をUSB接続で使っています。本体のマイクマークでミュート/ミュート解除ができるのですが、この切り替えショートカットでボリュームを0/100に切り替えても、同様に本体マイクのミュート表示(赤/緑)が切り替わりました。ですが本体のマイクマークでミュートを切り替えた場合、ミュート解除時もボリュームは0のままでした。併用時には注意が必要と感じました。

余談: SoundSourceでメニューバーにマイク表示した状態でクリックすると、ミュート/ミュート解除が行なえます。これを使う場合、YAMAHA YVC-200の本体マイクのミュート表示も連動して切り替わります。ですが、本体のマイクマークでミュートを切り替えても SoundSourceの(メニューバー)ミュートは切り替わりません。
やはり本体機能として、マイクオン/オフの機能を開放して欲しいものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください