tphakala/birdnet-go

Self-hosted realtime soundscape analyser for birds, bats and other wildlife. Multi-model local AI inference, runs 24/7 on a Raspberry Pi.

BirdNET‑Go – 実時間AI駆動のサウンドスケープ分析

何ができるか

BirdNET‑Goは、ライブ音声(サウンドカードやネットワークストリームから)をリッスンし、リアルタイムで鳥、その他の野生生物、コウモリを識別するセルフホスト型サービスです。BirdNET v2.4(6,500種以上)モデルに加え、Google Perch v2、BattyBirdNETコウモリ分類器、およびBirdNET Geomodel v3.0を実行します。検出結果は、ライブスペクトログラム、ヒートマップ、検索可能な種リストを備えたWebダッシュボードで表示されます。

なぜ重要なのか

  • ローカルAI推論 – クラウドサブスクリプション不要。すべてオンプレミス(Raspberry Piでも動作可能)で実行。データのプライバシーを保ち、オフラインでも利用可能。
  • マルチモデルのコンセンサス – 複数の分類器を並列実行することで、一致する結果は信頼度を向上させ、不一致はレビュー対象としてマークし、精度を向上。
  • 豊富なアラート機能 – Discord、Slack、Telegram、MQTT/Home Assistant、webhookなどに検出結果を送信可能。ホームオートメーションや市民科学ワークフローとの統合が容易。
  • ワンクリックデプロイ – 1クリックインストールスクリプト、amd64/arm64用Dockerイメージ、PWA対応UIにより、数分で24/7監視ステーションを構築可能。

動作の概要(高レベル)

  1. 音声の取り込み – サーバーはローカルサウンドカードまたはRTSP/RTSPSストリーム(超音波コウモリ検出用に最大256 kHz)から音声をキャプチャ。ウォッチドッグがストリームの健全性を監視し、不安定なソースを再起動可能。
  2. モデル推論 – 音声チャンクを選択されたAIモデル(BirdNETはTFLite、Perch/BattyBirdNET/GeomodelはONNX)に供給。推論はCPUで実行。オプションのONNX Runtimeで非TFLiteモデルを加速可能。
  3. コンセンサスとフィルタリング – 各モデルの結果を統合。モデル間の一致により信頼度を向上。設定可能なフィルタ(場所範囲、犬の鳴き声、深層検出ウィンドウ、種別しきい値)で誤検出を削減。
  4. ストレージとUI – 検出結果はSQLite(またはMySQL)に保存され、SvelteベースのシングルページWebアプリで表示。UIはライブスペクトログラム、ヒートマップ、および「現在聞こえている」カードを提供。
  5. アラートルーティング – shoutrrrライブラリに基づくルールエンジンが、ユーザー定義条件に基づいて各検出を評価し、多数のチャネルで通知を配信。

どんな人に向いているか

  • フィーダー、巣箱、または遠隔地にプライベートで常に稼働する録音装置を設置したい鳥観察者、研究者、保護活動ボランティア。
  • 特定の種が出現したときに(照明、カメラ、ログなど)アクションをトリガーしたいホームオートメーション愛好家。
  • カスタムTFLiteモデルで拡張可能な既製のAI推論パイプラインが必要な開発者。

はじめ方

# Debian/Ubuntu/Raspberry Pi OS
curl -fsSL https://github.com/tphakala/birdnet-go/raw/main/install.sh -o install.sh
bash ./install.sh

または Dockerイメージを取得し、ホストネットワークで実行(低遅延音声向けに推奨)。プロジェクトはクイックスタートウィザード、OIDC/SSOログイン、TLS証明書処理、ヘルスチェックページを提供。

コミュニティとサポート

  • Discord: 実時間でのヘルプと機能議論。
  • GitHub: イシュー、プルリクエスト、コントリビューターリスト。
  • 詳細なWiki:インストール、ハードウェア推奨、カスタム分類器のトレーニング、セキュリティ、トラブルシューティングなど。

ライセンス: Creative Commons BY‑NC‑SA 4.0(非営利利用のみ)。モデル重みは、元のBirdNETおよびPerchライセンスに基づいて提供されます。

関連

  • Dispatch
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト