Demonstrations and tools for music21.
Project description
music21-demos
Demonstrations for music21 created by Cuthbert has his lab (cuthbertLab)
Copyright © 2004-2026 Michael Scott Asato Cuthbert, released under a BSD (3-clause) license.
Many of these Demonstrations were formerly in the music21 package.
They may require external packages to make them work, and some may
require editing to make them work with the latest version
of music21. I will attempt to update them with each new major release of music21, but there
is no guarantee that they will work with any development versions along the way.
Many thanks to Christopher Ariza, Beth Hadley, Jordi Bartolomé, Daniel Manesh, Hugh Zabriskie, Jackie Rogoff, Lars Johnson, Varun Ramaswamy, Nina C. Young, Thomas Carr, Jose Cabal-Ugaz, Lisa D. Friedland, Norman Schmidt, and many others who contributed to this project.
Historical notes
Older versions of this repo included bhadley/mrjobaws/, a demonstration of
using mrjob to run music21 feature
extraction as a Hadoop MapReduce job on Amazon EMR. mrjob has been
unmaintained since 2020 and the EMR workflow is no longer practical, so the
code has been removed. It can still be found in git history at commit
311cbff
under bhadley/mrjobaws/.
Older versions also included webapps/ (formerly music21.webapps), a
demonstration of building webserver-based music21 tools. It depended on a
version of NoteFlight that has not been available for over ten years, so the
code has been removed. It can still be found in git history at commit
311cbff
under webapps/. The project is described in:
Cuthbert, Michael Scott, Beth Hadley, Lars Johnson, and Christopher Reyes. "Interoperable Digital Musicology Research via music21 Web Applications," Proceedings of the Joint CLARIN-D/DARIAH Workshop, Service-oriented Architectures (SOAs) for the Humanities: Solutions and Impacts at the Digital Humanities Conference, Hamburg, Germany, July 2012.
PDF available at trecento.com.
Running the tests
This project uses uv and pytest. From the
repository root:
# install (creates .venv/ with music21 >= 10 and dev dependencies)
uv sync
# run the full test + doctest suite
uv run pytest --doctest-modules music21_tools/
To test a single module:
uv run pytest --doctest-modules music21_tools/theoryAnalysis/theoryAnalyzer.py
Contact
Michael Scott Asato Cuthbert — michael.asato.cuthbert@gmail.com — trecento.com — GitHub: @mscuthbert / cuthbertLab.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file music21_tools-10.1.tar.gz.
File metadata
- Download URL: music21_tools-10.1.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b19124dcf4a92a203ed35cca53b5ba49bbc619403ca442c6c2ac568f8e88509
|
|
| MD5 |
981272d9e5daf0ec03df2cc3680e19e0
|
|
| BLAKE2b-256 |
1fbd55cf2e6855f6fdbc631d7fce560720c4820caf396927e5ada29cd9578d7f
|
File details
Details for the file music21_tools-10.1-py3-none-any.whl.
File metadata
- Download URL: music21_tools-10.1-py3-none-any.whl
- Upload date:
- Size: 977.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2441fd790f0acda9118fc73fa937a183a3e9034286588d25b99c8359766d247e
|
|
| MD5 |
008d5f81a64daaeceb9ae9036b2f0a0a
|
|
| BLAKE2b-256 |
b025fadc67f3727d457dbe00c6c535aa875e774cddef42b830d593d532bc307c
|