anguilla (Documentation)
anguilla
is a mapping and interactive machine learning package for digital musical instrument design in Python.
This is an early stage project. Currently, the main interface is the IML
class, which allows adding input-output pairs (IML.add
) and subsequently mapping points in the input space to outputs (IML.map
).
anguilla
is designed to be modular and hackable. An IML
object is composed of several exchangeable parts:
- an
Embedding
embeds input points into a feature space - an
NNSearch
implements nearest-neighbor search in the feature space - an
Interpolate
combines a set of output points using the distances of their corresponding input points from a neighboring query point.
anguilla server
will expose the Python API over Open Sound Control (OSC) using iipyper.
For examples and tutorials of how to use anguilla
, see our examples repo (TBC).
anguilla
can be installed from PyPI:
pip install anguilla-iml
If you encounter an incompatibility between the PyPI versions of pytorch and faiss-cpu, try installing them both from conda (conda install -c pytorch pytorch faiss-cpu
) before pip install anguilla-iml
.
See the iil-dev repo for a recommended dev environment.
It's also possible to develop anguilla
in isolation. You will need Poetry and your Python environment manager of choice. With conda
, for example:
conda create -n anguilla-env python=3.10 poetry
conda activate anguilla-env
then:
git clone [email protected]:Intelligent-Instruments-Lab/anguilla.git
cd anguilla
poetry install
anguilla
is developed by the Intelligent Instruments Lab. Get in touch to collaborate:
◦ iil.is ◦ Facebook ◦ Instagram ◦ X (Twitter) ◦ YouTube ◦ Discord ◦ GitHub ◦ LinkedIn ◦ Email ◦
The Intelligent Instruments project (INTENT) is funded by the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (Grant agreement No. 101001848).