Chris@80: Chris@80: # Piper Chris@80: Chris@80: ## A protocol for driving audio feature extractors Chris@80: Chris@80: Piper is a protocol for audio analysis and feature extraction. That Chris@80: is, the task of processing sampled audio data to produce descriptive Chris@80: output (measurements or semantic observations). Chris@80: Chris@80: Piper defines a data schema and API that can be used for remote audio Chris@80: feature extraction services, or for feature extractors loaded directly Chris@80: into a host application. Chris@80: Chris@80: Piper is intended to be used Chris@80: Chris@80: * as a programmatic interface for audio analysis and feature Chris@80: extraction methods for web applications and servers Chris@80: Chris@80: * to make [Vamp plugins](http://vamp-plugins.org), and feature Chris@80: extractors written in other languages such as Javascript, available Chris@80: through a service API or as loadable modules Chris@80: Chris@80: The Piper schema is language- and serialisation-independent and the Chris@80: API is transport-independent. We provide initial implementations using Chris@80: JSON in Javascript and C++, and using Cap'n Proto in C++. Chris@80: Chris@80: This repository contains the basic Piper schema. Implementations and Chris@80: utilities can be found in related repositories. Chris@80: Chris@80: ## Authors and licensing Chris@80: Chris@80: Piper was made by Lucas Thompson and Chris Cannam at the Centre for Chris@80: Digital Music, Queen Mary, University of London. Chris@80: Chris@80: Copyright (c) 2015-2016 Queen Mary, University of London, provided Chris@80: under a BSD-style licence. See the file COPYING for details. Chris@80: