Raycastのコマンドでサウンドの出力先を一発で切り替える
はじめに
を Alfred の代わりに使い始めて、もうこっちに完全移行してしまっています。
なので、簡単なコマンド操作は、 Raycast に登録しておいていつでも起動できるようにしておくと楽になります。
今回は
- MacBook Air から音を出す場合
- HDMI 経由で繋いでいるモニターから音を出す場合
をすぐに切り替えたいというのがやりたいことになります。
switchaudio-osxでサウンド出力先を切り替える
Homebrew でインストールします。
brew install switchaudio-osx
以下のコマンドでサウンドの出力先一覧を表示します。
SwitchAudioSource -f json -t output -a | jq
{
"name": "WH-1000XM4",
"type": "output",
"id": "110",
"uid": "14-3F-A6-B5:output"
},
{
"name": "PHL 438P1",
"type": "output",
"id": "95",
"uid": "410C5B09-0000-0000"
}
{
"name": "Yeti Stereo Microphone",
"type": "output",
"id": "89",
"uid": "AppleUSBAudioEngine:Generic:Blue Microphones:2"
}
{
"name": "MacBook Airのスピーカー",
"type": "output",
"id": "67",
"uid": "BuiltInSpeakerDevice"
}
逆に入力先一覧を表示するには以下のコマンドを実行します。
SwitchAudioSource -f json -t input -a | jq
{
"name": "WH-1000XM4",
"type": "input",
"id": "116",
"uid": "14-3F-A6-B5-91-F1:input"
}
{
"name": "lemon-Sour’s iphone13proのマイク",
"type": "input",
"id": "79",
"uid": "35454243-0000-0000-0000"
}
{
"name": "Yeti Stereo Microphone",
"type": "input",
"id": "81",
"uid": "AppleUSBAudioEngine:Generic:Blue Microphones:LT_1"
}
{
"name": "MacBook Airのマイク",
"type": "input",
"id": "74",
"uid": "BuiltInMicrophoneDevice"
}
以下のコマンドが出力先を切り替えるコマンドになります。
SwitchAudioSource -f json -t output -s 'PHL 438P1'
SwitchAudioSource -f json -t output -s 'MacBook Airのスピーカー'
今回はこの二つの出力先を割と頻繁に切り替えたいのです。
理由としては、映画を見る時は、モニターに繋がっているスピーカーから音を出して、迫力を出したい。
逆に、 YouTube の配信を見ながらコードを書いたりしたいときは、立派なスピーカーからだと音が重いので、 MacBook Air から音を出したい。
という感じです。
Raycastにコマンドを登録する
Create Script Command をクリックする。
title などを適当に入れて、 Command + Enter
を実行すると、ファイルを選択するダイアログが出ます。
ここで、適当なディレクトリに sh ファイルを保存します。
これを2パターン登録します。
switchaudiosource-phl438p1.sh
#!/bin/bash
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title SwitchAudioSource-PHL438P1
# @raycast.mode silent
# Optional parameters:
# @raycast.icon 🤖
# Documentation:
# @raycast.author hisasann
# @raycast.authorURL https://raycast.com/hisasann
SwitchAudioSource -f json -t output -s "PHL 438P1"
switchaudiosource-macbookairのスピーカー.sh
#!/bin/bash
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title SwitchAudioSource-MacbookAirのスピーカー
# @raycast.mode silent
# Optional parameters:
# @raycast.icon 🤖
# Documentation:
# @raycast.author hisasann
# @raycast.authorURL https://raycast.com/hisasann
SwitchAudioSource -f json -t output -s "MacBook Airのスピーカー"
# @raycast.mode silent
で mode を silent にしてるのは、このコマンドを実行後に Raycast を自動的に閉じてもらうためです。
mode の option については以下に全て書いてあります。
script-commands/documentation/OUTPUTMODES.md at master · raycast/script-commands
エイリアスも指定したので、 sap
か sam
で一瞬で切り替えることができます。
良かったですね。👍
参考記事
Macのマイクとスピーカーをまとめてショートカットで変更する方法 | Tats Shibata | 柴田竜典 | シバタツ
Discussion