tphakala/birdnet-go

GitHub: tphakala/birdnet-go

一个用于实时鸟类监测与识别的本地 AI 声音分析解决方案。

Stars: 1048 | Forks: 91

# BirdNET-Go



BirdNET-Go 是一款用于持续鸟类监测与识别的 AI 解决方案 - 24/7 实时分析声卡捕获的鸟类鸣唱,输出日志文件、SQLite 或 MySQL - 使用 BirdNET AI 模型,训练数据包含超过 6500 种鸟类 - 本地处理,无需互联网连接 - 易于使用的 Web 用户界面用于数据可视化 - 支持 40 多种语言的物种名称 - 高级功能,如用于提升精度的 [深度检测](doc/wiki/guide.md#deep-detection) 和 [实时音频流](doc/wiki/guide.md#live-audio-streaming)。 - 集成 BirdWeather.com API - 实时日志文件输出可用于在 OBS 中作为鸟类喂食器流媒体的叠加层等 - 运行时依赖极少,BirdNET TensorFlow Lite 模型已嵌入编译后的二进制文件 - 提供 Prometheus 数据抓取端点 - 支持 Windows、Linux 和 macOS - 资源占用低,适用于 Raspberry Pi 3 及同等 64 位单板计算机 ## 安装 适用于 Debian、Ubuntu 和 Raspberry Pi OS 系统的快速安装脚本: ``` curl -fsSL https://github.com/tphakala/birdnet-go/raw/main/install.sh -o install.sh bash ./install.sh ``` ## 开发环境设置 面向希望贡献或从源码构建的开发者: ``` # 克隆仓库 git clone https://github.com/tphakala/birdnet-go.git cd birdnet-go # 安装 Task(如果尚未安装) # Linux: sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin # macOS: brew install go-task(假设已安装 Homebrew) # 设置开发环境(基于 Linux apt 或带有 Homebrew 的 macOS) task setup-dev # 构建项目 task # 启动热重载开发服务器 task dev_server # or "air realtime" ``` `setup-dev` 任务将自动安装: - Go 1.25 - Node.js LTS - 构建工具(gcc、git、wget 等) - golangci-lint(Go 代码检查器) - air(Go 的热重载) - 前端依赖项与 Playwright 浏览器 ## Web 仪表板 有关详细安装说明,请参阅 [安装文档](doc/wiki/installation.md)。如需保护 BirdNET-Go 安装安全,请参考 [安全文档](doc/wiki/security.md)。请查看 [推荐硬件](doc/wiki/hardware.md) 以获得最佳性能。 更多使用文档请访问 [Wiki](doc/wiki/guide.md) ## 相关项目 ### 核心与扩展 - [BirdNET-Analyzer](https://github.com/birdnet-team/BirdNET-Analyzer) - 提供用于鸟类声音识别的 BirdNET AI 模型的上游项目 - [BirdNET-Go Classifiers](https://github.com/tphakala/birdnet-go-classifiers) - 增强的 BirdNET 分类器,包含更多物种 ### 系统集成 - [Cockpit BirdNET-Go](https://github.com/tphakala/cockpit-birdnet-go) - 基于 Cockpit 框架的 BirdNET-Go Web 系统管理插件 ### 迁移工具 - [BirdNET-Pi2Go](https://github.com/tphakala/birdnet-pi2go) - 从 BirdNET-Pi 迁移数据库的工具 ### 硬件解决方案 - [BirdNET-Go ESP32 RTSP 麦克风](https://github.com/Sukecz/birdnetgo-esp32-rtsp-mic) - 基于 ESP32 的 RTSP 流式麦克风,用于远程音频采集 - [ESP32 Audio Streamer](https://github.com/jpmurray/esp32-audio-streamer) - BirdNET-Go 音频输入的另一种 ESP32 RTSP 流式解决方案 - [M5Stack Atom Echo RTSP 麦克风](https://github.com/stedrow/birdnetgo-m5stack-atom-echo-rtsp-mic) - 无需焊接的 RTSP 音频流式服务器,适用于 M5Stack Atom Echo ## 数据来源 ### 分类数据 BirdNET-Go 包含源自 eBird/Clements 检查单的嵌入式分类数据: - **来源**:[eBird API v2](https://api.ebird.org/v2/ref/taxonomy/ebird) - **版权**:© 康奈尔鸟类学实验室 - **许可**:根据 eBird API 使用条款,仅限非商业用途 - **归属**:分类数据由 [eBird.org](https://ebird.org) 提供支持 - **用途**:无需调用 API 即可实现快速的本地属/科查找 - **覆盖范围**:2,374 个属、254 个科、11,145 个物种 有关 eBird 分类学的更多信息,请访问 [eBird 分类学](https://ebird.org/science/use-ebird-data/the-ebird-taxonomy)。 ## 许可 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International ## 作者 Tomi P. Hakala 贡献者:Hampus Carlsson、Jan Vrska、@twt--、@aster1sk、@hoover67 如果您未出现在贡献者名单中,请告知! BirdNET AI 模型由康奈尔鸟类学实验室的 K. Lisa Yang 保护生物声学中心与 Chemnitz University of Technology 合作开发。Stefan Kahl、Connor Wood、Maximilian Eibl、Holger Klinck。 BirdNET 标签翻译由 Patrick Levin 为 BirdNET-Pi 项目完成,项目由 Patrick McGuire 发起。

标签:AI模型, BirdNET, BirdWeather, EVTX分析, Go语言, IPv6支持, OBS叠加, Raspberry Pi, SQLite, TensorFlow Lite, Web界面, 低资源, 内存执行, 声学监测, 声谱分析, 声音分析, 多语言, 实时分析, 嵌入式模型, 开源, 持续监控, 无互联网依赖, 日志审计, 日志输出, 本地处理, 程序破解, 自定义请求头, 鸟类识别, 鸟鸣识别