MGT-python
The Musical Gestures Toolbox for Python (musicalgestures) is a collection of tools for visualising and analysing motion in video recordings, along with the accompanying sound. It was developed for research on music-related body motion, but it works on any video or audio file.
Installation
pip install musicalgestures
You also need FFmpeg on your system; everything else installs automatically. The installation guide covers optional extras such as posture estimation.
Quickstart
import musicalgestures as mg
v = mg.MgVideo(mg.examples.dance) # or your own file: mg.MgVideo('dance.mp4')
v.motiongrams().show()
This draws motiongrams: images that trace where motion happens in the frame over time, like a spectrogram for the body. Analysis methods return result objects, and .show() displays them.
You can also try the toolbox in the browser, with no installation:
Documentation
- Documentation site — installation, user guide, and API reference
- Wiki — examples and discussion of the methods
- Contributing — how to report issues and submit changes
The four toolboxes
As the toolbox has grown, we split it into four related packages, each released separately on PyPI. They are complementary but focus on different things:
| you have | use | it gives you |
|---|---|---|
| a video file, with or without sound | musicalgestures (this one) | motiongrams, videograms, motion analysis from video |
| a motion time series from markers or sensors | micromotion | quantity of motion (0.2–5 Hz), posture, balance |
| environmental audio recordings — mono, stereo, binaural or ambisonic | ambiscape | level, spectrum, space, time, sources |
| long music recordings (concerts or in environments) | musiscape | many tracks compared at a glance |
The toolboxes are designed to call relevant functions between them using a single implementation, so results don't depend on which package you called.
Citing
If you use this toolbox in your research, please cite this article:
Laczkó, B., & Jensenius, A. R. (2021). Reflections on the Development of the Musical Gestures Toolbox for Python. Proceedings of the Nordic Sound and Music Computing Conference, Copenhagen.
If you want to cite the toolbox itself, use the Zenodo CONCEPT DOI, which always resolves to the newest version:
Jensenius, A. R., Laczkó, B., Poutaraud, J., Widmer, M., Furmyr, F., Guo, J., Clim, A., Upham, F., & von Arnim, H. A. (2026). Musical Gestures Toolbox for Python [Computer software]. Zenodo https://doi.org/10.5281/zenodo.21965729
Where the exact behaviour matters, cite the version you ran.
Credits
This toolbox builds on the Musical Gestures Toolbox for Matlab, which again builds on the Musical Gestures Toolbox for Max. Many researchers and research assistants have helped its development (both directly and indirectly) over the years; see the contributor list on Zenodo for details.
The software is developed at the fourMs lab, RITMO Centre for Interdisciplinary Studies in Rhythm, Time and Motion, University of Oslo.
License
This toolbox is released under the GNU General Public License 3.0.
Metadata
Release files for musicalgestures 1.32.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| musicalgestures-1.32.0.tar.gz | 26.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| musicalgestures-1.32.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.5 MB
Release files / musicalgestures-1.32.0.tar.gz
| Download URL | musicalgestures-1.32.0.tar.gz |
|---|---|
| Size | 26.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
86a8a8518e9227fe523b3a19645dbcc68f2e7d92564770e2ba8ca385e1367384
|
|
BLAKE2b-256 checksum How to use checksums |
14bf9ed32068ad1c96bf1d6626a1c40f100663b5c45de94a4f123e0d206fa32d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / musicalgestures-1.32.0-py3-none-any.whl
| Download URL | musicalgestures-1.32.0-py3-none-any.whl |
|---|---|
| Size | 26.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
642dedf4f2562e2cb06c282785f48ce5a71e7288572e36a137a1fe842cb47d38
|
|
BLAKE2b-256 checksum How to use checksums |
352a63ccb8cff5f97d5ae665edd0c42990179da63daf66bcac734994bf5fe613
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency log