プログラミング
IR制御とスパイク検出を使用してテレビの音量を安定させるオフラインツール
Offline tool to stabilize TV volume using IR control and spike detection (github.com)
要約
Adbuster 2.0 PROは、ML/AIと独自のCEPAロジックを搭載したWindows用のオフラインオーディオ安定化エンジンです。この軽量アプリケーションは、テレビの音声信号をリアルタイムで監視し、大音量の広告を自動的に検出し、音量を下げます。広告終了時には、音量をスムーズかつ自然に元のレベルに戻します。クラウド、アカウント、テレメトリは一切不要で、すべての処理がローカルPCで完結するため、プライバシーが保護されます。Broadlink IRブラスターを介してテレビの音量調整を行うことができます。
全文翻訳
AdBuster 2.0 PRO – TV音量安定化
ML/AIとCEPAロジックを搭載したオフラインオーディオ安定化エンジン。
⚠️ CEPAロジックは、このリポジトリに含まれる追加の専有ライセンスでカバーされています。詳細は:CEPA_LOGIC_LICENSE.txt
大音量のテレビ広告を自動的に低減し、通常の音量をスムーズに復元する小型Windowsツール。
最新のWindowsビルド:Adbuster_2.0_PRO_Test.zip
ポータブルWindowsアプリケーション — インストール不要。
ダウンロード → 解凍 → 実行
Start.bat
✨ 概要
Adbuster PROは、テレビのオーディオをリアルタイムで監視し、大音量のコマーシャルが出現したときに自動的に音量を下げる軽量Windowsアプリケーションです。通常のオーディオに戻ると、音量はスムーズかつ自然に復元されます。
クラウドなし。アカウントなし。テレメトリなし。データ収集なし。
すべてPCまたはラップトップ上でローカルに実行されます。
🚀 クイックスタート
Releasesページから最新リリースをダウンロードします。
フォルダをPC上の任意の場所に解凍します。
Start.batを実行して、すべてのモジュールを自動的に起動します。
(オプション)音量制御のためにBroadlink IRデバイスを設定します。
テレビの視聴を開始 — Adbusterは、大音量の広告を検出し、リアルタイムでオーディオを安定化します。
🎯 主な機能
🔊 リアルタイムラウドネス検出
📉 コマーシャル中の自動音量低減
🔄 広告後のスムーズな音量復元
📡 IRブラスターサポート(Broadlink RMシリーズ)
⚙️ 設定可能なしきい値と反応時間
🖥️ バックグラウンドでサイレントに実行
🔐 完全ローカル — インターネット不要
⭐ なぜこのシステムはユニークなのか
Adbuster 2.0 PROは典型的なオーディオツールではありません。これは、以下の機能を組み合わせた唯一のWindowsアプリケーションです。
🔹 リアルタイムオーディオ分析(DSP)
専用のオーディオエンジンが、ラウドネス、安定性、スパイク、長期パターンをリアルタイムで抽出します — 完全オフライン。
🔹 CEPAロジック — 人間のような意思決定フレームワーク
専有のコンテキスト推論レイヤーが、人間と同じようにオーディオイベントを解釈します:破壊的なスパイクを検出する、過剰な補正を回避する、音量をスムーズに復元する、コンテキストと時刻に適応する
注:Adbuster 2.0 PROの公開リリースには、CEPA Core(Perception → Behaviour → Action)が含まれています。ドキュメントで説明されている完全なCEPA Logic v2フレームワークは専有であり、テストビルドには含まれていません。
🔹 オフライン機械学習(FREE + PRO)
2つの独立したMLエンジン:
model.pkl — 軽量、短期分類器
model_deep.pkl — PROレベルの長期パターン認識器
どちらも100%ローカルで実行されます。
🔹 Broadlink IRオートメーション
Adbusterは、以下のことを行う唯一のWindowsツールです。
大音量のコマーシャルを検出する
何をするかを決定する
自動的にIRコマンドを送信する
ユーザーの操作なしでテレビの音量を安定化する
🔹 完全オフラインアーキテクチャ
すべての処理はユーザーのデバイス上で行われます。
🔹 ユニークなCEPA + ML + IRパイプライン
この組み合わせは、他のWindowsアプリケーションやスマートホームツールには存在しません。
Adbuster 2.0 PROは、完全でインテリジェントなプライバシー重視のオーディオ安定化システムとして単独で存在します。
🛠️ 仕組み
マイクがテレビのオーディオをリッスンします。突然のラウドネススパイク(広告に典型的)が検出されると、Adbuster PROは音量を下げるかどうかを決定します。アプリはローカルFlaskサーバー(VolMaster)にコマンドを送信します。VolMasterはIRコマンドをBroadlinkデバイスに転送します。BroadlinkはIR信号をテレビに送信します。オーディオが通常に戻ると、アプリは以前の音量レベルを復元します。すべてのロジックはローカルで処理されます — クラウド、外部サーバーなし。
📐 アーキテクチャ図(高レベル)
以下は、Adbuster PROの主要コンポーネントがどのように相互作用するかを示す簡略化されたアーキテクチャ図です。この図は、内部アルゴリズムや実装の詳細を明らかにしません。
┌────────────────────────────┐
│ MICROPHONE │
│ (raw audio signal) │
└──────────────┬─────────────┘
│ audio frames ▼
┌────────────────────────────┐
│ AUDIO ENGINE │
│ RMS / mean / std / range │
│ smoothing / GUI level │
└──────────────┬─────────────┘
│ features ▼
┌────────────────────────────┐
│ ML CONTROLLER │
│ (ml_controller.py) │
│ - collects RMS history │
│ - calls ml_pro_update() │
│ - sends RMS to Aduster ML │
│ - toggles ad_mode │
└──────────────┬─────────────┘
│ RMS history ▼
┌────────────────────────────┐
│ ADUSTER ML │
│ (model.pkl / deep.pkl) │
│ - long-term pattern check │
│ - AD / NORMAL classifier │
└──────────────┬─────────────┘
│ AD / NORMAL state ▼
┌────────────────────────────┐
│ CEPA ENGINE │
│ - contextual analysis │
│ - deadzone / stable zone │
│ - spike detection │
│ - anti-spam limits │
│ - VOL_UP / VOL_DOWN │
└──────────────┬─────────────┘
│ decision ▼
┌────────────────────────────┐
│ AdBuster App Logic │
│ - pending_cmds queue │
│ - cooldown timers │
│ - 2x up/down safety limits │
│ - sends HTTP commands │
└──────────────┬─────────────┘
│ HTTP GET /send?cmd=... ▼
┌────────────────────────────┐
│ VolMaster Server │
│ (Flask API, port 5000) │
└──────────────┬─────────────┘
│ IR command ▼
┌────────────────────────────┐
│ Broadlink IR Blaster │
│ (RM Mini / RM Pro series) │
└──────────────┬─────────────┘
│ infrared signal ▼
┌────────────────────────────┐
│ TV / Audio Device │
│ (volume changes applied) │
└────────────┘
📞 IRコマンドポリシー
Adbusterのオートメーションレイヤーは、2つのIRコマンドのみを使用します:
VOL_UP — 音量アップ
VOL_DOWN — 音量ダウン
これらは、CEPA、MLコントローラー、およびアプリロジックによって生成される唯一のコマンドです。MUTEおよびPOWERコマンドは手動専用(UIボタン)であり、オートメーションパイプラインでは決して使用されません。
自動音量変更は常に以下によって制約されます。
2倍のアップ/ダウン安全制限
クールダウン
アンチスパム
CEPA検証
🧩 アーキテクチャ概要 — 3つのモジュール + CEPAブレイン
Adbuster 2.0 PROは、リアルタイムで連携する3つの独立したモジュールから構築されています。中央には、すべてを接続する意思決定ブレインであるCEPAが配置されています。
🧮 Adbuster — 検出エンジン
マイクからオーディオをキャプチャします
RMS、ピーク、ダイナミクス、ドリフト、スパイクを計算します
短期および長期のラウドネス履歴を構築します
CEPAに構造化されたオーディオイベントを生成します
スムージング、デッドゾーン、安定ゾーン、クールダウン、安全制限を処理します
役割:リアルタイム検出 + ランタイムロジック
🧿 Aduster ML — 機械学習エンジン
オンデバイスモデル(model.pklおよびmodel_deep.pkl)を使用します
RMS履歴に基づいてAD / NORMALの動作を分類します
CEPAの解釈を検証します
IRコマンドを送信しません
音量を制御しません
役割:パターン検証 + 長期統計コンテキスト
🧰 VolMaster — IR制御サーバー
Broadlink RMデバイスと通信するローカルFlaskサーバーです。
VOL_UP / VOL_DOWN IRコマンドを送信します。
IRベースのテレビまたはオーディオデバイスと互換性があります。
/send?cmd=...および/statusエンドポイントを公開します。
役割:IRコマンド配信を担当する実行レイヤー。
🧠 CEPA — 意思決定ブレイン
CEPA(Contextual Event Pattern Analysis)は独立したモジュールではありません。Adbuster 2.0 PRO内の内部インテリジェンスレイヤーです。
CEPAは以下を受け取ります。
Adbusterからのオーディオイベント
Aduster MLからのAD / NORMAL状態
アプリロジックからの最近のアクション、クールダウン、安全制限
CEPAは以下を実行します。
コンテキストパターン分析
人間のようなフィルタリング
異常検出
安定性評価
安全 enforcement
CEPAは以下を決定します。
VOL_DOWN
VOL_UP
PASS
BLOCK
Adbusterは最終コマンドをVolMasterに転送し、VolMasterがIR経由で実行します。
簡単に言うと:Adbusterが検出 → Aduster MLが検証 → CEPAが決定 → VolMasterが実行。
CEPAロジック — 技術的基盤
CEPAは、生の信号フレームではなく、オーディオをコンテキストイベントのシーケンスとして解釈するための軽量分析フレームワークです。これは4つのコアコンセプトに基づいています。
コンテキストイベントパターン
イベントの方向、安定性、遷移、コンテキスト関係を含む、時間の経過とともにオーディオイベントがどのように進化するかを表す構造化された表現。CEPAは、イベントを個別のDSP測定値ではなく、意味のある単位として扱います。
行動ベースのオーディオ
振幅やスペクトル値ではなく、行動(安定性、ドリフト、異常、リセット)に焦点を当てた信号解釈モデル。これにより、実際のオーディオにおける予期しない行動の決定論的な検出が可能になります。
イベントレベル推論
個々のサンプルやフレームではなく、イベント間の関係を評価する意思決定レイヤー。推論はベース