MacBookの「Snap‑Crackle‑Pop」ノイズを止める方法

TL;DR
Antipopという小さなランチエージェントを使えば、Macのオーディオサブシステムがスリープ→復帰する際に発生する「パチッ」「ポップ」といった短いクラックル音を大部分抑えられます。インストールは簡単でCPU負荷はほとんどなく、AC電源接続時に動作するよう設計されています。アンインストールもDMG内のスクリプトで元に戻せます。
この写真はノイズ問題の話題に関連するMacBookのイメージです。
問題の概要
新しいMacBookで静かな環境にいると、時々短い「パチッ」「カチッ」というクラックル音が聞こえることがあります。最初はハードディスクやスピーカーそのものの故障を疑うかもしれませんが、多くの場合は音声サブシステムの省電力処理が原因です。
Appleは一定時間(およそ20秒程度)の非アクティブ状態のあとに、オーディオサブシステムを省電力のために停止します。停止と再起動の結果として、外部スピーカーやヘッドホン接続時に短いノイズ(いわゆる “Snap‑Crackle‑Pop”)が発生することがあります。
図は外部音響機器接続時にノイズが目立つ点を示しています。
Antipopとは何か(1行定義)
Antipopは、Macのtell
系コマンド(実際にはsay
コマンド)を10秒ごとに発生させる小さなランチエージェントで、音としては“スペース”を再生することでオーディオサブシステムをスリープに入らせない仕組みです。
仕組みの詳細
- Macの
say
コマンドに空白(スペース)をしゃべらせることで、実質的に可聴音はほぼ無く、しかしサウンドデバイスは再生を行うためスリープしません。 - 結果として、オーディオデバイスのON/OFFに伴う破裂音やクラックルが抑えられます。
重要: AntipopはAC(電源)接続時のみ動かす設計になっていることが多く、バッテリ駆動時はデフォルトで無効になっている場合があります。
インストールと設定(要点)
- Antipopはランチエージェント形式で提供されます。配布パッケージ(DMGやインストーラ)に従ってインストールしてください。
- デフォルトではAC電源接続時のみ動作します。バッテリ駆動時にも動作させたい場合はターミナルでフラグを変更します。
ターミナルでの設定変更例:
echo -n "0" > /usr/local/share/antipop/ac_only
このコマンドはAntipopのAC限定設定を無効にします(システム上のファイルパスは配布版に従ってください)。
アンインストール
アンインストールは簡単です。配布されたDMGイメージ内にあるアンインストールスクリプトを実行してください。再起動後、Antipopは削除され動作を停止します。
効果と制限
- 多くのユーザーでクラックル音は目立たなくなります。筆者の2.4GHz Intel MacBookでは非常に効果的でした。CPU負荷はほとんどありません。
- ただし、完全にゼロになるわけではなく、ごく稀にごく小さなポップ音が残る場合があります。これは別のハードウェアやドライバ由来の問題である可能性があります。
- AntipopはLeopardでテストされ、Tigerでも動作するはずだと報告されています。新しいmacOSのバージョンでは挙動が異なる可能性があるため、導入前にバックアップと検証を行ってください。
代替アプローチと追加のトラブルシューティング
以下はAntipopを使えない/使いたくない場合の代替案や確認ポイントです。
- Core Audioのリスタート:
- ターミナルで
sudo killall coreaudiod
を実行してプロセスを再起動してみる。
- ターミナルで
- オーディオデバイスの接続確認:
- ケーブル、ドングル、外部アンプ、Bluetooth接続の干渉を確認する。
- システム環境設定の電源オプションを見直す(スリープ関連の設定)。
- NVRAM/PRAMやSMCのリセット(音声関連の設定を初期化することがある)。
- 外付けDACやUSBオーディオを使っている場合は、そのメーカーのドライバやファームウェアを確認する。
代替案としては、OS側でサウンドデバイスを常時オンにする設定がないか確認するか、軽量なサウンド保持デーモンを自作する方法もあります(上級者向け)。
役割別チェックリスト
エンドユーザー(一般):
- 外部機器の接続を抜き差ししてノイズ再現を確認する。
- Antipopをインストールして電源接続時の挙動を観察する。
- バッテリ使用時の動作差を確認する。
システム管理者/IT担当:
- 配布前に社内のmacOSバージョンで動作確認を行う。
- 自動配布/プロファイルでアンインストール方法を明示する。
- 代替手段(coreaudiodの監視・再起動スクリプトなど)を準備する。
テストケース(受け入れ基準)
- 再現条件: ヘッドホンまたは外部スピーカー接続、20秒以上の無音状態の後。
- 期待される結果: Antipop導入後、以前よりもクラックル音が発生しない(または大幅に減る)。
- 受け入れ判定: 連続使用1時間でノイズが発生しない、もしくは目に見える改善があること。
マインドセット(簡単なヒューリスティック)
- 音が短い・断続的である → ハードウェアよりもソフトウェア/電源管理の可能性が高い。
- 同じマシンでAC接続時だけ発生しない → 電源管理が要因の優先度が高い。
互換性と注意点
- 原文ではLeopard(Mac OS X 10.5)でテストされ、Tiger(10.4)でも動作するとあります。これらは古いOSです。新しいmacOSでは動作や権限、ランチエージェントの管理が異なるため、導入前に必ず検証してください。
- セキュリティポリシーのある環境では、スクリプトやランチエージェントの配布に制限がある場合があります。
図は稀に残る微小なポップ音を示しています。
まとめ
Antipopは、Macのオーディオサブシステムが省電力でOFF→ONを繰り返す際に生じる短いクラックル音を抑える実用的な解決策です。インストールとアンインストールが簡単で、CPU負荷はほとんどありません。バッテリ駆動時の挙動や新しいmacOSでの互換性は環境に依存するため、導入前にテストしてください。
重要: システムに変更を加える前に必ず重要なデータのバックアップを取り、意図しない動作が見られた場合はアンインストールして元に戻してください。
よくある質問(FAQ)
Antipopを入れるとバッテリー消費が増えますか?
デフォルト設定ではAntipopはAC接続時にのみ動作するようになっているため、通常はバッテリー消費に影響しません。ただし、AC限定設定を外すとバッテリー駆動時にも小さな処理が入るため、バッテリー持続時間にわずかな影響が出る可能性があります。
完全にノイズが消えない場合はどうすればいいですか?
外部機器やケーブル、USB DACのドライバ、coreaudiodの状態などハードウェア寄りの要因を疑ってください。上の「代替アプローチと追加のトラブルシューティング」を試してください。
どのmacOSで動作しますか?
原文ではLeopardでテストされ、Tigerでも動作するとあります。新しいmacOSでは動作や権限が異なるため、必ず事前に検証してください。
短いアンケート: あなたのMacはクラックル音を出しますか?Antipopや別の対処で改善したらコメントで教えてください。