May 9, 2012 9:25 am
Music21 speedups in Chordify and with PyPy
The biggest recurring complaint about using music21 is the speed at working with large scores. I wanted to point out two resources that are available in the latest SVN releases. Both will appear in the next public release, but for some people you might want to try it already:
- Some parts of chordify move from O(m^2) time to O(m) where m is the number of measures in a part – for very large scores, this will mean a huge speedup. (usually noticeable after about 100 measures)
- Music21 works with the rewrite of python called PyPy – which is a sped-up version of python 2.7. The only parts that don’t work are plotting algorithms, since matplotlib and numpy aren’t yet ported to pypy. Most operations will see about a halving of the speed – the exception is in parsing files a second and subsequent time (however, the first time is quite a bit faster).
Work on running music21 on multiple systems is proceeding, so we should be able to demonstrate that soon.
Thanks for the patience. My motto is “make it work first, make it faster later.” which I sometimes translate as, “we’ve waited 200 years to have a tool that can analyze thousands of works at once; we can wait another 20 minutes.” but that doesn’t mean we’re not working all the time to make music21 run as fast as we can.
Apr 27, 2012 1:27 pm
R. Michael Winters of McGill University has written up a short summary of some of the uses of music21 on his website. Thanks to R. Michael for his work and the shoutout!
Music21 was also a part of Florence Levé et al.'s work on rhythm extraction on polyphonic music in ISMIR 2011. See the paper here. It also helped enable Patrick Mennen's thesis "Pattern Recognition and Machine Learning based on Musical Information". Thanks also to Andrew Hankinson et al. for the shoutout in their paper Creating a large-scale searchable digital collection from printed music materials and to David Lewis et al. in their paper "Tools for Music Scholarship and their Interactions: A Case Study".
We're also thankful for the writeup about music21 by Douglas Mason in his article for the Department of Energy (p. 5) which won a 2011 DOE Emerging Writer Essay award. Douglas will be presenting aspects of music21 for data visualization at SIGGRAPH.
A new version of music21 was recently released. For the first time, regular and noCorpus versions are available (the latter for embedding in systems with low memory space or for fully LGPL'd needs). Download it at Google Code.
Feb 25, 2012 10:11 am

I'm "Sara Does Science"'s "Science Crush Friday" for the week. Includes the wonderful (if fanciful) line "Michael Scott Cuthbert is music’s Indiana Jones" and the description "Not a bad looking guy at all! And he kind of reminds me of Ross from Friends, but the smile makes him seem less neurotic." For the record, I am equally neurotic, just in different ways.
Thanks Sara!
Feb 24, 2012 8:13 am
MIT Tech Article on Michael Cuthbert
Derek Chang of the MIT Tech published an interview with me in today's issue. Read it here. The opening appears below:
$500,000 grant for music research at MIT
Michael Scott Cuthbert, associate professor of music, was recently awarded a $500,000 grant from the Digging into Data consortium. This grant will support his work in using computational techniques to study changes in Western musical style. He has received $175,000 specifically for his music21 project . On Thursday, Cuthbert sat with The Tech to discuss his work with music21 and his passion for combining computational techniques with music.
The Tech: Many of us with a musical background must be interested in your computational work and how it applies to music. What is the motivation behind your project?
Cuthbert: One of the main ways artists analyze art work or music is examining a piece very carefully, from all possible dimensions. But it’s really hard to put the work into the context of the time. How is the piece representative of its time period, or how does it break the mold? It takes us a very long time to look at one piece. In contrast, computers are good at getting an overview of a particular problem. For example, what patterns exist in how chords progress from one to another? Is the piece being looked at representative of the music grammar for the period? (...read more...)
Feb 11, 2012 6:39 pm
The music21 Theory Analyzer, currently under development by the music21 team at MIT, has the potential to transform the way students and teachers approach music theory education. The package provides analysis tools to identify common counterpoint errors, such as parallel fifths and improper resolutions, in a student’s assignment. It can then display the results directly to the student, or send an email to the professor containing the results coupled with an annotated version of the student’s assignment.
In nearly all courses of introductory music theory, students are taught the rules of common-practice contrapuntal composition. In 1725 Johann Joseph Fux published what is often considered the first “textbook” on composition, Gradus ad Parnassum, in which he outlined the many rules of counterpoint according to the Palestrina style. Surprisingly, the approach to teaching music theory has not changed much since its publication. Students learn the rules by reading a textbook, listening to musical excerpts, and studying with their teacher. They are asked to complete written compositional assignments in which they adhere to these strict rules. The teacher then must go through the assignments, checking for each rule. The entire process is fairly laborious and tedious, which can often be discouraging for both student and teacher.
The music21 Theory Analyzer utilizes the python-based music21 toolkit to transform the way students and teachers approach common-practice music theory education. The package pre-grades student assignments by analyzing them for common practice errors, checking the accuracy of textual responses, and returning results to the student’s professor.
The project began at the Boston Music HackDay in November 2011 where a small proof-of-concept music theory checker site was developed. Since then, the project has expanded in functionality and features. The curriculum of the package is specifically tailored to one of the most commonly used books to study music theory, The Musician’s Guide to Theory and Analysis, published by W.W. Norton & Company, Inc.
The student reads instructions regarding the exercise, and completes the assignment, often involving part-writing above or below a cantus in addition to several textual components such as labeling harmonic intervals. The student may then submit the assignment to their professor via email from within the plugin.
The professor then receives an email with the results of the music21 theory analyzer. This email contains a list of the comments generated by the analysis regarding the student’s assignment.
The package’s modular design allows different assignments to be easily analyzed for different subsets of music theory rules. For example, a typical novice-level part-writing assignment might check for basic counterpoint errors, such as parallel motion by fifth or octave and improper resolutions of dissonant harmonic intervals. The assignment would only be checked for counterpoint rules learned for that assignment, disregarding more complex rules taught later in the course. The package can also analyze textual input submitted by the student, dynamically determining accuracy by comparing the responses to the notes the student actually wrote.
Additionally, the results email includes an attachment with an annotated version of the student’s exercise. The score is colored according to the errors identified, allowing the professor to more easily locate the students’ mistakes.The package is currently under development, although we welcome comments and suggestions. Future plans include expanding the analysis routines to include a larger suite of music theory concepts. We are also investigating additional interface options beyond MuseScore. This package is being developed as a UROP project by MIT undergraduates Beth Hadley and Lars Johnson, with support from the lab’s principal investigator Michael Scott Cuthbert, lead programmer Chris Ariza, and fellow UROP student Jose Cabal-Ugaz.
For older stories visit the Prolatio (general items) or music21 (computational musicology) blogs.
Michael Scott Cuthbert (cuthbert [at] mit.edu) is Associate Professor of Music and Homer A. Burnell Career Development Professor at M.I.T.
Cuthbert received his A.B. summa cum laude, A.M. and Ph.D. degrees from Harvard University. He spent 2004-05 at the American Academy as a Rome Prize winner in Medieval Studies and 2009-10 as Fellow at Harvard's Villa I Tatti Center for Italian Renaissance Studies in Florence. Prior to coming to MIT, Cuthbert was Visiting Assistant Professor on the faculties of Smith and Mount Holyoke Colleges. His teaching includes early music, music since 1900, and music theory.
Cuthbert has worked extensively on computer-aided musical analysis, fourteenth-century music, and the music of the past forty years. He is creator and principal investigator of the music21 project. He has lectured and published on fragments and palimpsests of the late Middle Ages, set analysis of Sub-Saharan African Rhythm, Minimalism, and the music of John Zorn.
Cuthbert is writing a book on Italian sacred music from the arrival of the Black Death to the end of the Great Schism.
| Download what is almost certainly an out-of-date C.V. here (last modified January 2011) 2010 Bologna Q15: the making and remaking of a musical manuscript, review for Notes 66.3 (March), pp. 656-60. 2009 "Palimpsests, Sketches, and Extracts: The Organization and Compositions of Seville 5-2-25," L’Ars Nova Italiana del Trecento 7, pp. 57–78. Der Mensural Codex St. Emmeram: Faksimile der Handschift Clm 14274 der Bayerischen Staatsbibliothek München, review for Notes 65.4 (June), pp. 252–4. 2008 2007 2006
"Generalized Set Analysis and Sub-Saharan African Rhythm? Evaluating and Expanding the Theories of Willie Anku," Journal of New Music Research (formerly Interface) 35.3, pp. 211–19. [.pdf] 2005 2001 Copyright 2010-11, Michael Scott Cuthbert. Web design by M.S.C. | Compositions: including Vasarely Patterns for the Bang on a Can All-Stars. Fonts for musicology: Ciconia (14th/15th c.) and ClarFinger (clarinet music). In my copious spare time as a junior faculty member on tenure track, I do web design and programming consulting for the National Bureau of Economic Research. Lectures on the webenChanting: Musical Artifacts in Unlikely Places, lecture March 3, 2009 Ambiguity, Process, and Information Content in Minimal Music, podcast of a lecture to Comparative Media Studies at M.I.T. The Music of John Dunstaple, iTunes podcast from a pre-concert lecture for Blue Heron Renaissance Choir. Just for fun...Biblioteca Cuthbertiana online catalog and library description Mondrian meets Finding Aids in a map of books in my former apartment. Numeric Deathmatch, a game I coded that was taught to me by Jon Wild. More fun in person, but the web interface encourages trashtalking. Javascript Timer, especially useful for timing Rubik's Cube times. Musicology Buzzword Bingo, useful for AMS meetings (requires Bach and Futura fonts) Automatic New Musicology Paper Generator based on the Dada engine The Musicology of the Fallows Catalog Pre-Facebook image archive (not indexed by Google) O L D E R web pages (may require Netscape 4.0 or older to work) |




