[Smt-talk] RN analyzers

Michael Scott Cuthbert cuthbert at MIT.EDU
Fri Feb 24 12:00:49 PST 2012

Dear Dmitri and List,

As far as I know, there really aren't any other computer roman numeral
analyses that can run on the "messy" data of piano sonatas, string quartets,
etc. so your student's work is probably the set "standard" now for beating.

For those who aren't aware of it, music21 (http://mit.edu/music21/) is an
open source set of python tools for computational music theory and
musicology that works with a variety of formats (musicxml, midi, humdrum,
musedata, etc. and both Dmitri and the Temperly/de Clercq roman numeral
formats) to simplify many aspects of computer-aided musical analysis.  The
toolkit includes graphical plotting libraries, key analyses (Krumhansl
probe-tone among others), beat strength analyses, "chordify" (salami
vertical slicing of a score), etc.  The project is very open to
contributions by others and I hope that as other people come up with good
algorithms for performing central tasks that they will be willing to
contribute back their code for others to use on their data (Dmitri --
contact me off list about integrating any speed ups; if they're general
purpose and don't slow down other types of analysis, we'll gladly include


---                                             ---
Michael Scott Cuthbert
   Associate Professor of Music
   Homer A. Burnell Career Development Professor, M.I.T.

4-246 Music and Theater Arts                +1-413-575-6024
77 Massachusetts Ave.                        cuthbert at mit.edu 
Cambridge, MA 02139                 http://www.trecento.com 

-----Original Message-----
From: Dmitri Tymoczko [mailto:dmitri at princeton.edu] 
Sent: Wednesday, February 22, 2012 21:23
To: Kris Shaffer
Cc: smt smt-talk; Michael Scott Cuthbert
Subject: Re: [Smt-talk] RN analyzers

Hi Kris,

Yes, we're definitely using Music21, but building on top of it.  (I think my
guy had to rewrite some of the Music21 code to get it to run faster; Myke,
do you want to include his work when he's done?)  Our goal is to get
something that is as close to a human analysis as possible -- including
modulations, applied chords, passing tones, implied notes, and so on. The
whole freshman-theory shebang.  My understanding is that Music21 isn't
really at that level yet.

We've got my big corpora of sonata analyses, so we can use that to "score"
the program.  What I'm wondering is what else is out there -- so we can know
how far we have to go before our program is as good as, or even better, than
the other programs that are out there.

In any case, I'm certain that our program is better than Music21 raw, since
that's where we started ...


On Feb 22, 2012, at 9:09 PM, Kris Shaffer wrote:

> Dmitri,
> Have you looked at music21? (mit.edu/music21) Once the music21 
> framework is installed, the following python script takes a Mozart 
> quartet movement (in musicXML format) from the included corpus, 
> converts it to a series of salami-slice chords, and returns both Roman 
> numeral and common chord name for each new verticality. (Obviously, it 
> can be augmented to include timing information, etc.)
> from music21 import stream
> from music21 import chord
> from music21 import key
> from music21 import roman
> from music21 import corpus
> piece = corpus.parse('mozart/k155/movement1.xml')
> k = key.Key('d')
> reduction = piece.chordify()
> for c in reduction.flat.getElementsByClass('Chord'):
> 	print roman.fromChordAndKey(c,k), c
> Combine with elements from the first example here:
> http://mit.edu/music21/doc/html/examples.html#examples
> and you can put the analysis directly on a score. 
> Myke Cuthbert, PI for music21, has told me that he has a team of students
working on an improved counterpoint module that will detect passing tones,
neighbor tones, and the like, with the goal of doing automated harmonic
reduction. Depending on what your student has done, that also may make
helpful comparison once it is released.
> Kris Shaffer, Ph.D.
> Assistant Professor of Music Theory
> Charleston Southern University
> http://kris.shaffermusic.com
> twitter: @krisshaffer
> On Feb 22, 2012, at 9:19 AM, Dmitri Tymoczko wrote:
>> Are there any computer programs out there capable of inputting a generic
XML score of a classical-style keyboard piece (or string quartet or what
have you) and outputting a Roman numeral analysis?
>> I ask because I have a student who is built one, and we're looking to
test its accuracy against the best things out there.
>> Thanks,
>> DT
>> Dmitri Tymoczko
>> Associate Professor of Music
>> 310 Woolworth Center
>> Princeton, NJ 08544-1007
>> (609) 258-4255 (ph), (609) 258-6793 (fax) http://dmitri.tymoczko.com
>> _______________________________________________
>> Smt-talk mailing list
>> Smt-talk at lists.societymusictheory.org
>> http://lists.societymusictheory.org/listinfo.cgi/smt-talk-societymusi
>> ctheory.org

Dmitri Tymoczko
Associate Professor of Music
310 Woolworth Center
Princeton, NJ 08544-1007
(609) 258-4255 (ph), (609) 258-6793 (fax) http://dmitri.tymoczko.com

More information about the Smt-talk mailing list