HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

他のどの方法もうまくいかなかったので、テレビの音声を安定させるオフラインツールを開発しました

I built an offline tool to stabilize TV audio because nothing else worked (github.com)

10 pointsby Bo_Amigo_9103 コメント

要約

AdBuster 2.0 PROは、ML/AIと独自のCEPA Logicを搭載したオフラインのWindowsアプリケーションです。テレビの音声をリアルタイムで監視し、大音量のCMを自動で検知して音量を下げ、通常音量にスムーズに戻します。クラウド接続やアカウント登録が不要で、すべての処理がPC上でローカルに完結するため、プライバシーが保護された形でテレビ視聴体験を安定させることができます。

全文翻訳

AdBuster 2.0 PRO – テレビ音量スタビライザー ML/AIとCEPA Logicを搭載したオフラインオーディオ安定化エンジン。⚠️ CEPA Logicは、このリポジトリに含まれる追加の独自ライセンスで保護されています。詳細は CEPA_LOGIC_LICENSE.txt を参照してください。 うるさいテレビCMを自動的に下げ、通常の音量をスムーズに復元する小型のWindowsツールです。✨ 概要 AdBuster PROは、テレビ音声をリアルタイムで監視し、大音量のCMが現れた際に自動的に音量を下げる軽量のWindowsアプリケーションです。通常音声に戻ると、音量はスムーズかつ自然に復元されます。クラウド、アカウント、テレメトリー、データ収集は一切ありません。すべてがPCまたはラップトップ上でローカルに実行されます。 🚀 クイックスタート 最新リリースをReleasesページからダウンロードしてください。フォルダをPC上の任意の場所に解凍します。Start.batを実行して、すべてのモジュールを自動的に起動します。(オプション) 音量制御のためにBroadlink IRデバイスを設定します。テレビの視聴を開始すると、AdBusterが大音量のCMを検出し、リアルタイムで音声を安定させます。 🎯 主な機能 🔊 リアルタイム音量検出 📉 CM中の自動音量削減 🔄 CM後のスムーズな音量復元 📡 IRブラスター対応 (Broadlink RMシリーズ) ⚙️ 設定可能なしきい値と反応時間 🖥️ バックグラウンドで静かに動作 🔐 完全ローカル — インターネット不要 ⭐ このシステムがユニークな理由 AdBuster 2.0 PROは、一般的なオーディオツールではありません。以下の要素を組み合わせた唯一のWindowsアプリケーションです。 🔹 リアルタイムオーディオ分析 (DSP) 専用のオーディオエンジンが、音量、安定性、スパイク、長期パターンをリアルタイムで — 完全にオフラインで — 抽出します。 🔹 CEPA Logic — 人間のような意思決定フレームワーク オーディオイベントを人間と同じように解釈する独自のコンテキスト推論レイヤー: 破壊的なスパイクを検出 過補正を回避 音量をスムーズに復元 コンテキストと時間帯に適応 🔹 オフライン機械学習 (FREE + PRO) 2つの独立したMLエンジン: model.pkl — 軽量、短期分類器 model_deep.pkl — PROレベルの長期パターン認識器 どちらも100%ローカルで実行されます。 🔹 Broadlink IRオートメーション AdBusterは、以下の機能を備えた唯一のWindowsツールです。 大音量のCMを検出 何をするべきか決定 IRコマンドを自動的に送信 ユーザーの操作なしにテレビ音量を安定化 🔹 完全オフラインアーキテクチャ すべての処理はユーザーのデバイス上で行われます。 🔹 ユニークなCEPA + ML + IRパイプライン この組み合わせは、他のWindowsアプリケーションやスマートホームツールには存在しません。AdBuster 2.0 PROは、完全でインテリジェント、プライバシーを第一に考えたオーディオ安定化システムとして独自の位置を占めています。 🛠️ 仕組み マイクがテレビ音声を拾います。突然の音量スパイク(CMに典型的)が検出されると、AdBuster PROは音量を下げるかどうかを決定します。アプリはローカルのFlaskサーバー (VolMaster) にコマンドを送信します。VolMasterはIRコマンドをBroadlinkデバイスに転送します。BroadlinkはIR信号をテレビに送信します。音声が正常に戻ると、アプリは以前の音量レベルを復元します。すべてのロジックはローカルで処理されます — クラウドや外部サーバーは使用しません。 📐 アーキテクチャ図 (高レベル) 以下は、AdBuster PROの主要コンポーネントがどのように相互作用するかを示す簡略化されたアーキテクチャ図です。この図は内部アルゴリズムや実装の詳細を公開するものではありません。 ┌────────────────────────────┐ │ MICROPHONE │ │ (生オーディオ信号) │ └──────────────┬─────────────┘ │ オーディオフレーム ▼ ┌────────────────────────────┐ │ AUDIO ENGINE │ │ RMS / 平均 / 標準偏差 / 範囲 │ │ スムージング / GUIレベル │ └──────────────┬─────────────┘ │ 特徴量 ▼ ┌────────────────────────────┐ │ ML CONTROLLER │ │ (ml_controller.py) │ │ - RMS履歴を収集 │ │ - ml_pro_update()を呼び出し │ │ - RMSをAduster MLに送信 │ │ - ad_modeを切り替え │ └──────────────┬─────────────┘ │ RMS履歴 ▼ ┌────────────────────────────┐ │ ADUSTER ML │ │ (model.pkl / deep.pkl) │ │ - 長期パターンチェック │ │ - CM / 通常 分類器 │ └──────────────┬─────────────┘ │ CM / 通常 状態 ▼ ┌────────────────────────────┐ │ CEPA ENGINE │ │ - コンテキスト分析 │ │ - デッドゾーン / 安定ゾーン │ │ - スパイク検出 │ │ - アンチスパム制限 │ │ - VOL_UP / VOL_DOWN │ └──────────────┬─────────────┘ │ 決定 ▼ ┌────────────────────────────┐ │ AdBuster App Logic │ │ - pending_cmdsキュー │ │ - クールダウンタイマー │ │ - 2倍アップ/ダウン安全制限 │ │ - HTTPコマンドを送信 │ └──────────────┬─────────────┘ │ HTTP GET /send?cmd=... ▼ ┌────────────────────────────┐ │ VolMaster Server │ │ (Flask API, ポート 5000) │ └──────────────┬─────────────┘ │ IRコマンド ▼ ┌────────────────────────────┐ │ Broadlink IR Blaster │ │ (RM Mini / RM Pro シリーズ) │ └──────────────┬─────────────┘ │ 赤外線信号 ▼ ┌────────────────────────────┐ │ TV / オーディオデバイス │ │ (音量変更が適用される) │ └────────────────────────────┘ 📞 IRコマンドポリシー AdBusterの自動化レイヤーは、2つのIRコマンドのみを使用します。 VOL_UP — 音量を上げる VOL_DOWN — 音量を下げる これらはCEPA、MLコントローラー、アプリロジックによって生成される唯一のコマンドです。MUTEおよびPOWERコマンドは手動専用 (UIボタン) であり、自動化パイプラインでは使用されません。 自動音量変更は常に以下の制約を受けます。 2倍アップ/ダウン安全制限 クールダウン アンチスパム CEPA検証 🧩 アーキテクチャ概要 — 3つのモジュール + CEPA Brain AdBuster 2.0 PROは、リアルタイムで連携する3つの独立したモジュールで構成されています。その中心には、すべてを接続する意思決定の頭脳であるCEPAが位置しています。 🧮 AdBuster — 検出エンジン マイクから音声をキャプチャ RMS、ピーク、ダイナミクス、ドリフト、スパイクを計算 短期および長期の音量履歴を構築 CEPA向けの構造化されたオーディオイベントを生成 スムージング、デッドゾーン、安定ゾーン、クールダウン、安全制限を処理 役割: リアルタイム検出 + ランタイムロジック 🧿 Aduster ML — 機械学習エンジン デバイス上のモデル (model.pklおよびmodel_deep.pkl) を使用 RMS履歴に基づいてCM / 通常の挙動を分類 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からのCM / 通常の状態 アプリロジックからの最近のアクション、クールダウン、安全制限 CEPAは以下を実行します。 コンテキストパターン分析 人間のようなフィルタリング 異常検出 安定性評価 安全性強制 CEPAは以下を決定します。 VOL_DOWN VOL_UP PASS BLOCK その後、AdBusterは最終コマンドをVolMasterに転送し、VolMasterがIR経由で実行します。 簡単に言えば: AdBusterが検出 → Aduster MLが検証 → CEPAが決定 → VolMasterが実行。 🔄 CEPAロジック図 (意思決定フロー) 以下は、CEPA (Contextual Event Pattern Analysis) がオーディオの挙動をどのように解釈し、人間のような音量制御の意思決定を行うかを示す簡略化された意思決定フロー図です。この図はCEPAの内部ロジックのみを表しています。 CEPAは、生分類信号に反応するのではなく、コンテキスト内で音量挙動を解釈します。これにより、システムは安定し、人間的で、自然な音量変動に耐性を持つようになります。 ┌────────────────────────────────────────────┐ │ CEPA入力 │ │ - RMSトレンド (短期 / 長期) │ │ - 突然のスパイク │ │ - 上方ドリフト / 下方ドリフト │ │ - CM / 通常モード │ │ - 最近の音量操作 (履歴) │ │ - クールダウン & 安全状態 │ └───────────────────────────────┬────────────┘ │ ▼ ┌────────────────────────────────────────────┐ │ 知覚コンテキスト │ │ - 音量は安定しているか? │ │ - 変化は تد段階的か突然か? │ │ - これはスパイクか実際の増加か? │ │ - これは自然な変動か? │ │ - これはCMモードか (より速く反応するか)? │ └───────────────────────────────┬────────────┘ │ context_state ▼ ┌────────────────────────────────────────────┐ │ 人間のようなフィルター │ │ - 微小な変動を無視 │ │ - 短いスパイクを無視 │ │ - デッドゾーンを適用 (再調整なし) │