music21 is a Toolkit for Computational Musicology
Clone or download
a-papadopoulos and mscuthbert Abc key (#336)
* Add test for abc key signature

* Closes #333

Math key name in decreasing prefix size, and assume major mode by default

* Fix special case of highland bagpipes

* Missed one doctest
Latest commit e694d1b Oct 18, 2018


music21 -- A Toolkit for Computational Musicology

Copyright © 2006-2018, Michael Scott Cuthbert and cuthbertLab

For more information, visit: or

And to install, see:

Music21 runs on Python 3.4+. Version 4 was the last version to support Python 2

Released under either the BSD (3-clause) or GNU LGPL license according to your choice. See LICENSE. Externally provided software (including the MIT licensed Lilypond/MusicXML test Suite) and music encoding in the corpus may have different licenses. A no-corpus version of music21 is available also on GitHub

Build Status Coverage Status

Mailing list


Community Code of Conduct

Music21 encourages contributions, discussions, and usage from all people interested in music and computers. This encouragement extends to all people regardless of (among other aspects) gender, race, sexual orientation, disability, religion, appearance, veteran status, gender identity, socioeconomic status, or nationality.

Members of the community will strive to be friendly, patient, and welcoming, especially of viewpoints and experiences different from our own. We reject harassment and contributions (in mail, comments, or code) that belittle individuals or groups of people.

We ask all members of the community to be mindful particularly about assumptions of the gender of users (choice of pronouns in comments and code). We recognize that members sometimes make mistakes and will, in general, accept sincere regrets for such cases. Blatant or repeated violations of the code will result in the removal of the contributor’s participation in the community.

The maintainers of music21 and associated sites will commit themselves to enforcing this code of conduct. Users who notice violations, including instances of abuse, harassment, or otherwise unacceptable behavior are requested to contact Maintainers will respect confidentiality with regards to reports.