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