# cuthbertLab/music21

music21: a Toolkit for Computer-Aided Musical Analysis and Computational Musicology

Repository: https://github.com/cuthbertLab/music21
Canonical: https://ross.abutalabs.com/products/music21
Homepage: https://www.music21.org/music21docs/
Language: Python
License: BSD-3-Clause
License Family: permissive
Last push: 2026-08-22T01:57:02+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 89, longevity 100
- inputs: {"age_days": 4685, "days_push": 12, "days_rel": 78, "gap_med": 27, "n_releases_24m": 10}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2570, forks 453 (observed 2026-08-28T04:07:01.355962+00:00)

## What it is
music21 is a Python toolkit for computer-aided musical analysis and computational musicology, providing rich object models for notes, chords, streams, and scores. It reads and writes formats like MusicXML, MIDI, ABC, and MEI, and includes analysis tools, a built-in corpus, and plotting capabilities.

## Use cases
- analyze musical scores programmatically in python
- convert between MusicXML, MIDI, and ABC files
- do roman numeral harmonic analysis of a score
- search a corpus of Bach chorales for chord progressions
- parse a MusicXML file and extract pitches and rhythms
- generate music notation from code
- study music theory computationally for research

## When to choose
- you need deep symbolic music analysis rather than just playback
- you work with Western notation formats like MusicXML or MIDI in Python
- you're doing musicology research, teaching, or corpus studies
- you want a mature, well-documented library with an active community

## When to avoid
- you need real-time audio synthesis or DAW functionality
- you want a graphical notation editor rather than a programming library
- you primarily work with audio waveforms rather than symbolic scores
- you need non-Western notation systems with limited support in music21

## Facets
- artifact type: library
- maturity: active
- function: parser, data-visualization, nlp, sdk, developer-tools
- domain: audio, education, data-science
- platform: python, cross-platform, windows
- tags: music-analysis, musicology, musicxml, midi, score-processing, computational-musicology, music-theory, corpus, natural-language-processing, macos, linux

## Member repositories
- cuthbertLab/music21 (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:01.355962+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:23:19.154151+00:00, confidence not recorded.
  - readme: https://github.com/cuthbertLab/music21 (fetched 2026-08-28T04:07:01.355962+00:00, sha e92412ad11ed)
  - homepage: https://www.music21.org/music21docs/ (fetched 2026-08-29T10:06:00.227746+00:00, sha bf9b50ea844f)
  - site_page: https://music21.org/music21docs/about/index.html (fetched 2026-08-29T10:06:00.245444+00:00, sha 8500691493df)
  - site_page: https://music21.org/music21docs/genindex.html (fetched 2026-08-29T10:06:00.237556+00:00, sha cad963b758d7)
  - site_page: https://music21.org/music21docs/py-modindex.html (fetched 2026-08-29T10:06:00.243498+00:00, sha 17ea4a54dcab)
  - site_page: https://music21.org/music21docs/usersGuide/index.html (fetched 2026-08-29T10:06:00.247223+00:00, sha c8ba6f2f3538)
  - site_page: https://music21.org/music21docs/moduleReference/index.html (fetched 2026-08-29T10:06:00.248922+00:00, sha a8724a298677)
  - site_page: https://music21.org/music21docs/installing/index.html (fetched 2026-08-29T10:06:00.250581+00:00, sha 84e9baa0cf52)
  - site_page: https://music21.org/music21docs/developerReference/index.html (fetched 2026-08-29T10:06:00.252200+00:00, sha b369c10f10b5)
  - site_page: https://music21.org/music21docs/testsAndInProgress/index.html (fetched 2026-08-29T10:06:00.253825+00:00, sha 086b97233d3e)
- Data as of 2026-08-30T08:39:29.467469+00:00.
