Monday, October 6, 2025

Music21 v9.9 released

Music21 v9.9 has been released.  It primarily fixes bugs that have been identified (and often fixed) by the community and adds enhancements from community contributions.

Update with 

pip install -u music21

Full change list: https://github.com/cuthbertLab/music21/releases/tag/v9.9.0

Highlights:

* Support Dorico as MusicXML reader

* music21.text.assembleLyrics: support custom word separator

* Add Docker and github codespace support

* Modernization of Lilypond syntax

* Unofficial support for Python 3.14 (to be released tomorrow)

* Stream.template(removeAll=True, exemptFromRemove={dynamic.Dynamics})

* UserSettings.items() and .values()

Bug fixes:

Lilypond support in Windows, spanner support in partsToVoices, RepeatBrackets import properly from musicxml for pianos, etc.

Improved docs, fixed links etc.

Next release will begin the v10 series with some backwards incompatibilities and new features.  I am hoping to replace the core Stream search with sortedcontainers which should give substantial speedups for large scores while being the same speed for faster for small scores.

As always thanks to the Seaver Institute, the National Endowment for the Humanities, and MIT SHASS for their past support of music21 and my wife Elina Hamilton for the current support <3.

Thursday, May 22, 2025

Music21 9.7 Released

Music21 v9.7 is an incremental, but still substantial release focusing mainly on import and export quality and speed. 

  • MIDI Lyrics are improved 
  • PedalMarks are added (with more to come)
  • Substantial new tools for FretBend and other tablature-based work. 
  • numpy 2.0–2.2 is now supported, which makes it possible to run music21 on Windows with Python 3.13 without a compiler -- this was the main reason for moving up the release by a month! 
 An update to the CONTRIBUTING guidelines -- all AI contributions must be explicitly mentioned. AI-generated contributions (whether properly declared or suspected) that do not pass tests will be closed without comment -- see Simon Williamson's blog about how AI is shifting the coding burden from programmers to reviewers for context. 

Thanks to @gregchapman-dev, @adhooge, @TimFelixBeyer, @jacobtylerwalls and many others for contributions to code.  And new, special thanks to Anne G. Hamill who has been helping very much with the music21list through some very difficult Google Groups times!

For detailed information, see https://github.com/cuthbertLab/music21/releases/tag/v9.7.0