A serialisation and inter-process communications protocol for Vamp plugin instructions and data.

To include a server that can be "driven" through either command-line or networking protocols and made to load and configure Vamp plugins, process data with them, and return features.

The plan is to support two serialisations that can be used to communicate with the server:

  • A verbose text format, encoded using JSON. Schema for messages in this format are managed in a separate project, Vamp JSON Schema, which this one includes as a subrepo.
  • A fast, flat binary format with static typing and custom schema. Currently using Cap'n Proto (having experimented with MsgPack and Microsoft Bond).

Both serialisations should be available for simple command-line-driven use via stdin/stdout. The binary format might also be usable with a shared-memory IPC model, and the JSON format might be usable via HTTP.


Manager: Chris Cannam, Lucas Thompson