Sunday, July 29, 2012

Music21 in (auf Deutsch)

Eine kurze Einführung in music21 hat in einem Blog-Post in Linuxmagazin erschienen:

Meine Lieblings-Satz:
"In den vergangenen Jahren habe sich der Einsatz von Informationstechnologie in Geistes- und Kunstwissenschaften von einem randständigen Hobby interessierter Geeks zu einem anerkannten Werkzeug für alle Forscher entwickelt, schreibt der Projektleiter Michael Scott Cuthbert"

If only I could actually write that well auf Deutsch!

The music21 team had a great time in Germany visiting with our colleagues at LMÜ München and at the DH2012 conference in Hamburg, in addition to sampling Currywurst in Berlin, Bach-arcana in Leipzig, and fine beer and warm people everywhere.  Thank you to our German friends and the German government for supporting our work.

music21 v.1.1 released

A new version of music21, v.1.1, has been released.  It incorporates 6 weeks worth of feature enhancements, documentation improvements, and bug fixes.  For the next few 1.x releases, we're focusing (in this order) on better documentation and tutorials, making our method calls more robust (for instance, on larger scores with many voices), and applying music21 to more musicological topics.  But there will always be some time for adding new features as well.

Music21 has added a robust service-oriented-architecture and a set of web applications that should enable music21 users to work more easily over the web.  See the paper (with Beth Hadley, Lars Johnson, and Christopher R. Reyes) at .  These tools are still in beta, so the interface may change slightly in future releases.

A new architecture for producing Lilypond output has been released.  Most end users will see little change, but we will be able to continue improving our Lilypond output with this rewrite.

Improvements in serial and post-tonal tools.  Commands such as isLinkChord(), isCombinatorial(), isAllInterval(), etc.will help people working on the music of Elliott Carter and other recent non-tonal composers.  Fixed some bugs in our provided tone rows.

Many bugs in docs have been squashed with our new documentation test suite.

For those working with Bach Chorales, see the corpus.chorales module which allows you to get chorales according to your favorite numbering system and lazily parses them for speed purposes.

Methods for finding repeated or similar sections have been added to -- they are very powerful but still not made easy to use.  Version 1.2 will add a simple interface to this.

Incompatible change:  TinyNotation now supports time signatures in the input.  It is best to preface the string with "tinynotation: ".  For instance, "converter.parse('tinynotation: 3/4 C4 D E').makeMeasures()" will give a measure of 3 quarter notes in 3/4.

The Goldberg Variations have been added to the corpus (Thanks to the Open Goldberg Variations project ).  The Art of Fugue was already there, but you might not have known that it was bwv1080.  Now it's "bach/artOfFugue_bwv1080"

Basic support for realtime MIDI playback of streams in midi.realtime for users with pygame installed.  Thanks to Joe Codeswell for the code (original post)  .  A portaudio version (with less lag at the end of a Stream) is on its way...

Further improvements to variants: now you can load in two streams and mark the differences between them as variants.  Works even if Streams are of different lengths!

Bug fixes and improvements in Harmony objects, RomanNumeral processing (including the rntxt format) and more.  A sample of 20 Bach Chorales in rntxt format is now included with music21 thanks to Dmitri Tymoczko for the contribution and suggestions

Thanks to Evan Lynch, Varun Ramaswarmy, Carl Lian, Daniel Manesh, Beth Hadley, and Lars Johnson for many contributions to the latest code.

We also thank the Seaver Institute and the NEH/Digging into Data Challenge and our colleagues on the ELVIS project for their continued support.

Tuesday, July 10, 2012

Music21 in the Boston Globe; Lilypond

Sunday's Boston Globe has an excellent article by Leon Neyfakh titled, "When Computers Listen to Music, What do they Hear? "  which includes a great discussion of the latest techniques in computational musicology including a number of references to music21 (including a graphic only in the print edition).  Here's one of my quotes in the article:

“You get a bird’s eye view of something where the details are so fascinating—where the individual pieces are so engrossing—that it’s very hard for us to see, or in this case hear, the big picture...of context, of history, of what else is going on,” said Cuthbert. “Computers are dispassionate. They can let us hear things across pieces in a way that we can’t by even the closest study of an individual piece.”
For anyone who already knows about music21, I'd appreciate it if any Lilypond hackers/users who are adventurous would be willing to upgrade to the newest SVN and test out Lilypond support there.  We've completely rewritten our Lilypond exporter as an object-oriented system with the aim of getting it caught up to MusicXML in the near future.  It's a ground-up reconception, so there may be some bugs.  It doesn't support a lot of things still, but it's now a flexible system that we can expand in the future.

Wednesday, July 4, 2012

music21 at Hamburg Digital Humanities conference

The music21 team will be presenting at the Hamburg Digital Humanities conference on July 16 (Monday) in the workshop, Service-oriented Architectures (SOAs) for the Humanities: Solutions and Impacts.  Our paper is:

Michael Scott Cuthbert, Beth Hadley, Lars Johnson and Christopher Reyes - Interoperable Digital Musicology Research via music21 Web Applications

Hope to see many of you in Hamburg.  Beth, Lars, and I will also be in Munich (before) and Berlin (after) in case there is music21 interest there.