https://github.com/deweller/switchaudio-osx
インストール方法
brew install switchaudio-osx
SwitchAudioSource -f json -t input -a
SwitchAudioSource -f json -t output -a
toggle_mic.sh
#!/bin/bash
# @raycast.schemaVersion 1
# @raycast.title Toggle Audio Input/Output (with Debug)
# @raycast.mode compact
# @raycast.icon 🔄
# === デバイスを設定 MacBook (Built-in)===
BUILTIN_NAME="MacBook (Built-in)"
BUILTIN_INPUT_UID="BuiltInMicrophoneDevice"
BUILTIN_OUTPUT_UID="BuiltInSpeakerDevice"
# === デバイスを設定 USB Microphone ===
USB_NAME="USB Microphone"
USB_INPUT_UID="AppleUSBAudioEngine:GeneralPlus:USB Audio Device:132000:2"
USB_OUTPUT_UID="AppleUSBAudioEngine:GeneralPlus:USB Audio Device:132000:1"
# === 切り替え前の現在のデバイス表示 ===
echo "=== BEFORE ==="
CURRENT_INPUT=$(SwitchAudioSource -t input -c)
CURRENT_OUTPUT=$(SwitchAudioSource -t output -c)
echo "Input: $CURRENT_INPUT"
echo "Output: $CURRENT_OUTPUT"
echo "=== BEFORE ==="
echo ""
# === 現在の入力デバイスUID取得(jq使用) ===
CURRENT_INPUT_UID=$(SwitchAudioSource -t input -c -f json | jq -r '.uid')
echo "Current Input($CURRENT_INPUT_UID)"
echo ""
# === トグルロジック ===
if [[ "$CURRENT_INPUT_UID" == *"$USB_INPUT_UID"* ]]; then
# USBからBuilt-inへ
echo "→ Switching to $BUILTIN_NAME..."
SwitchAudioSource -t input -u "$BUILTIN_INPUT_UID"
SwitchAudioSource -t output -u "$BUILTIN_OUTPUT_UID"
echo "✅ Switched to $BUILTIN_NAME (Mic/Speaker)"
else
# Built-inからUSBへ
echo "→ Switching to $USB_NAME..."
SwitchAudioSource -t input -u "$USB_INPUT_UID"
SwitchAudioSource -t output -u "$USB_OUTPUT_UID"
echo "✅ Switched to $USB_NAME (Input/Output)"
fi
# === 切り替え後の確認 ===
echo ""
echo "=== AFTER ==="
NEW_INPUT=$(SwitchAudioSource -t input -c)
NEW_OUTPUT=$(SwitchAudioSource -t output -c)
echo "Input: $NEW_INPUT"
echo "Output: $NEW_OUTPUT"
echo "=== AFTER ==="
実行
sh toggle_mic.sh