[Smt-talk] RN analyzers

Dmitri Tymoczko dmitri at princeton.edu
Wed Feb 22 18:22:50 PST 2012

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-societymusictheory.org

Dmitri Tymoczko
Associate Professor of Music
310 Woolworth Center
Princeton, NJ 08544-1007
(609) 258-4255 (ph), (609) 258-6793 (fax)

More information about the Smt-talk mailing list