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 模型(6500+ 鸟类物种)以及 Google Perch v2、BattyBirdNET 蝙蝠分类器和 BirdNET Geomodel v3.0。检测结果通过带有实时频谱图、热力图和可搜索物种列表的 Web 仪表板显示。
为什么重要
- 本地 AI 推理 – 无需云订阅;所有操作都在本地(甚至可在 Raspberry Pi 上)运行。保护数据隐私,支持离线使用。
- 多模型共识 – 并行运行多个分类器,当它们一致时提升置信度,不一致时标记以供审查,从而提高准确性。
- 丰富的警报功能 – 检测结果可推送至 Discord、Slack、Telegram、MQTT/Home Assistant、Webhook 等,便于与智能家居或公民科学工作流集成。
- 开箱即用部署 – 提供一键安装脚本、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 模型的 开发者。
快速开始
# 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
- 项目
- 项目
- 项目
- 项目