音声入力 Handy の「録音中にミュート」が効かなかった。原因はオーディオインターフェースだった
Naoki Kakuda6 min
音声入力には Handy を使っている。オープンソースの文字起こしアプリで、ショートカットを押している間に話すと、文字にして貼り付けてくれる。
Handy には「録音中にミュート」という設定がある。説明は「録音中にシステムオーディオをミュート」。音楽を流しながら作業していても、話す間だけ音が消えて、歌詞を拾わずに済む。僕はこれをオンにしていた。それなのに、音が消えない。
以前使っていた Typeless では、こうならなかった。今日はその原因を調べて、直すところまでやった。
原因:AG06 は Mac から消音できない
まず設定を確かめた。Handy 0.9.8 の設定ファイルで「録音中にミュート」は、ちゃんとオンになっていた。
次に、音の出口を見た。Mac の音は、Yamaha のオーディオインターフェース AG06 から出している。Mac に今の音量と消音の状態を聞いてみると、こう返ってきた。
output volume:missing value, output muted:missing value
音量も消音も「値なし」。AG06 には、Mac から操作できる音量と消音が付いていない。
では、Handy はどうやって消音しているのか。GitHub で公開されているソースコードを読むと、Mac では消音のコマンドを1回打っているだけだった。
set volume output muted true
消音できない機材に、消音のコマンドを打っている。だから何も起きない。Handy の設定が悪いのではなく、Handy と AG06 の組み合わせで起きていた。
直し方を3つ考えた
| 案 | やること | 欠点 |
|---|---|---|
| A | Mac の出力先を本体のスピーカーに変える | AG06 で聞けなくなる |
| B | 音量と消音を持つソフトを、Mac と AG06 の間に挟む | ソフトが1本増える |
| C | 録音キーと一緒に、再生/一時停止のキーも送る | 何も流れていない時に、逆に再生が始まる |
B にした。
間に挟むソフトを3本比べた
候補は3本。大事なのは、AG06 のような「音量の無い機材」につないだ時でも、Mac の消音コマンドが効くようになるかどうかだ。2026年10月18日の時点で調べた。
| SoundSource | eqMac | Background Music | |
|---|---|---|---|
| 価格 | 49ドル(買い切り) | 無料(音量と消音の範囲) | 無料 |
| macOS 26 | 対応 | 対応 | 対応 |
| 消音コマンドが効くか | 公式の説明からは判断できなかった | 効く見込み | 効かない |
Background Music は、ソースコードに「出力先に音量や消音が無ければ、自分の側でも無効にする」という作りが書かれていた。AG06 には無いので、付かない。
eqMac は、自分の仮想の出力先に必ず音量と消音を持たせて、出力先に音量が無い時はアプリの中で音を0にする作りだった。ただし、これは古い公開版のソースコードから読んだもので、今の版はソースが公開されていない。AG06 で試した人の報告も見つからなかった。
無料で、入れ直しも簡単なので、eqMac を入れて試すことにした。
eqMac を入れた
Homebrew で入れた。
brew install --cask eqmac
初めて起動すると、「システムオーディオドライバ」を入れる画面が出る。カーネル拡張ではないので OS を落とすことはない、と書いてある。インストールを押すと、再生中の音が止まるのを待ってから入る。
入れ終わると、Mac の出力先が「AG06/AG03 (eqMac)」という新しい出口に切り替わった。もう一度 Mac に聞くと、今度は値が返ってきた。
output volume:0, output muted:false
消音が「値なし」ではなくなった。ただし、音量が 0 になっていたので、そのままでは何も聞こえない。音量は 100% にして、聞く大きさは AG06 本体のつまみで決めることにした。
ブラウザで音楽を流しながら Handy で話すと、録音中は音が消えた。
Ableton Live だけ消えなかった
ところが、Ableton Live で流している音は消えなかった。
Live の環境設定を見ると、オーディオ出力デバイスが「AG06/AG03」に直接つながっていた。Mac の消音が効くのは、Mac の標準の出口(今は eqMac)を通る音だけだ。Live はそこを通らずに AG06 へ直接出していたので、消音の外にいた。
Live の出力デバイスを「AG06/AG03 (eqMac)」に変えた。元の「AG06/AG03」と名前がよく似ていて、最初は一覧の中で見つけられなかった。
変えると、Live の音も録音中に消えるようになった。代わりに、出力の遅れが 12.2ms から 47.0ms に増えた。Push 2 で叩いて演奏する時は、ズレを感じるかもしれない。
残ったプツプツを切り分けた
消音は効くようになったが、録音を始めた直後に、音が「プツプツ」と途切れる。
Handy のログを見ると、録音キーを押してから消音が効くまでに約1秒あって、その間に Handy は AG06 のマイクを開き、録音開始の音を AG06 に直接鳴らしていた。これのどちらかが原因だと考えて、1つずつ外して試した。
| 試したこと | 結果 |
|---|---|
| 録音開始の音をオフにする | 変わらない |
| マイクを常に開いておく(マイク常時オン) | 変わらない |
| Handy を使わず、Mac の消音だけを切り替える | プツプツが出た |
Handy を使わなくても出た。原因は Handy ではなく、eqMac が消音する瞬間そのものだった。eqMac の GitHub には、macOS 26.2 以降で音が割れるという未解決の報告もある。同じものかどうかは、まだ確かめていない。
試すのに変えた2つの設定は、元に戻した。
もう1つ分かったことがある。録音を始めてすぐに話さないと、裏の音楽の歌詞を拾ってしまう。Handy のソースコードを読むと、「マイクが動き出してから消音する」順番になっていた。最初の一瞬の音楽は、どうしても録音に入る。
まだ終わっていないこと
- 消音の瞬間のプツプツ。eqMac の代わりに、同じ目的の無料ソフト Proxy Audio Device を試す手がある
- Live の出力の遅れ(12.2ms → 47.0ms)。演奏する時だけ AG06 に直接戻すかどうか
- Live の出力デバイスが、いつの間にか別のものに変わって音が出なくなることがある。これは今回と別の話で、まだ調べていない
- Typeless でこうならなかった理由
調べる作業は AI(Claude Code)と一緒にやった。設定ファイル、ログ、ソースコードを読むのは AI に任せて、僕は音を聞いて判定した。「設定はオンなのに効かない」の答えが、アプリではなく、机の上の機材にあった。
参考
- Handy(ソースコード:
src-tauri/src/managers/audio.rs、src-tauri/src/actions.rs)https://github.com/cjpais/Handy - eqMac https://eqmac.app/ 、https://github.com/bitgapp/eqMac
- Background Music https://github.com/kyleneideck/BackgroundMusic
- SoundSource(Super Volume Keys)https://rogueamoeba.com/support/knowledgebase/?showArticle=SS-SVK
- Proxy Audio Device https://github.com/briankendall/proxy-audio-device