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.