Macでアプリごとの音量をコントロールしたいとする。調べてみると、2種類のツールが見つかるはずだ。1つは仮想オーディオドライバー(Loopback、BlackHole、あるいはSoundSourceに含まれるドライバーコンポーネントなど)、もう1つは軽量なメニューバー型ミキサー(SoundDialやBackground Musicなど)だ。どちらもアプリごとの独立した音量コントロールを謳っているが、その実現方法は根本的に異なり、それぞれのトレードオフを理解しておく必要がある。
仮想オーディオドライバーの仕組み
仮想オーディオドライバーは、macOS上に仮想のオーディオデバイスを作り出す。アプリはこの仮想デバイスに音声を送り、ドライバーソフトウェアがそれを先へとルーティングする——その過程でストリームを分割したり、ミックスしたり、加工したりすることも可能だ。これは非常に強力な仕組みで、異なるアプリを異なる物理出力に振り分けたり、アプリごとにEQをかけたり、個々のアプリのストリームを録音したり、複雑なルーティングマトリクスを組んだりすることができる。
ただしトレードオフもある。
- システムレベルのインストール: ドライバーはオーディオサブシステムを変更する。セキュリティの許可が必要になり、再起動が求められることもある。
- macOSアップデートに弱い: Appleはオーディオフレームワークを頻繁に変更する。メジャーアップデートの後にドライバーが動作しなくなり、開発者が修正版を出すまで音が出ない状態になることもある。
- 複雑さ: ルーティングマトリクスや仮想デバイスは強力だが、単に1つのアプリの音を小さくしたいだけの場合には分かりにくい。
- App Store非対応: ドライバーをインストールするアプリは、サンドボックスの制限によりMac App Storeでは配布できない。
SoundDialの仕組み
SoundDialはこれとは異なるアプローチを取る。ドライバーや仮想デバイスを一切インストールすることなく、macOSのAPIを使って各アプリのオーディオストリームの音量をコントロールする。サウンド設定に見慣れない仮想デバイスが現れることもなく、システムを変更する必要もない。
ただしトレードオフもある。
- 複雑なルーティングはできない: SoundDialはアプリごとの音量、ミュート、ブーストをコントロールするが、アプリを異なる物理出力に振り分けたり、アプリごとにEQをかけたりすることはできない。
- App Store対応でサンドボックス化: インストールもアンインストールもクリーンに行え、ドライバーに関するセキュリティ確認や再起動も不要。
- macOSアップデートへの耐性: オーディオサブシステムを変更しないため、OSアップデート後に動作しなくなる可能性が低い。
- シンプルさ: アプリごとのスライダー、プロファイル、自動ダッキングだけで、ルーティング図を設定する必要はない。
どちらを選ぶべきか
自分に本当に必要なものを正直に見極めよう。
- 仮想オーディオドライバーを選ぶべき場合: 特定のアプリを特定の物理出力に振り分けたい(たとえばゲームはヘッドホンへ、音楽は同時にスピーカーへ、といった具合に)、個々のアプリのオーディオストリームを録音したい、あるいはアプリごとにエフェクトやEQをかけたい場合。この用途にはLoopbackやSoundSourceが最良の選択肢だ。
- SoundDialを選ぶべき場合: ドライバーインストールの複雑さや不安定さを避けつつ、アプリごとの音量コントロール、アプリごとのミュート、100%を超えるブースト、音量プロファイル、自動ダッキングが必要な場合。ほとんどの人が実際に必要としているのは、まさにこちらだ。
「アプリごとの音量コントロール」を求めて検索する人の多くが本当に欲しいのは、後者だ。通話中はSpotifyを静かにしたい、あるいはDiscordをゲームより大きくしたい——それだけのことなら、仮想オーディオデバイスは必要ない。必要なのはアプリごとの音量スライダーであり、それこそまさにSoundDialが、オーディオサブシステムに一切手を加えることなく提供しているものだ。
SoundDialをMac App Storeで入手する—買い切り14.99ユーロ、サブスクリプションなし、macOS 14.2以降対応。