《SoftwareX》:CluckTalk: A cross-platform mobile application for poultry vocalization education and welfare-oriented learning
编辑推荐:
CluckTalk是一款开源、跨平台的移动应用程序(mobile application),用于家禽发声(poultry vocalizations)的情境化比较、科研训练与结构化学习。该应用基于Flutter与Dart构建,整合了46段经精选的录音、代表性图
CluckTalk是一款开源、跨平台的移动应用程序(mobile application),用于家禽发声(poultry vocalizations)的情境化比较、科研训练与结构化学习。该应用基于Flutter与Dart构建,整合了46段经精选的录音、代表性图像、行为元数据(behavioural metadata)以及覆盖九类行为类别的类别识别练习。用户可在无网络连接或后端服务(backend services)的条件下浏览类别、回放录音、查看波形可视化(waveform visualizations)并查阅情境描述。该集成化工作流程为研究人员与受训人员提供了共同参照,以便结合所标注的行为情境考察各叫声之间的听觉相似性与差异性,支持在独立观察或标注工作之前进行熟悉化训练。所有类别标签与测验答案均由策展人员(curators)预先设定;该应用不记录用户音频、不自动分类叫声、不推断情绪状态、不诊断疾病,也不评估福利状况。功能测试(functional testing)历时14天,由20名测试人员使用iOS与Android设备开展,以评估应用运行、兼容性及缺陷修复情况。CluckTalk为比较性聆听、家禽生物声学(bioacoustics)研究准备以及福利导向的培训与外展提供了便携式离线参考资源。
动物发声是动物传递情感状态、社会意图、环境感知与生理状况的重要行为通道,在养殖场环境中日益被视为与福利监测、行为解读和精准畜牧业(precision livestock farming)相关的非侵入性信息源。家禽系统尤其适合这一视角,因为鸡可发出与警报信号、采食活动、母性交流、领域展示、社会互动及应激相关状态有关的多样化叫声库。尽管家禽生物声学研究不断进展,但公开可及、能帮助用户以结构化方式学习解读这些信号的工具仍然很少;现有研究多聚焦于自动分析、福利检测或算法监测,而非用户如何学会识别与解读叫声。生产者、学生、兽医、研究人员及感兴趣公众在实践或教育情境中均可能接触到家禽发声,却往往缺乏将声音与行为意义联系起来的直观资源;静态文字描述与专业文章虽有价值,但很少提供建立识别技能所需的交互式聆听与重复练习。CluckTalk正是为弥合这一缺口而开发,将家禽发声科学转化为可及、离线优先(offline-first)的教育软件平台,支持福利素养、生物声学学习与精准畜牧业外展。该应用并非聚焦实时检测难题,而是解决用户如何学会识别、比较并情境化理解家禽声音的问题;这一框架具有重要意义,因为教育素养往往先于技术成功采纳,利益相关者若先对监测系统所声称解读的交流线索建立熟悉度,便更可能信任并有意义地使用未来的监测系统。CluckTalk提供研究支持软件,用于结合所标注的行为情境审阅与比较经精选的家禽发声,其集成工作流程结合了基于类别的导航、重复回放、波形可视化、情境描述与类别识别练习,使研究人员与受训人员能够在独立观察或标注工作之前重温常见示例并讨论听觉差异。音频录音、图像、元数据与教育资源均本地打包于应用包内,消除了对云服务、后端服务器、外部API(application programming interface)或持续网络连接的依赖,从而增强了便携性、可及性与可重复性,尤其在无法假定互联网稳定接入的农村、教育及农业环境中。CluckTalk的主要贡献包括:用于家禽发声情境化比较、研究准备与福利导向学习的跨平台移动参考应用;将叫声与有意义行为情境关联的分类学驱动(taxonomy-driven)家禽发声库;包括音频回放、波形可视化、搜索功能与测验强化在内的集成教育功能;以及采用Flutter与Dart实现的、公开文档化的离线优先软件架构,以支持可重复性与未来扩展。其软件贡献在于将经精选录音、行为情境与人工类别识别实践整合于可复用的离线Flutter/Dart实现中,为比较性聆听与研究训练提供便携式参考工作流程。
在软件架构方面,CluckTalk完全采用Flutter与Dart实现离线优先架构,公开版本的主要教育功能不依赖后端服务器、云数据库、AWS(Amazon Web Services)服务、外部API或实时互联网连接,音频录音、相关图像、类别标签、测验资源与解释性内容均本地打包于应用包内,降低了运行复杂性,并使应用在包括农业与农村环境在内的网络连接受限场景中仍可使用。研究人员总结了内容到用户的工作流程:家禽发声录音、策展元数据与代表性图像首先经审阅并准备用于教育;处理后的音频文件、静态类别标签、描述、图像与测验答案键随后打包为离线应用资产;Flutter应用层调用这些本地资源,支持导航、搜索、回放、波形显示与测验交互,用户浏览类别、选择并重复回放录音、查看策展人标注的行为情境并完成类别识别练习,使用过程中不发生标签推断、置信度估计或基于云的处理。
在音频策展与预处理方面,该版本包含46段经精选的家禽发声录音,来源于Dalhousie University的MooAnalytica Research Laboratory、合作家禽研究人员、后院家禽贡献者以及在适用许可下使用的部分公开来源。音频策展与预处理在录音打包前离线完成,每段保留录音均分配唯一片段标识符,片段级清单记录编码来源、许可依据、原始文件名或来源链接、原始与最终音频规格、片段边界、时长、预处理历史、来源提供的标签、最终策展人分配的显示标签与主要教育类别。46段打包录音的时长范围为2至90秒,中位时长为13秒。处理在工作站上完成,使用Python 3.10及开源库,其中librosa 0.10.1与pandas用于读入源文件、核验文件可读性与完整性、识别不完整或损坏录音并填充文件级元数据记录;原始源录音在原始数据档案中保持不变。当源文件包含较长背景材料或多个发声事件时,研究人员在Raven Lite 2.0中通过同步聆听、波形可视化与频谱图检查手动分割单个叫声,并在可得时参考情境记录与同步视频;片段边界的选择以保留完整发声事件、同时尽量减少无关人声、机械噪声、重叠非目标声音与长时间静默为原则;无可清晰辨识家禽发声或声学干扰过度的录音被排除。背景噪声采用基于Python noisereduce库的频谱门控(spectral gating)离线降低,未额外施加带通或高通滤波;每段处理后片段均经听觉与频谱图审阅,以识别削波、事件截断、过度降噪伪影或发声成分丢失。最终录音打包为本地应用资产以供离线回放。策展人员随后结合可得来源信息、录音情境与支持性视觉证据审阅每段处理后录音,为每段保留片段分配一个主要教育类别、一个更细的显示标签与一段情境描述;这些类别、标签、描述与测验答案均为静态的策展人分配元数据,并非由机器学习模型生成。原始录音、处理后片段、元数据与标注记录分开保存以保持可追溯性;CluckTalk在使用中调用并播放打包的处理后录音,不记录用户音频、不执行运行时降噪或特征提取、不运行自动分类器、不计算置信度分数,也不将音频上传至外部服务。
在技术栈方面,源配置指定Dart SDK兼容版本从3.4.3至4.0.0(不含),Flutter SDK兼容版本从3.22.0起,明确其为可从共同代码库编译至Android与iOS的现代Flutter应用。直接依赖栈包括用于导航与状态管理的GetX、用于音频回放的audioplayers、用于波形可视化的audio_waveforms、用于本地设备级存储的shared_preferences、用于轻量用户通知的fluttertoast、用于可缩放矢量资产的flutter_svg以及用于平台一致图标体系的cupertino_icons;这些依赖共同支持围绕本地可用内容构建的响应式移动界面。shared_preferences的使用尤其具有指示意义,表明其为简单的本地持久化而非云端支持的用户状态,这与贯穿应用的离线优先架构一致,并强化了CluckTalk为自包含教育平台而非客户端—服务器系统的结论;绕过云架构可避免集约化、大规模家禽养殖环境中已记录的显著现场数据路由、网络脆弱性与持续连接挑战。源配置记录版本为1.0.1,而已部署移动版本为iOS的v1.0.2与Android的v1.0.9。
在家禽发声分类学方面,CluckTalk将家禽交流组织为九个行为类别:社会叫声(Social Calls)、痛苦叫声(Distress Calls)、饥饿与采食叫声(Hunger and Feeding Calls)、公鸡叫声(Rooster Calls)、母鸡—雏鸡交流(Hen-Chick Communication)、交配叫声(Mating Calls)、攻击与警告(Aggression and Warning)、满足与放松(Content and Relaxed)以及独特叫声(Unique Calls)。各类别录音数分别为5、4、3、9、8、3、5、4、5,合计46段。该分类学在应用截图与本地打包资产结构中均可见,作为应用的主要教育支架,使非专业用户的家禽发声学习具备可导航性。类别分配基于录音或来源策展期间记录的行为情境、家禽生物声学文献审阅以及熟悉家禽行为与精准 livestock 监测的研究人员的专家判断;该分类学旨在用于教育解读而非自动诊断分类,因此类别代表具有行为意义的学习分组,而非互斥的动物行为学标签。应用特定的教育类别参考了鸡发声库的既有描述,包括Collias对红原鸡发声的频谱图分类,但并非意在作为详尽、互斥或经诊断验证的动物行为学分类。具体声学类别源自Dalhousie University农业校区MooAnalytica Research Laboratory收集的一手数据与合作欧洲家禽研究伙伴的补充贡献相结合;46段音频录音选自作者拥有在教育软件中使用许可的经策展家禽发声材料,每段录音在分配至行为类别前均经音频清晰度、行为相关性与移动端教学适用性审阅。在这些类别内,应用包含多个更细粒度的叫声类别,应用中可见的示例包括类问候社会叫声、捕食者警报、焦虑相关叫声、疼痛反应叫声、采食叫声、饮水咔哒声、晨鸣、领域鸣叫、孵卵咯咯声、雏鸡跟随叫声、交配相关公鸡发声、打斗尖叫声、嘶嘶警告、满足低鸣以及类呼噜或筑巢相关声音。
在软件功能方面,CluckTalk的教育功能围绕一组集成模块组织,以支持家禽发声知识的探索、解读与强化。用户首先进入引导式入门序列,介绍家禽声音具有行为意义并可反映福利相关情境的观念,在进入主应用环境前建立概念框架。主要学习环境为Learn模块,用户通过九类行为分类学浏览发声库;软件不将录音视为孤立媒体对象,而将其呈现为可解读行为分组的成员,支持新手探索与对不同情境下声音(如痛苦叫声与常规社会互动)的更有针对性比较。选择某段发声会打开详情界面,整合音频回放、波形可视化、图像支持与解释性文本;波形可视化的存在具有教育价值,因其增加了声音的视觉表征,鼓励用户将声学结构与行为解读联系起来。搜索系统允许更有针对性地访问类别与单个叫声,改善带有特定学习目标用户的可用性。CluckTalk还包含人工类别识别练习:用户聆听打包录音、选择行为类别,并依据预先设定的策展人分配答案键获得即时反馈,从而提供结构化聆听练习与回顾经精选示例间差异的机会;其对陌生录音识别的影响尚待评估。界面可视化方面,入门屏幕以轮播式图像展示确立应用的教育目的并传达用户正进入家禽交流学习环境;主仪表板与类别浏览屏幕通过可搜索卡片与类别特定列表展示分类学的实际呈现;发声详情视图在单一学习屏幕内整合代表性图像、回放控制、波形可视化与解释性文本;测验与反馈屏幕展示应用从被动探索向主动评估的过渡,类别识别练习可通过主仪表板右上角固定的测验小组件访问,正确与错误响应屏幕提供即时教育反馈。
在软件安装与可重复性方面,从最终用户角度看,CluckTalk通过Apple App Store与Google Play分发,可直接安装于受支持的iOS与Android设备;安装后应用即可使用,无需额外模型设置、账户关联云配置或核心功能所需的服务器连接,这一低摩擦部署路径与平台的教育目的高度契合。从开发者角度看,软件可使用文档化的Flutter与Dart环境连同声明的依赖栈与打包资产结构从源代码重建;该可重复性路径比多服务研究软件更简单,因其不需要远程基础设施。代码库包含MIT许可证、开发者文档与引用元数据以支持复用与可重复性。其软件贡献并非新的机器学习算法,而是将动物生物声学数据集转化为结构化教育界面的可复用移动软件模式;离线优先设计、本地资产库、行为分类学、回放界面与测验工作流程可以最小后端基础设施适配至其他物种或声学学习领域。
在功能软件测试方面,CluckTalk通过结构化软件质量保证程序测试,涵盖功能测试、图形用户界面测试、探索性测试、系统集成测试、用户验收测试与设备兼容性测试;集中式缺陷跟踪表记录了20余个已记录缺陷的设备信息、复现步骤、问题描述与验证结果。功能测试包括为期14天的封闭测试阶段,涉及20名活跃测试人员与超过21台真实设备,聚焦音频回放、导航稳定性、测验逻辑、加载速度、响应时间与崩溃相关问题;已识别问题包括声音回放不一致、导航相关音频中断与旧版设备崩溃,均在发布前跟踪并修复。这些检查评估了应用在受测设备上的运行与兼容性,但未测量学习收益、陌生叫声识别或疾病识别准确性,也未开展疾病分类实验。
在应用部署与用户采纳方面,CluckTalk已通过Google Play Store与Apple App Store成功部署,使平台可在Android与iOS设备上使用。部署分析表明应用早期采纳来自北美、欧洲、亚洲、非洲与大洋洲的国际用户群体。Android版本为V1.0.9,发布日期为2025年4月29日,截至2026年9月累计安装59262次;iOS版本为V1.0.2,发布日期为2025年5月21日,累计安装2800次;两个平台均包含46段录音与9个发声类别,地理分布为全球(北美、欧洲、亚洲、非洲、大洋洲)。使用的地理分布尤为值得注意,CluckTalk已触达包括美国、印度、法国、菲律宾、加拿大、德国、英国、澳大利亚、南非、伊拉克及其他地区在内的用户;对于一款以研究软件为基础的家禽教育应用而言,这一采纳广度有力表明该平台回应了一个可广泛理解且具有国际相关性的主题。这些部署指标应被解读为分发与实际触达的证据,而非学习有效性的证明;这些数字记录了跨地理区域的分发情况,但未量化重复使用或研究成果。
在示例应用方面,设想一位准备行为观察的研究人员或一位正在熟悉情境关联家禽叫声的受训人员,希望将痛苦相关发声与常规鸡群交流进行比较。在普通农场观察中,这些声音可能混入整体声学环境,难以判断哪些信号值得密切关注。通过CluckTalk,用户可进入Distress Calls类别,聆听捕食者警报与焦虑相关声音等示例,并将其与Social Calls或Hunger and Feeding Calls中的示例进行比较;这种比较不仅由重复聆听支持,还由将每种声音与可能行为情境联系起来的解释性描述支持。重复聆听允许结合波形与情境描述比较感知音高、节奏与叫声时长;痛苦或满足等术语指策展人分配的情境。用户随后可转入测验模块,软件呈现声音片段并要求类别分类,即时反馈指示所选类别是否与策展人分配答案键匹配。在重复会话中,这一聆听、比较与测试的循环旨在支持用户对福利相关叫声模式的熟悉度;如此,CluckTalk充当基于家禽行为的移动聆听导师,而非被动内容档案。
在影响方面,CluckTalk为在策展人分配类别之内与之间考察家禽发声提供了共同参考界面。研究人员可重温相同录音、查看波形显示并结合相关行为情境讨论听觉相似性与差异;人类对奖励相关鸡叫声的识别已在实验中得到研究,CluckTalk可支持独立观察或标注工作前的熟悉化,并可能为未来识别研究提供聆听材料,其研究相关性在于使经精选示例及其情境描述可在可复用的比较工作流程中获取。作为教育工具,CluckTalk通过测验反馈支持自主性学习、重复听觉暴露与主动回忆,适用于动物科学、兽医与福利导向情境中的学生、受训人员与教育者;与静态书面材料相比,软件允许用户反复重温声音与解读,这对学习依赖听觉辨别的交流模式尤为重要。对生产者与农业利益相关者而言,CluckTalk提供了一种更熟悉家禽交流与福利导向聆听的实用方式;虽然目前不提供自主畜舍警报,但可帮助用户建立解释性素养,为未来精准畜牧业工具的成功部署奠定基础,从而通过使用户理解自动系统日后可能监测的线索类型,支持畜牧系统的更广泛数字化转型。CluckTalk还具有外展价值:动物交流本身对更广泛受众具有吸引力,应用可及的界面有助于传达家禽发声是有意义的行为信号而非背景噪声,拓宽了家禽福利科学的公众可见度,并展示研究软件如何将学术工作与一般理解联系起来。在局限性方面,46段经精选录音提供的是选定参考示例,而非家禽发声的全面覆盖,无法代表不同个体、品种、年龄、行为情境、饲养系统与录音条件下时长、频谱特征、振幅或时间结构的全部变异;当前版本支持基于打包录音的情境化比较与学习,不分析或自动分类新录制的音频;部署统计展示了实际触达与采纳,但未确立持续参与、可用性或可测量的学习结果,因此需要采用结构化可用性测试与前后学习评估的正式评价来确定平台的教学有效性。此外,行为类别与标注旨在支持学习与情境解读,而非临床诊断或正式福利评估,CluckTalk因此不应被用作诊断、福利认证或自动监测工具。这些局限性界定了当前版本的范围,同时指明了未来软件开发与评价的清晰方向。未来路线图可能从三个方向扩展当前教育平台:新录制家禽声音的自动分类、实时福利导向声学监测,以及与计算机视觉或环境传感数据的多模态整合;这些新增功能应保留当前分类学的可解释性并向用户清晰传达模型局限性。离线优先框架还可使用物种特定发声数据集与修订的行为类别,适配至其他家禽物种,包括火鸡、鸭与鹅。
结论部分,CluckTalk作为数字农业中的开源参考与教育软件工具,提供了将家禽生物声学研究与农业利益相关者实际需求联系起来的结构化界面。通过组织46段经精选与标注发声的库,并将其构建于直观、分类学驱动的环境中,该应用将声学录音情境化为九个可解读的行为类别,用于比较性聆听、研究准备与结构化学习。平台的离线优先架构确保这一教育内容在乡村养殖环境固有的技术约束下仍可获取。通过整合波形可视化、交互式测验强化与开源可重复性,CluckTalk为传统静态材料提供了交互式替代方案;该项目展示了一种在技术部署之外优先考虑人类可解释性的方法。最终,CluckTalk通过将家禽发声科学转化为支持福利素养、生物声学学习与精准畜牧业外展的跨平台移动环境,在数字农业中建立了可复用的软件框架;通过提供结构化界面供用户审阅、区分与识别不同的家禽发声模式,该应用为动物—计算机交互工具与以福利为中心的家禽教学软件提供了可扩展模型。