Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

XMM — Probabilistic Models for Continuous Motion Recognition and Mapping

XMM is a portable, cross-platform C++ library that implements Gaussian Mixture Models and Hidden Markov Models for recognition and regression. The XMM library was developed for movement interaction in creative applications and implements an interactive machine learning workflow with fast training and continuous, real-time inference.

Major Update! [Sept. 2016]

We just updated XMM to the newest API version!

This version is not compatible with the initial API, which is still available on a separate branch:


Jules Francoise:


This code has been initially authored by Jules Francoise during his PhD thesis, supervised by Frederic Bevilacqua, in the Sound Music Movement Interaction team of the STMS Lab - IRCAM - CNRS - UPMC (2011-2015).


Copyright (C) 2015 UPMC, Ircam-Centre Pompidou.


This project is released under the GPLv3 license. For commercial applications, a proprietary license is available upon request to Frederick Rousseau

XMM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

XMM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with XMM. If not, see

Citing this work

If you use this code for research purposes, please cite one of the following publications:

  • J. Francoise, N. Schnell, R. Borghesi, and F. Bevilacqua, Probabilistic Models for Designing Motion and Sound Relationships. In Proceedings of the 2014 International Conference on New Interfaces for Musical Expression, NIME’14, London, UK, 2014.
  • J. Francoise, N. Schnell, and F. Bevilacqua, A Multimodal Probabilistic Model for Gesture-based Control of Sound Synthesis. In Proceedings of the 21st ACM international conference on Multimedia (MM’13), Barcelona, Spain, 2013.


The library depends on jsoncpp for JSON file I/O. The library is distributed with this softare. The units tests rely on the Catch testing framework


The full documentation is available on Github Pages: