AlfredでMacの音声を切り替える

AlfredでMacの音声を切り替えるAlfred Workflowを作った

AlfredでMacの音声を切り替える

BeatsFitProを使ってるのですが、BluetoothイヤホンをMacで使っているときにうっかりBluetoothマイクがオンになるとレイテンシー重視のコーデックに切り替わって音質がめちゃくちゃ悪くなります。

なのでマイクを使う前にMacbookの内蔵マイクに切り替えるのですが、毎回メニューバー→Soundをoption+クリック→マイクを選択というのがとても面倒です。さらにH1の強みを活かして頻繁に接続を切り替えるので、切り替わる度にマイクが変わってしまいます。デフォルトで内蔵マイクを使うように設定できればいいのですが…。

というわけで回避策はないかと調べたらswitchaudio-osxというコマンドラインツールがありました。あとはこれをAlfredで実行するだけでいいじゃんということで、誰かやってないかと思ったやっぱりありました。

GitHub - alexlafroscia/alfred-switch-audio-source: Alfred workflow to switch audio device
Alfred workflow to switch audio device. Contribute to alexlafroscia/alfred-switch-audio-source development by creating an account on GitHub.

しかしうまく動きません。どうも内部的にPython2を使っているのが原因っぽいです。workaroundもいくつかありそうでしたが、やりたいことはシンプルなので例のごとくChatGPTにApple Scriptを書いてもらって実装しました。

GitHub - mtane0412/alfred-switch-audio-osx: Alfredでswitchaudio-osxを使うworkflow
Alfredでswitchaudio-osxを使うworkflow. Contribute to mtane0412/alfred-switch-audio-osx development by creating an account on GitHub.
動作している様子

個人的にめちゃくちゃ便利になりました。

Alfredは開発のしやすさでPythonとかNodeを中身で使うことがありますが、それぞれの言語のバージョンで次第に使えなくなるworkflowが多い印象です。Apple ScriptはApple謹製なのでそれらに比べると長く使えるんじゃないかなーという思うのですが、実際のところどうなんでしょうね。