音视频鸟鸣种类识别
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_2f6efe1f/birdsong-recognizer。
技能介绍
要解决什么问题
用户手里是一段野外录音、监控设备导出的 WAV,或是手机拍的带鸟叫视频,想知道「这是什么鸟」。纯靠耳朵和图鉴费时,且夜间连续鸣叫、宽频环境噪声很容易把人带偏。本技能把声学识别落在本地脚本上:用康奈尔实验室 BirdNET v2.4 做 6522 类 logits 推理,Agent 主要负责选参数、读结论和展示语谱图,而不是在对话里反复跑大模型猜种。
技能如何工作
- 输入:常见音频(
wav/mp3/m4a等)与视频(mp4/mov等);脚本自动抽音轨,无需手拆。 - 推理:固定 3s @ 48kHz 窗口,用
tf.lite.Interpreter直接推理(避免model.predict()在沙箱里卡死)。首次运行会从网络拉取约 50MB 模型到BIRDNET_APP_DATA。 - 地理与季节:
--region cn用动态属级权重表调制置信度,而不是硬删候选;配合--month对候鸟做粗粒度季节折扣。对中国监测场景,不开地理过滤容易把噪声打成高置信度的「幽灵种」。 - 盲区补充:
--rhythm用包络自相关找稳定脉冲节律,针对夜鹰 churring、啄木鸟敲击等 BirdNET 连续发声盲区,只给类群线索,不定种。 - 省 token:日常识别优先
--report,脚本内完成属级归并与分级,Agent 转述即可;批量用batch.py只加载一次模型,并输出带priority_tier的 CSV 便于标注排队。 - 核验:
spectro.py生成语谱图,鸟鸣多在 2–8kHz,与 Top 候选交叉核对。
边界与注意点
地理权重按属而非种,同属跨大陆种无法靠权重区分。noise_confusable_species.csv 与地理权重表职责分离:前者只在结论里提示「历史上噪声易误判该 label」,不能用来压低地理权重。节律检测无法声源分离,重叠强前景会干扰。Xeno-canto 下载与 GBIF 校准是独立辅助工具,需用户自备 API key 或联网,不替代识别主流程的离线能力。剪映等重编码视频置信度常偏低,需结合语谱与分布常识人工复核。
使用场景
- 声纹监测点位导出数百条按时间戳命名的 WAV,需一次性批量识别并产出带 priority_tier 的 CSV 供标注员按优先级排队
- 用户上传公园或郊野的 mp4/m4a 并注明地点与月份,需识别最可能的鸟种并用语谱图核对 2–8kHz 音节结构
- 夜间录音中 BirdNET 对连续鸣叫置信度很低,需开启节律检测判断是否存在稳定脉冲类群线索再人工定种
- 中国区域监测入库前需开启 --region cn 与 --month,避免宽频噪声被写成高置信度的境外或本地不合理物种
适合人员
- 在保护区或湿地公园维护自动录音桩、每周要处理 GB 级连续采样数据的生态监测项目负责人
- 提交观鸟记录或科普稿件前,希望用本地 BirdNET 结果与耳听、分布图交叉验证种名的资深观鸟志愿者
- 负责声纹监测数据质检的科研助理,需要把 batch 报告里的 rhythm_only、likely_non_bird 与噪声易混淆清单转给标注规范
- 制作自然纪录片或科普短视频的后期,需要从素材音轨里初筛鸟种并保留语谱图作为制作组与顾问复核依据