Anguilla

Anguilla mapping visualised using Tölvera.

Anguilla mapping visualised using Tölvera.

Interactive machine learning in Python
By Victor Shepardson, and Jack Armitage and Nicola Privato

Anguilla is a mapping and interactive machine learning package for digital musical instrument design in Python, designed around the idea of building mappings from one space to another by interactive supervised learning. It can be installed via pip install anguilla-iml. Anguilla is being used in many of our projects, including Magnetic Scores, Stacco, Thales, Organium and Tölvera. Learn more and start using the anguilla package via the Anguilla website For examples and tutorials, see the iil-examples repo.

In the very small-data regime of IML, rigorous application of machine learning algorithms is often impractical, and at worst counter to artistic intent. To emphasise interactivity, Anguilla builds on nearest-neighbor search algorithms which don’t require a distinct training phase, with mappings defined deterministically by their training data. By removing most complexity associated with the choice of learning algorithm, we hope to foreground the training data and the interface for creating it. Anguilla does not provide a user interface itself, but rather a simple API on which applications can be built, with essentially the ability to IML.add(x, y) the input-output pair x, y to a mapping and y = IML.map(x) a new input to an output value.

The Anguilla API is available from Python, and can also be exposed over open sound control (OSC) for use from music programming environments like Max/MSP, Pure Data, and SuperCollider, via the iipyper package.