You are here

Opening the BARN, a bioacoustic resource network [abstract]

Figueroa, H & Michael, D (2012). Opening the BARN, a bioacoustic resource network [abstract]. Bioacoustics, Volume 21 (1): 33



The BARN project develops openly-available software tools to support the creation and maintenance of networked annotated sound libraries. Our goal is to accelerate progress and collaboration in bioacoustics research through the creation of tools that allow authoring, consumption, and sharing of persistently accessible and richly annotated sound collections. Through a BARN server users and groups can maintain web-based sound collections along with extensible recording metadata, organize these into projects to focus annotation efforts, richly and accurately annotate sound with extensible computer-assistance and human review, and use BARN data feeds and export formats to integrate various tools in support of a desired workflow. BARN stored data may be private, shared in a limited way with other BARN users, or widely published to the world. The BARN architecture offers simple programmatic access to BARN data through a REST application programming interface (API) as well as mechanisms for distributed data storage and computer-assisted annotation. The BARN API realizes the openness afforded by the network environment and allows users and developers to access and update resources using HTTP capable software and programming languages. Using this approach users and developers can create simple scripts as well as full applications that read and write BARN data. BARN store data can thus be authored and reused by any number of software tools through the REST API, lowering the cost of integration, interoperability, communication, and collaboration. Federation mechanisms for storage and computation make BARN scalable. Large sound collections maybe maintained in a distributed manner through the easy maintenance of any number of associated BARN file servers, and large-scale computer-assisted annotation supports a distributed-computing model that allows a similar scalability of computation.