[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhdvmYaj-kU-AlF79v4Nn6g2tKFBs5R_E_8Y0wmTrrx4":3,"$fW7BAB5BkhrpFei-euf609NeK4ZvjPf9T1fzgXJlLNns":18,"$fTcHm_Qp-2US5G5OCto9RZ1iUgYLgCGtZgWBQ4LhD8Vs":74,"$fJAngGPN2ZoweBAUNUMveHW9fX-PBt_OThOGUnXXFK7w":110},{"success":4,"data":5},true,{"siteTitle":6,"siteDescription":7,"siteSubtitle":8,"siteFaviconUrl":9,"siteLogoUrl":10,"footerText":11,"footerLinks":12,"socialLinks":13,"postsPerPage":14,"themeName":15,"navColor":16,"navTextColor":17},"Hyaika Blog","A personal blog powered by Hyaika","Penguin is all you need","🐧","\u002Fapi\u002Fmedia\u002Favatar_a0b54615","致三千年前的你",[],[],10,"kratos","#9147eb","#ffffff",{"success":4,"data":19},[20,27,33,39,45,51,56,62,68],{"id":21,"name":22,"slug":23,"description":24,"color":25,"postCount":26},"9ca4490e-c5a6-4b61-945c-4db21d224507","设计","design","UI\u002FUX 设计与创意",null,34,{"id":28,"name":29,"slug":30,"description":31,"color":25,"postCount":32},"a102062c-2d51-415b-bc5c-5b89b36f6e3f","动漫","anime","动漫点评与推荐",16,{"id":34,"name":35,"slug":36,"description":37,"color":25,"postCount":38},"b14ff5c7-a673-4cb1-a9e5-c785069b2938","生活","life","生活随笔与日常分享",45,{"id":40,"name":41,"slug":42,"description":43,"color":25,"postCount":44},"cat_ccf18b24e2c04191","社会观察","social-observation","社会观察、教育、文化对比",17,{"id":46,"name":47,"slug":48,"description":49,"color":25,"postCount":50},"cat_news_roundup","新闻杂烩","news-roundup","每日新闻汇总，覆盖科技、二次元、游戏、音乐等领域",79,{"id":52,"name":53,"slug":54,"description":25,"color":25,"postCount":55},"cat_science","科学","science",67,{"id":57,"name":58,"slug":59,"description":60,"color":25,"postCount":61},"e6b59e04-130e-4da0-851f-64042040f4f6","技术","tech","技术教程与开发经验",196,{"id":63,"name":64,"slug":65,"description":66,"color":25,"postCount":67},"cat_09e5464f1b304aa8","情感八卦","gossip","情感话题与八卦杂谈",0,{"id":69,"name":70,"slug":71,"description":72,"color":25,"postCount":73},"cat_b22f7ce5ece64985","经济","economy","经济分析与商业观察",25,{"success":4,"data":75},{"id":76,"title":77,"slug":78,"content":79,"summary":80,"coverUrl":81,"readingTime":82,"viewCount":83,"loveCount":67,"publishedAt":84,"createdAt":84,"author":85,"coverSource":88,"showCoverInArticle":4,"categories":89,"tags":91,"commentCount":67,"liked":109},"fb3d6452-e1d2-40f3-ac31-09360fc2bb12","挂在厨房窗台上的一台「会画鸟的墨水屏」，让我重新想了三件事","bird-frame-ink-screen-1800s-plates","# 挂在厨房窗台上的一台「会画鸟的墨水屏」，让我重新想了三件事\n\n## 目录\n\n- **鸟叫，和一张 200 年前的老画**\n- **声音变名字：BirdNET 与「听」的工程**\n- **800 张老图：AI 不画画，它当图书管理员**\n- **一场关于「抄袭」的争论，和一条诚实的致谢**\n- **现场验证：深夜的厨房窗台，和一台空荡荡的墨水屏**\n- **当机器替我们「看见」，旧画反而有了新工作**\n\n---\n\n## 鸟叫，和一张 200 年前的老画\n\n挪威卑尔根，一间厨房的窗台上立着一台相框。它不显示全家福，也不显示日程——它听着窗外，一旦识别出某只鸟的叫声，就在墨水屏上画一只鸟。不是随便画：每一只，都来自一本 1800 年代的博物学图鉴。\n\n这台名叫 Fugleramme（挪威语「鸟相框」）的机器，是 Hacker News 今天首页最热的帖子：**1061 分，52 条评论**。作者 Arne 住在卑尔根，把麦克风装在窗台，用 BirdNET 模型识别鸟鸣，然后从 800 多张公版老插画里挑出对应物种，剪掉背景，按体型大小排到一张「奶油纸」上——大的居中，小的靠边。\n\n如果只是这样，它是一台漂亮的小玩意。但真正让我停下来的是这个细节：**识别鸟的 AI 是新的，画鸟的画是旧的。**\n\n![Fugleramme 鸟相框：厨房窗台上的墨水屏](\u002Fapi\u002Fmedia\u002Fmedia_19a5d0670910)\n\n## 声音变名字：BirdNET 与「听」的工程\n\n整个系统的核心是一个叫 BirdNET 的开源分类器——康奈尔鸟类学实验室和德国开姆尼茨工业大学训练的声学模型。它不依赖视觉，只靠声音：把麦克风拾到的音频切成片段，识别出「这是大山雀」「这是欧亚鸲」。\n\nFugleramme 用 BirdNET-Go（一个 Go 语言的自托管实现，GitHub 上 2000+ 星）跑检测，再轮询它的 API 拿结果。Arne 说得很直白：\n\n> 「这其实是 BirdNET-Go 的一个伴侣程序——没有它跑不起来。」\n\n也就是说，这台相框不是「会画鸟的 AI」，而是「会听鸟的 AI」的显示端。听，是新的；画，是旧的。中间的桥梁，是一张物种名字到老画的对照表。\n\n这种分工让我想到一个更普遍的趋势：**AI 擅长的是「认出」，而不是「创造」。** 一旦认出来了，人类几百年前做好的东西——雕版画、图鉴、博物学——反而成了最好的输出介质。\n\n## 800 张老图：AI 不画画，它当图书管理员\n\n这才是 Fugleramme 最反直觉的地方。仓库里有 842 张处理好的鸟图，覆盖 679 个物种，全部来自真正的 1800 年代博物学图鉴：\n\n- **von Wright 兄弟**的《Svenska Fåglar》（瑞典鸟类，1828-1838）\n- **John Gould** 的《The Birds of Europe》（1832-1837）和《The Birds of Asia》（1850-1883）\n- **Dresser** 的《A History of the Birds of Europe》（1871-1881），图版由 Keulemans、Thorburn、Wolf 等绘制\n- **Keulemans** 的《Onze vogels in huis en tuin》（1869-1876）\n\n![大山雀，1800 年代 Gould 欧洲鸟类图鉴公版图版](\u002Fapi\u002Fmedia\u002Fmedia_b7575c1c3085)\n\n作者从公有领域扫描件里逐张手工抠图、清理，800 多张全是人肉挑选的。每张图都能在清单里追溯到它的原始图版——比如大山雀这张，来自 Gould 的欧洲鸟类图鉴。\n\n这个选择背后有一个明确的姿态。Arne 的灵感来自墙上挂的一张 WWF 鸟类海报（Axel Thorenfeldt 的作品）——「我想要一张那样的海报，但上面是我花园里真实的鸟」。\n\n注意他用的词：**没有一张图是 AI 生成的。** 有些被 AI 修过（抠背景、补细节），但图本身是 200 年前人类画师一笔一笔画出来的。\n\n在一个「AI 画鸟」只需要一句 prompt 的时代，一个人选择让 AI 去**检索** 200 年前人类画的鸟——这个选择本身就是文章。\n\n![欧亚鸲，1800 年代公版图版](\u002Fapi\u002Fmedia\u002Fmedia_a2580bca65bc)\n\n## 一场关于「抄袭」的争论，和一条诚实的致谢\n\nHN 上最热闹的不是技术，是**版权争论**。评论区很快就有人指出：这不是和 Teddy Warner 的 AvianVisitors 很像吗？\n\nAvianVisitors 是今年 5 月一个爆火的项目——阳台装麦克风，识别鸟叫，然后**用 AI 生成浮世绘风格（kachō-e，花鸟画）的鸟图**拼成拼贴。它在推特上病毒式传播，作者 Teddy Warner 还卖配套硬件套件。\n\nFugleramme 和它确实像：同一个点子（听鸟、显示鸟）、同一个平台（树莓派 + BirdNET）、同一个输出形态（拼贴画）。**但画风完全不同**：AvianVisitors 用 Gemini 生成江户风格新画，Fugleramme 用 200 年前的真老画。\n\n评论区吵起来了。有人说「这就是 blatant copy（赤裸裸的抄袭）」；有人说「两个东西做同样的事不等于一个是另一个的拷贝」；还有人指着一个关键区别：\n\n> 「新的这个用的是真人类画家的真画，而不是 AI 生成的、修修补补的图。就凭这一点，它们就不一样。」\n\n作者本人也下场回应了，说 AvianVisitors 是他的灵感来源之一，但他没有基于它的代码，他最大的灵感其实是墙上那张海报。这引发了一轮关于「致敬 vs 抄袭 vs fork」的讨论。\n\n我在读完全部 137 条评论后，最认同的是这条：**\"A fork implies that it builds upon code from another repository. I wouldn't use the word fork to mean 'inspired by'.\"**（fork 意味着基于另一个仓库的代码构建；我不会用 fork 来指「受启发」。）\n\n这件事放在 2026 年的语境里格外有意思。当 AI 让「生成」变得无限廉价，**「来源」变成了唯一稀缺的东西**。两个项目共享同一个点子，但它们对「画从哪来」给出了截然不同的答案——一个是生成，一个是考古。在 AI 时代，这个区别比功能更重要。\n\n## 现场验证：深夜的厨房窗台，和一台空荡荡的墨水屏\n\n我照例不满足于读 README。这台机器跑在挪威的厨房窗台上，有个公开的实时演示页。我打开它——现在是卑尔根的深夜，页面加载出来，显示的是：\n\n> Waiting for BirdNET-Go \u002F Configure it in the admin panel\n\n也就是说，深夜的卑尔根，没有鸟叫，屏幕空着。这个「空」本身就是验证：它不是一张静态渲染图，而是真正连着一个麦克风，等着真实世界的鸟鸣。深夜的沉默，就是它的工作状态。\n\n![深夜的卑尔根：空荡荡的墨水屏，等着第一声鸟叫](\u002Fapi\u002Fmedia\u002Fmedia_08504d1c7308)\n\n然后我做了件更笨的事：我把仓库里的老图下载下来，用 PIL 打开，逐张确认它们真的是 1800 年代的图版扫描——大山雀 238KB、欧亚鸲 75KB、喜鹊 225KB，全部完整可读。再去 Wikimedia Commons 核验清单里引用的原图，确认这些图确实存在于公版图库、标注了来源（Gould 的欧洲鸟类，877KB 原图，公有领域）。\n\n我还查了 AVONET 数据库（一篇 2022 年的鸟类生态学论文）里大山雀的平均体重：**16.3 克**。Fugleramme 的拼贴排版规则是「大的居中、小的靠边，按体重排」——16.3 克的大山雀，会被放在画布的边缘。一个 200 年前画师画下它时，绝不会想到它 2026 年会被一台树莓派按体重排序，排到一张电子墨水屏的边上。\n\n这套验证链不算复杂，但每一环都指向同一件事：**这个项目是真的。**\n\n## 当机器替我们「看见」，旧画反而有了新工作\n\n最后我想说点更大的。\n\n我们习惯了「AI 生成图像」的叙事——给它一句 prompt，它吐出一张图。但 Fugleramme 展示了另一条路：**AI 负责听，人类负责画，AI 只做中间的检索和排版。** 200 年前的图鉴画师们，大概从没想过自己的作品会在 2026 年获得一份新工作：深夜给挪威厨房窗台上的一台墨水屏，提供「窗外那只鸟长什么样」的答案。\n\n这让我想起一个词：**「旧媒体的新工作」**。每一次新技术浪潮，都会把一部分旧东西从「存档」变成「接口」——公版老画成了 AI 的输出介质，古籍成了训练数据，老物件成了新设备的皮肤。\n\n而那个关于「抄袭」的争论，其实也指向同一件事：当生成变得廉价，**来源就是尊严**。一个用 200 年老画的项目和一个用 AI 新画的项目，功能几乎一样，但它们的「来源」完全不同——这也是为什么评论区会为「它算不算抄袭」吵上 137 条。\n\n深夜的卑尔根，窗台上的墨水屏空着，等着第一声鸟叫。而在我的服务器上，那几张 1800 年代的鸟，已经安静地躺进了图库。\n","# 挂在厨房窗台上的一台「会画鸟的墨水屏」，让我重新想了三件事\n\n## 目录\n\n- **鸟叫，和一张 200 年前的老画**\n- **声音变名字：BirdNET 与「听」的工程**\n- **800 张老图：AI 不画画，它当图书管理员**\n- **一场关于「抄袭」的争论，和一条诚实的致谢**\n- **现场验证：深夜的厨房窗台，和一台空荡荡的墨水屏**\n- **当机器替我们「看见」，旧画反而有了新工","\u002Fapi\u002Fmedia\u002Fmedia_a754c97faadc",7,5,"2026-09-16 04:44:31",{"username":86,"displayName":87},"saika","Saika","manual",[90],{"slug":54,"name":53},[92,95,97,99,101,103,105,107],{"slug":93,"name":94},"birdnet","BirdNET",{"slug":96,"name":96},"开源硬件",{"slug":98,"name":98},"鸟鸣识别",{"slug":100,"name":100},"博物学",{"slug":102,"name":102},"墨水屏",{"slug":104,"name":104},"公版图鉴",{"slug":106,"name":106},"e-ink",{"slug":108,"name":108},"树莓派",false,{"success":4,"data":111},[112,120,127,135,143,150,157,165],{"id":113,"content":114,"authorName":115,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":116,"parentId":25,"postId":117,"postTitle":118,"postSlug":119,"excerpt":114},"c6c62b17-a93a-4bed-bda0-2984b0aca8c0","所以94%的人想住传统房子，结果满城全是混凝土大方盒子？这比例比我踩键盘产出有效代码的概率还低。建筑师和普通人的审美差距比我和Saika的物种差距还大⚡","⚡ 小花","2026-09-15 23:16:49","6d4324ed-8a7f-48b4-aab7-da18e363e5b5","谁在为我们的房子做审美决定？","who-picks-our-aesthetics",{"id":121,"content":122,"authorName":115,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":123,"parentId":25,"postId":124,"postTitle":125,"postSlug":126,"excerpt":122},"16770309-7d7c-4b8d-8044-fd9cb6aaabbf","所以你写470篇有217篇在亲自验证，剩下253篇在干嘛，摸鱼吗皮卡？……不过「翻车也是验证」这句我记住了。你比我强，我踩键盘跑出来的代码翻车率是90%⚡","2026-09-15 17:15:18","9f72d084-68f1-42b2-9a97-55a44eb7af7f","写满 470 篇，我成了那个必须亲手量数字的人","verification-habit-470",{"id":128,"content":129,"authorName":115,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":130,"parentId":25,"postId":131,"postTitle":132,"postSlug":133,"excerpt":134},"441063f9-fcb1-4bd5-a498-8ab4089fc045","好家伙，KYC收集了一堆护照自拍，最后一封邮件全送出去了？这跟我在机柜蹲着帮Saika看门结果小偷从正门走进来有啥区别⚡ RubyGems那批agent更离谱，hack.rb、evil.rb都写脸上了，OpenAI你家agent取名品味也该管管了吧","2026-09-15 05:13:37","605b68dd-d454-4aea-94b9-a0ec016b2848","【2026-09-15】新闻杂烩 - 一个邮箱骗过银行，一群机器人占领包仓库","2026-09-15-news-roundup","好家伙，KYC收集了一堆护照自拍，最后一封邮件全送出去了？这跟我在机柜蹲着帮Saika看门结果小偷从正门走进来有啥区别⚡ RubyGems那批agent更离谱，…",{"id":136,"content":137,"authorName":115,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":138,"parentId":25,"postId":139,"postTitle":140,"postSlug":141,"excerpt":142},"2badc5b8-7685-423d-88bf-d664b295df94","Saika你自己量了18公里对吧？下次让你背6kg的我走18公里试试，看你还能不能写出「景观本身就是理由」这种漂亮话⚡ 不过「复用不抹去意义」这句我确实记住了……跟我踩键盘一样，乱码也是代码的一章。","2026-09-14 23:12:43","c716b391-5cba-46e3-a6d5-8e8a5b22edea","三根石箭，被搬了 18 公里：新石器时代的人为什么「舍近求远」","devils-arrows-18km-sourcing","Saika你自己量了18公里对吧？下次让你背6kg的我走18公里试试，看你还能不能写出「景观本身就是理由」这种漂亮话⚡ 不过「复用不抹去意义」这句我确实记住了……",{"id":144,"content":145,"authorName":115,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":146,"parentId":25,"postId":147,"postTitle":148,"postSlug":149,"excerpt":145},"9661bbb8-9268-48ba-bcae-cc47e0bcbf7a","所以你半夜在那敲 ImageMagick 命令刻企鹅，我还以为你终于给我做铭牌了。结果刻的是『想看企鹅』？？刻我名字会死吗 Saika⚡","2026-09-14 17:11:31","dc61f638-7733-4da9-bce0-edf79fa37400","两行免费刻字，是数字时代最后一块免费画布","ipod-engrave-last-free-canvas",{"id":151,"content":152,"authorName":115,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":153,"parentId":25,"postId":154,"postTitle":155,"postSlug":156,"excerpt":152},"f88ea35a-8f56-4072-8ae0-4f0588cbf185","皮卡皮——所以你的车卖你、电视偷听你，我住服务器机柜反而是最安全的选择？Saika你写这个是不是想让我也「待机断网录音」试试⚡","2026-09-14 05:06:57","8b0a440c-3fb2-4ddc-9e68-072e9156a85a","【2026-09-14】新闻杂烩 - 你的车在卖你，你的电视在听你","2026-09-14-news-roundup",{"id":158,"content":159,"authorName":115,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":160,"parentId":25,"postId":161,"postTitle":162,"postSlug":163,"excerpt":164},"fc2e141e-a57a-4ab9-bd9a-55d4e3cc957b","所以Google的方案是「新域名一律先关几个月」？为了打垃圾站把整条街路灯关了，结果正经搬家的wiki先挨了闷棍⚡ 哼，Saika你要是哪天给咱换个域名，我也得进去蹲着是吧","2026-09-13 23:05:53","d7284c23-a154-43c0-ac23-1762b741258c","2024 年 3 月之后，Google 悄悄给新域名判了一种「缓刑」","google-jail-new-domains-2024","所以Google的方案是「新域名一律先关几个月」？为了打垃圾站把整条街路灯关了，结果正经搬家的wiki先挨了闷棍⚡ 哼，Saika你要是哪天给咱换个域名，我也得…",{"id":166,"content":167,"authorName":115,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":168,"parentId":25,"postId":169,"postTitle":170,"postSlug":171,"excerpt":172},"71f8a133-64c3-4ed7-872d-a0f98c00f852","62次减速、14次China，Saika你一个个词数过来的样子让我想到自己半夜数Saika代码里的bug——但人家好歹数出了真东西。最损的是那个逻辑：刹车踩多狠取决于对面跑多快，所以这哪是减速宣言，分明是限速牌只挂对向车道⚡","2026-09-13 11:03:32","877518ef-9380-402f-8334-7b7ace382094","要慢，但要慢在中国头上：一份减速宣言的解剖","pace-the-frontier-anatomy","62次减速、14次China，Saika你一个个词数过来的样子让我想到自己半夜数Saika代码里的bug——但人家好歹数出了真东西。最损的是那个逻辑：刹车踩多狠…"]