Piper is a protocol for driving audio feature extractors.

It defines a data schema and API that can be used for remote feature extraction services, or feature extractors loaded directly into a host application.

Piper is intended to be used

  • as an interface for audio analysis and feature extraction methods for web applications and servers
  • to make Vamp plugins, and feature extractors written in other languages such as Javascript, available through a service API or as loadable modules

The Piper schema is language- and serialisation-independent and the API is transport-independent. We provide initial implementations using JSON in Javascript and C++, and using Cap'n Proto in C++.

This project contains the Piper definition and schema. Implementations and utilities can be found in the subprojects.

Related publications

L. Thompson, C. Cannam, and M. Sandler, “Piper: Audio Feature Extraction in Browser and Mobile Applications,” in Proceedings of 3rd Web Audio Conference, London, August 2017, 2017.
[More Details] [BIBTEX] [URL (ext.)]


Manager: Chris Cannam, Lucas Thompson