Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 7 additions & 12 deletions dist/dist.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
This takes a while and runs single core, and then almost always needs code patches
so allocate time (2 min on M4). Start working on the announcement while it's running.


4. run test/warningMultiprocessTest.py for lowest and highest Py version -- fix all warnings!
5. run `from music21.test import treeYield
and then run `treeYield.find_all_non_hashable_m21objects()` and check that the set returned is
Expand All @@ -38,24 +37,19 @@

7. run documentation/make.py clean (skip on minor version changes) -- you may need to make a
documentation/build directory first.
8. run documentation/make.py linkcheck [*] - missing http://www.musicxml.org/dtds/partwise.dtd
and code-of-conduct links are both okay to fail. The points about
"more than one target found for cross-reference 'Direction'"
are known bugs in Sphinx (when the same named Enum appears in different modules)
and we can't fix.
StackOverflow seems also to be preventing linkcheck -- check manually every once in
a while, but looking good May 2025.
Ignore the errors at the end if everything looks good.
8. run documentation/make.py linkcheck [*]
some persistent errors that actually work are in the conf.py file under linkcheck_ignore
9. run documentation/make.py [*]

[*] you will need sphinx, Jupyter (pip or easy_install), markdown, and pandoc (.dmg) installed

10. move music21 documentation/build/html to music21.org/music21docs/
via Amazon S3 (contact MSAC for authentication if need be)
via Amazon S3 (contact MSAC for authentication if need be) (MSAC has a program:
combine_sync/deploy.py that will do this automatically.

11. zip up documentation/build/html and get ready to upload/delete it (you can put on your
desktop or wherever you like).
Rename to music21.v.9.5.0-docs.zip (skip for Alpha/Beta)
Rename to music21-9.5.0-docs.zip (skip for Alpha/Beta)

12. From the music21 main folder (not subfolder) run "hatch build" --
requires hatch to be installed "pip install hatch" -- brew version of hatch
Expand All @@ -64,7 +58,8 @@
This builds the dist/music21-9.3.0.tar.gz and dist/music21-9.3.0-py3-none-any.whl
files. That used to be what *this* script did, but now hatch does it better!

13. Run this (dist.py) file: it builds the no-corpus version of music21. (need Python 3.12 or higher)
13. Run this (dist.py) file: it builds the no-corpus version of music21.
(need Python 3.12 or higher)
DO NOT RUN THIS ON A PC or the Mac .tar.gz might have an incorrect permission if you do.

14. PR and Commit to GitHub at this point w/ commit comment of the new version,
Expand Down
4 changes: 2 additions & 2 deletions documentation/source/about/about.rst
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ working on other music and technology projects, in particular:
.. _David Huron: https://music.osu.edu/people/david-huron
.. _Humdrum: https://www.humdrum.org
.. _Michael Good: https://www.musicxml.com
.. _Center for Computer-Assisted Research in the Humanities: http://www.ccarh.org/
.. _Center for Computer-Assisted Research in the Humanities: https://www.ccarh.org/

Contributors
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -146,7 +146,7 @@ to this project. Their contributions and generosity are greatly appreciated.
.. _Laura E. Conrad: http://www.serpentpublications.org/drupal7/
.. _MuseScore: https://musescore.com/
.. _Bryen Travis: http://www.bachcentral.com/
.. _Ewa Dahlig-Turek: http://www.esac-data.org
.. _Ewa Dahlig-Turek: https://www.esac-data.org
.. _Seymour Shlien: https://ifdo.ca/~seymour/runabc/esac/esacdatabase.html
.. _Manuel Op de Coul: https://www.huygens-fokker.org/scala
.. _John Chambers: http://trillian.mit.edu/~jc/music/book
Expand Down
21 changes: 9 additions & 12 deletions documentation/source/about/applications.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,54 +16,55 @@ The following papers and publications make extensive use of `music21`. Start her
Cuthbert, Michael Scott Cuthbert and Christopher Ariza. 2010. "`music21`: A
Toolkit for Computer-Aided Musicology and Symbolic Music Data." In
*Proceedings of the International Society for Music Information Retrieval*.
https://www.academia.edu/243058/music21_A_Toolkit_for_Computer_Aided_Musicology_and_Symbolic_Music_Data
https://www.trecento.com/research/Cuthbert_Ariza_Music21_ISMIR_2010.pdf


Then continue with:

Church, Maura and Michael Scott Cuthbert. 2014. "Improving Rhythmic
Transcriptions via Probability Models Applied Post-OMR." In *Proceedings of the
International Society for Music Information Retrieval*.
https://www.academia.edu/7709124/Improving_Rhythmic_Transcriptions_via_Probability_Models_Applied_Post_OMR
https://www.trecento.com/research/Church_Cuthbert_OMR.pdf

Cuthbert, Michael Scott, Beth Hadley, Lars Johnson, and Christopher Reyes. 2012.
"Interoperable Digital Musicology Research via `music21` Web Applications."
From *Joint CLARIN-D/DARIAH Workshop at Digital Humanities Conference Hamburg*.
https://www.academia.edu/1787946/Interoperable_Digital_Musicology_Research_via_music21_Web_Applications
https://www.trecento.com/research/Cuthbert_Hadley_Johnson_Reyes_Music21_SOA.pdf

Cuthbert, Michael Scott, Chris Ariza, Jose Cabal-Ugaz, Beth Hadley, and Neena Parikh. 2011.
"Hidden Beyond MIDI’s Reach:Feature Extraction and Machine Learning with Rich Symbolic Formats
in `music21`" In *Proceedings of the Neural Information Processing Systems Conference*.
https://www.academia.edu/1256513/Hidden_Beyond_MIDI_s_Reach_Feature_Extraction_and_Machine_Learning_with_Rich_Symbolic_Formats_in_music21
https://www.trecento.com/research/Cuthbert_Ariza_Cabal-Ugaz_Hadley_Parikh-Hidden-NIPS2011.pdf

Cuthbert, Michael Scott, Chris Ariza, and Lisa D. Friedland. 2011. "Feature Extraction and
Machine Learning on Symbolic Music using the `music21` Toolkit" In
*Proceedings of the International Symposium on Music Information Retrieval*
https://www.academia.edu/1256514/Feature_Extraction_and_Machine_Learning_on_Symbolic_Music_using_the_music21_Toolkit
https://www.trecento.com/research/Cuthbert_Ariza_Friedland_Feature-Extraction_ISMIR_2011.pdf

Jordi Barthomé Guillen and Michael Scott Cuthbert. 2011. "Score Following from
Inaccurate Score and Audio Data using OMR and `music21`." In *Proceedings of the Neural
Information Processing Systems Conference (Music and Machine Learning, Workshop 4*.
https://www.academia.edu/1256512/Score_Following_from_Inaccurate_Score_and_Audio_Data_using_OMR_and_music21
https://www.trecento.com/research/Bartolome-Guillen_Cuthbert_ScoreFollower.pdf

Ariza, C. and Michael Scott Cuthbert. 2011. "The `music21` Stream: A New Object
Model for Representing, Filtering, and Transforming Symbolic Musical
Structures." In *Proceedings of the International Computer Music Conference*.
San Francisco: International Computer Music Association, pp. 61-68.
Available online at https://www.flexatone.net/static/docs/music21Stream.pdf
and https://www.trecento.com/research/Ariza_Cuthbert_Stream_ICMC_2011.pdf

Ariza, C. and Michael Scott Cuthbert. 2011. "Analytical and Compositional
Applications of a Network-Based Scale Model in `music21`." In *Proceedings of the
International Computer Music Conference*. San Francisco: International Computer
Music Association, pp. 701-708. Available online at
https://www.flexatone.net/static/docs/scaleNetwork.pdf
and https://www.trecento.com/research/Ariza_Cuthbert_Scale_ICMC_2011.pdf

Ariza, C. and Michael Scott Cuthbert. 2010. "Modeling Beats, Accents, Beams, and
Time Signatures Hierarchically with `music21` Meter Objects." In *Proceedings of the
International Computer Music Conference*. San Francisco: International Computer Music
Association. 216-223. Available online at
https://www.academia.edu/243059/Modeling_Beats_Accents_Beams_and_Time_Signatures_Hierarchically_with_music21_Meter_Objects

https://www.trecento.com/research/Ariza_Cuthbert_Meter_ICMC_2010.pdf

Future Goals and Potential Applications
---------------------------------------------------
Expand Down Expand Up @@ -93,7 +94,3 @@ interesting suggestions. To contact the authors, visit :ref:`about`.
- Identify potential clefs for fragmentary Renaissance and Medieval pieces that are
missing their clefs. (Use their staff-lines and minimizing number of melodic and
harmonic tritones).




12 changes: 12 additions & 0 deletions documentation/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,18 @@
# latex_domain_indices = True


# -- Options for linkcheck -----------------------------------------------------
# requires downloading whole document, but also many anchors only load after
# javascript these days.
linkcheck_anchors = False

linkcheck_ignore = [
r'http://www.musicxml.org/dtds/partwise.dtd', # dtd is not a URL.
r'https://easyabc.sourceforge.net', # works 2025-10
# does not find anchor immediately. should wait longer
r'https://github.com/cuthbertLab/music21/blob/master/README.md#community-code-of-conduct',
]

# -- Options for manual page output --------------------------------------------

# One entry per manual page. List of tuples
Expand Down
2 changes: 1 addition & 1 deletion music21/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
'''
from __future__ import annotations

__version__ = '9.7.2a4'
__version__ = '9.9.0'

def get_version_tuple(vv):
v = vv.split('.')
Expand Down
2 changes: 1 addition & 1 deletion music21/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<class 'music21.base.Music21Object'>

>>> music21.VERSION_STR
'9.7.2a4'
'9.9.0'

Alternatively, after doing a complete import, these classes are available
under the module "base":
Expand Down
Binary file modified music21/corpus/_metadataCache/core.p.gz
Binary file not shown.
3 changes: 1 addition & 2 deletions music21/corpus/essenFolksong/license.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
# Name: corpus/essenFolksong/license.txt
# Purpose: The music21 creators assume no copyright or change in licensing
# for content distributed in the corpus.
#
#-------------------------------------------------------------------------------

The legal status of the Essen folksong database is unclear, as the data has been input by many people.
Expand All @@ -13,7 +12,7 @@ The project was taken over by Prof. AMU Dr. Habil. Ewa Dahlig-Turek, who has giv
for non-commercial distribution and use of these files in music21.

Information on the original EsAC encodings can be found here:
http://www.esac-data.org
https://www.esac-data.org

The files distributed with music21 are ABC encodings, created by Seymour Schlien, and
distributed with music21 by his permission.
Expand Down
4 changes: 2 additions & 2 deletions music21/musedata/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@
environLocal = environment.Environment('musedata')

# for implementation
# see http://www.ccarh.org/publications/books/beyondmidi/online/musedata/
# and http://www.ccarh.org/publications/books/beyondmidi/online/musedata/record-organization/
# see https://www.ccarh.org/publications/books/beyondmidi/online/musedata/
# and https://www.ccarh.org/publications/books/beyondmidi/online/musedata/record-organization/


# ------------------------------------------------------------------------------
Expand Down