Table of Contents
Fetching ...

acoupi: An Open-Source Python Framework for Deploying Bioacoustic AI Models on Edge Devices

Aude Vuilliomenet, Santiago Martínez Balvanera, Oisin Mac Aodha, Kate E. Jones, Duncan Wilson

TL;DR

This paper introduces acoupi, an open-source Python framework for deploying bioacoustic AI on edge devices, addressing the bottleneck of post-deployment data processing in PAM. It unifies audio capture, on-device DL inference, data management, and wireless transmission into configurable 'programmes' runnable on SBCs like Raspberry Pi. The authors demonstrate with BirdNET and BatDetect2, providing two pre-built programmes and reporting a month-long deployment to assess reliability, throughput, and robustness. The work offers a flexible, accessible platform enabling real-time, low-bandwidth biodiversity monitoring and extensibility through community contributions.

Abstract

1. Passive acoustic monitoring (PAM) coupled with artificial intelligence (AI) is becoming an essential tool for biodiversity monitoring. Traditional PAM systems require manual data offloading and impose substantial demands on storage and computing infrastructure. The combination of on-device AI-based processing and network connectivity enables local data analysis and transmission of only relevant information, greatly reducing storage needs. However, programming these devices for robust operation is challenging, requiring expertise in embedded systems and software engineering. Despite the increase in AI-based models for bioacoustics, their full potential remains unrealized without accessible tools to deploy them on custom hardware and tailor device behaviour to specific monitoring goals. 2. To address this challenge, we develop acoupi, an open-source Python framework that simplifies the creation and deployment of smart bioacoustic devices. acoupi integrates audio recording, AI-based data processing, data management, and real-time wireless messaging into a unified and configurable framework. By modularising key elements of the bioacoustic monitoring workflow, acoupi allows users to easily customise, extend, or select specific components to fit their unique monitoring needs. 3. We demonstrate the flexibility of acoupi by integrating two bioacoustic classifiers: BirdNET, for the classification of bird species, and BatDetect2, for the classification of UK bat species. We test the reliability of acoupi over a month-long deployment of two acoupi-powered devices in a UK urban park. 4. acoupi can be deployed on low-cost hardware such as the Raspberry Pi and can be customised for various applications. acoupi standardised framework and simplified tools facilitate the adoption of AI-powered PAM systems for researchers and conservationists. acoupi is on GitHub at https://github.com/acoupi/acoupi.

acoupi: An Open-Source Python Framework for Deploying Bioacoustic AI Models on Edge Devices

TL;DR

This paper introduces acoupi, an open-source Python framework for deploying bioacoustic AI on edge devices, addressing the bottleneck of post-deployment data processing in PAM. It unifies audio capture, on-device DL inference, data management, and wireless transmission into configurable 'programmes' runnable on SBCs like Raspberry Pi. The authors demonstrate with BirdNET and BatDetect2, providing two pre-built programmes and reporting a month-long deployment to assess reliability, throughput, and robustness. The work offers a flexible, accessible platform enabling real-time, low-bandwidth biodiversity monitoring and extensibility through community contributions.

Abstract

1. Passive acoustic monitoring (PAM) coupled with artificial intelligence (AI) is becoming an essential tool for biodiversity monitoring. Traditional PAM systems require manual data offloading and impose substantial demands on storage and computing infrastructure. The combination of on-device AI-based processing and network connectivity enables local data analysis and transmission of only relevant information, greatly reducing storage needs. However, programming these devices for robust operation is challenging, requiring expertise in embedded systems and software engineering. Despite the increase in AI-based models for bioacoustics, their full potential remains unrealized without accessible tools to deploy them on custom hardware and tailor device behaviour to specific monitoring goals. 2. To address this challenge, we develop acoupi, an open-source Python framework that simplifies the creation and deployment of smart bioacoustic devices. acoupi integrates audio recording, AI-based data processing, data management, and real-time wireless messaging into a unified and configurable framework. By modularising key elements of the bioacoustic monitoring workflow, acoupi allows users to easily customise, extend, or select specific components to fit their unique monitoring needs. 3. We demonstrate the flexibility of acoupi by integrating two bioacoustic classifiers: BirdNET, for the classification of bird species, and BatDetect2, for the classification of UK bat species. We test the reliability of acoupi over a month-long deployment of two acoupi-powered devices in a UK urban park. 4. acoupi can be deployed on low-cost hardware such as the Raspberry Pi and can be customised for various applications. acoupi standardised framework and simplified tools facilitate the adoption of AI-powered PAM systems for researchers and conservationists. acoupi is on GitHub at https://github.com/acoupi/acoupi.

Paper Structure

This paper contains 13 sections, 3 figures, 7 tables.

Figures (3)

  • Figure 1: Overview of acoupi (A) Traditional PAM workflows consist of fragmented steps requiring frequent intervention, limiting scalability. These steps include device deployment, data retrieval and transfer to a central location, data management, data analysis to extract acoustic events, and finally, ecological inference. (B) acoupi integrates this workflow into a single device that supports on-board AI-based processing and wireless data transfer, reducing interventions and accelerating data turnaround. (C) acoupi adopts a plug-and-play approach, allowing users to configure workflows to their needs. Users can specify configuration parameters, select an AI-based model, and set up wireless network endpoints for integration with third-party applications. acoupi coordinates essential tasks (orange) like data collection and management, as well as optional modules (dotted) for data processing, transfer and reporting.
  • Figure 2: Example of a simplified acoupi programme. This programme (mauve) implements five tasks: (1) recording, (2) detection, (3) messaging, (4) summary, and (5) management. Each task (orange) follows a standardised workflow of individual components (dark purple), involving actions (rectangles) and decisions (rhombuses). Tasks can be scheduled to occur at regular time intervals (indicated by a clock), or triggered by other tasks (without a clock). Users can exchange components to modify device behaviour, customising how actions are performed and decisions are made without altering the overall workflow. Component behaviour can be fine-tuned through user-provided configuration parameters. Standardised data objects (light grey) flow between components, ensuring consistency across the workflow.
  • Figure 3: Overview of the steps to install, configure, and start an acoupi application.. Step (1) downloads and installs the acoupi software from the PyPi repository on a single-board computer. In step (2), users select and input the configuration parameters of an acoupi programme via a command-line interface. The configuration parameters define how the recording, processing, messaging, summary, and management tasks are executed. In step (3), users start a deployment running the configured acoupi programme.