树莓派(Raspberry Pi)上的电子墨水鸟框(fugleramme)通过音频实时检测鸟类,使用完全本地 AI 进行识别,并将结果渲染为真实的、手工切割的 1800 年代鸟类插图。这个鸟框借助树莓派处理环境声音,在电子墨水屏幕上画出对应鸟种的老式版画,全部计算均在设备端完成。
正文
树莓派电子墨水鸟相框——通过声音实时识别鸟类,完全本地 AI 运行,画面用的是真正手工剪出的 19 世纪鸟类插画。

窗户有点脏请见谅——松鼠一直在偷鸟食。
仍在早期开发阶段:难免有 bug 和一些没打磨好的边角,后续还会加不少功能。
线上运行地址是 fugleramme.arnegiacomo.dev,跑在我家厨房窗前,显示的是我花园里(挪威卑尔根)当下听到的鸟。
硬件、安装与运维文档:arnegiacomo.dev/fugleramme
原理
BirdNET-Go 监听麦克风并负责分类器。Fugleramme 轮询它的 API,把每个物种匹配到一张插画,再把它们排布到页面上,只在鸟种变化时才重绘——显示在 Inky Impression 电子墨水屏上,同时以网页 kiosk 形式提供同一画面。还有一个管理页面可以配置显示什么,以及自动更新之类。
如果你已经在跑 BirdNET-Go,直接让相框指向它即可——同一台机器或网络中任何能访问到的位置都行。
提示:电子墨水屏不是必需的,但推荐用它以获得预期效果。没有屏幕时,Fugleramme 只跑网页版——可以通过 HDMI 在显示器上展示 kiosk,或用网络里任意设备打开。
硬件
一台树莓派 5、一块 Inky Impression 13.3"(Spectra 6)、一个麦克风和一个 A4 相框。完整零件清单、推荐与替代方案见 Hardware。
插画
这个项目有一半的意义就是展示一些很棒的公共领域博物学插画。目前有 800 多张剪影,覆盖 400 多个物种,每一张都取自真实的图版并为这个项目手工挑选(没有一张插画是 AI 生成的,不过有些用 AI 做过修图)。
每个识别出的物种都匹配到它的插画,去背后拼排到一张有纸张纹理的页面上,体型大的鸟靠中间,尺寸按体重缩放。没有鸟时显示一根空栖木。
图版来自斯堪的纳维亚、英国和中欧,所以北欧、不列颠群岛和德国覆盖最好,其他地方(暂时)差一些。更广的欧洲和北美覆盖正在做。
手工剪影的步骤见 Adding artwork。
三种状态:无检测、少数访客、满园鸟。



本地运行(开发用)
uv sync # 建立 venv uv run fugleramme-fake-detector # 在 :8090 上跑一个假的 BirdNET-Go uv run fugleramme-dev # 在 :8080 上启动服务,带热重载
假检测器的参数,以及如何对接真实站点:Running it without a Pi。
在树莓派上安装
在派上执行(假设硬件已就绪):
curl -fsSL https://raw.githubusercontent.com/arnegiacomo/fugleramme/main/install.sh | bash
脚本会问 BirdNET-Go 装在哪里、用哪些端口,克隆仓库、安装依赖,并以 systemd 服务启动相框。注意! 全新系统上很可能需要重启一次。
从空白 SD 卡开始,见完整安装指南。
用容器运行
docker run -d -p 8080:8080 -v fugleramme:/data \ -e FUGLERAMMEDETECTORURL=http://birdnet.local:8080 \ ghcr.io/arnegiacomo/fugleramme
或者从代码检出构建镜像:
docker build -t fugleramme . docker run --rm -p 8080:8080 -v fugleramme:/data \ -e FUGLERAMMEDETECTORURL=http://birdnet.local:8080 fugleramme
Kiosk 在 :8080,管理页在 :8080/admin,所有持久化数据在 /data。
在一台带 USB 麦克风的 Linux 机器上,下面这条会把它和 BirdNET-Go 一起拉起来:
curl -fsSL https://raw.githubusercontent.com/arnegiacomo/fugleramme/main/examples/docker-compose.yml -o docker-compose.yml docker compose up -d
更多信息见 Container。
参与贡献
非常欢迎并鼓励贡献——最需要的是修复、文档和插画。感谢所有已经贡献过的人 ❤️
- 有东西坏了 —— 提 bug report
- 有问题、想法,或你做的相框 —— 先看 FAQ,再去 Discussions
- 修复、文档改动,或你剪好的一只鸟 —— 直接开 PR,不用先提 issue
详见 Contributing。
许可
- 代码:MIT,见
LICENSE。 - 识别部分(BirdNET-Go,单独以容器安装):CC BY-NC-SA 4.0,仅限非商业使用。BirdNET 模型由康奈尔鸟类学实验室和开姆尼茨工业大学开发,分类数据由 eBird.org 提供。
- 鸟类图像:每个风格目录有自己的条款和来源,其 manifest 里标出每个文件剪自哪张图版。
classic是 CC BY-SA 4.0,见assets/artwork/classic/ATTRIBUTION.md。 - 标签字体(
assets/fonts/):SIL OFL 1.1,见assets/fonts/ATTRIBUTION.md。 - 鸟类体型(
assets/bird_sizes.csv):体重数据来自 AVONET(Tobias et al. 2022, Ecology Letters,doi:10.1111/ele.13898),CC BY 4.0。 - BirdNET 学名别名(
assets/birdnet_aliases.json):OpenFauna 整理的分类型别名映射,CC BY-SA 4.0,见assets/ATTRIBUTION.md。
成品相框
我自己做过几个。如果你想要一个而不是自己动手做,请联系我。
评论
绝大多数读者盛赞这个将声音识别与历史鸟类插图结合的本地项目充满创意与温情,许多人想动手复刻;少数意见则质疑其未注明对已有相似项目 AvianVisitors 的灵感致敬,或认为不如直接户外观鸟。
视其为 AI 赋能创造力的温暖典范
- 较多人表示该项目将 BirdNET-Go 与历史插图结合充满巧思,有人直言这就是上社区的原因,并计划复刻、送家人或用于自家花园(高赞 / 较多人)。
- > 这是一段时间以来我见过最棒的 AI 用途之一。(@RGS1811)
质疑作者隐瞒 AvianVisitors 的灵感来源
- 少数人指出项目与数月前病毒式传播的 AvianVisitors 高度相似,批评不提及原作是丑陋之举(少数人)。
- > 不提及 AvianVisitors 作为灵感来源,对作者而言是非常丑陋的举动。(@nsbk)
感慨大尺寸电子墨水屏昂贵且缺成品
- 较多人感叹大尺寸 e-ink 价格仍高(如 13 英寸约 230 英镑)阻碍 DIY,并疑惑亚马逊为何没有现成商品(较多人 / 少数人)。
认为不如直接户外观鸟或反向从图发声
- 少数人呼吁放下假图像走出去亲历真实自然,也有人反向设想从插图生成声音的设备(少数人)。
- > 我们大可以放下这些假图像,走出去亲自观鸟,让自然毫无中介地呈现。(@dmitrij)
期待 AI 进一步识别个体鸟类访客
- 少数人建议利用叫声差异为鸟命名并追踪特定个体(少数人)。
有价值的补充
- 系统完全本地运行于 Raspberry Pi 或 homelab,分类器亦在本地;e-ink 面板可选,亦可仅以容器运行网页端对接已有的 BirdNET-Go。
- 屏幕仅在鸟群集合变化时重绘,并将拼图抖动降至六色以适应电子墨水;体型更大的鸟按真实体重居中缩放。
- 插图素材来自真实公共领域历史图版,含 400 多种、800 多张切图,目前北欧、英国和德国覆盖最佳。