ipt~ is a Max/MSP external object for real-time classification of instrumental playing techniques.
ipt~ is a core component of SPIRIT (System for Real-Time Recognition of Instrumental Playing Techniques).
This object loads and runs TorchScript (.ts) classification models, enabling low latency inference on CPU and MPS devices.
👉 Train your own playing techniques recognition model in following instructions from the ipt_recognition repository.
- macOS 10.13 or later
- Apple Silicon processor M1 or later (Note: this external doesn't work on Intel processors at the moment)
- Max 8.6 or later / Max 9.0.3 or later
- Go to Releases and download the latest version of ipt~ (
ipt_tilde_v1.1.0.pkg) - Run the installer depending on your version of Max and follow the instructions
- You're done!
A demonstration video of ipt~ detecting in real-time Instrumental Playing Techniques from the EG-IPT dataset is available here.
This project is part of an ongoing research effort into the real-time recognition of instrumental playing techniques for interactive music systems. If you use this work in your paper, please consider citing the following:
@inproceedings{fiorini2025egipt,
title={Introducing EG-IPT and ipt~: a novel electric guitar dataset and a new Max/MSP object for real-time classification of instrumental playing techniques},
author={Fiorini, Marco and Brochec, Nicolas and Borg, Joakim and Pasini, Riccardo},
booktitle={NIME 2025},
year={2025},
address={Canberra, Australia}
}If you are interested in this topic, please check out our other papers:
- Brochec et al. (2025) - "Interactive Music Co-Creation with an Instrumental Technique-Aware System: A Case Study with Flute and Somax2"
- Fiorini and Brochec (2024) - "Guiding Co-Creative Musical Agents through Real-Time Flute Instrumental Playing Technique Recognition"
- Brochec et al. (2024) - "Microphone-based Data Augmentation for Automatic Recognition of Instrumental Playing Techniques"
- In a terminal, run the following commands:
Clone from DYCI2 (main)
git clone git@github.com:DYCI2/ipt_tilde.git --recurse-submodules
cd ipt_tilde
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --target ipt_tilde -j 8 --verboseClone from nbrochec (mirror)
git clone git@github.com:nbrochec/ipt_tilde.git --recurse-submodules
cd ipt_tilde
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --target ipt_tilde -j 8 --verboseNote: The instructions above may trigger a CMake warning: static library kineto_LIBRARY-NOTFOUND not found. However, this does not appear to affect compilation or functionality. Using the pre-compiled binaries from PyTorch will avoid this warning, but as of version 2.4.1, their CPU performance is approximately 20x slower compared to the Anaconda-provided binaries.
- Copy the produced
.mxoexternal inside~/Documents/Max 9/Packages/ipt_tilde/externals/
This project is released under a CC-BY-NC-4.0 license.
This research is supported by the European Research Council (ERC) as part of the Raising Co-creativity in Cyber-Human Musicianship (REACH) Project directed by Gérard Assayag, under the European Union's Horizon 2020 research and innovation program (GA #883313). Funding support for this work was provided by a Japanese Ministry of Education, Culture, Sports, Science and Technology (MEXT) scholarship to Nicolas Brochec.
