Skip to content

DYCI2/ipt_tilde

Repository files navigation

ipt~ logo

ipt_tilde

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.

⚙️ Requirements

  • 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

💾 Installation

  • 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!

🎥 Demo Video

A demonstration video of ipt~ detecting in real-time Instrumental Playing Techniques from the EG-IPT dataset is available here.

🧠 About

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}
}

📚 Related Work

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"

💻 Build Instructions

  • 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 --verbose

Clone 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 --verbose

Note: 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 .mxo external inside ~/Documents/Max 9/Packages/ipt_tilde/externals/

📜 License and Fundings

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.

About

A Max/MSP external object for real-time instrumental playing technique recognition.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors