pubPhotos
LATEST NEWS from my Prolatio and music21 blogs:

Precise (Nancarrow Level) tempo changes in Midi

The newest SVN releases (pre-alpha 12) of music21 include tempo change information to/from MIDI (we've already supported tempo i/o from musicxml since previous versions and read it in from Humdrum/Kern, Noteworthy, abc, Musedata and probably others. And newest releases export it to Braille Music Notation). Here's an example of using a tempo change after each note (default = quarter note) to create a smooth change of tempo (tracing a sine wave) from 60 bpm to 600 bpm over 60 notes.
from music21 import tempo, note, stream
import math
min = 60
max = 600
period = 50
s = stream.Stream()

for i in range(100):
    scalar = (math.sin(i * (math.pi*2) / period) + 1) * .5
    n = ((max-min) * scalar) + min
    s.append(tempo.MetronomeMark(number=n))
    s.append(note.Note('g3'))

s.show('midi')

And the output:



This feature lets you create pieces with the types of precise changes of tempo that Conlon Nancarrow painstakingly created in his piano-roll compositions. We'll soon have demos to show how you can use these features to create independent tempo marks in different parts to weave independent strands of music in your works. On the analytical side, importing precise tempo marks can open up new avenues for research on performance and interpretation, comparing the tempos chosen with those marked in the score.

To use the latest (not thoroughly tested) releases of music21 via SVN, we recommend developing using Eclipse. See Using Music21's SVN version with Eclipse. Otherwise, wait a few weeks for the latest release with lots of other improvements.
VIEW/LEAVE COMMENTS

music21 Alpha 11 Released

I haven't done a good job keeping this blog abreast of changes to music21 lately, but there have been a ton. Here are some of the new features of alphas 9-11. (Click the title for a more extensive list).

  1. corpus.parseWork() is now corpus.parse() to better match converter.parse()
  2. Added features to the RomanText format for specifying analyses (via Roman numerals) for pieces
  3. TimeSignatures can include “slow 6/8” “fast 6/8” etc. to specify if it’s a 6 or 2 beat measure.
  4. Changes to environment.UserSettings objects now propagate instantly (usually) so you can keep working without changing anything
  5. figuredBass.realizer() – new module for automatic realization of figured bass.
  6. text.TextExpression() class for handling most text expressions, with fonts etc. – can be positioned by quaterLength offsets to represent their occurring between beats. – displays properly in musicxml (thanks Michael Good for the help)
  7. Key analyses routines now return a Key object with a .correlationCoefficient attribute (thanks Rachel Hall!)
  8. Dynamics objects can be freely positioned to take place between notes.
  9. analysis/patel -- Tools for testing Aniruddh D. Patel's analysis theories, such as nPVI: Normalized Pairwise Variability Index and Melodic Interval Variability
  10. note.lyric – adding a lyric with a hyphen at the start or end will automatically set it as a beginning or end syllable.
  11. Microtones! C~ = C-half-sharp, D` = D-half-flat. Microtone objects allow for setting any amount of cents between notes.
  12. harmonicFromFundamental() and harmonicAndFundamentalFromPitch() will let you get pitches representing, say the 7th harmonic of D#3 – with proper microtones! Or for spectral composers will let you find out potential fundamentals for a given pitch (with the number of cents off that this pitch is)
  13. Note.fullName, Duration.fullName, and Pitch.fullName gives a verbose description of the element
  14. Stream.recurse() will recursively find every element in the stream. What stream that element is in is set as .activeSite – this is different from .flat or .semiflat in that the .offset is still relative to the element’s container. recurse(streamsOnly = True) is a good way to only get substreams.
  15. repeat.py has Repeat marks for dal segno, da capo, 1st 2nd (3rd 4th nth) endings, etc. all of which play back properly on .show. stream.expandRepeats() will expand repeats. (big plus on abc import)
  16. Incompatible change: stream.notes now does not return rests; just notes and chords. Use stream.notesAndRests for the old functionality.
  17. improvements to Scale including new documentations presented at ICMC
  18. Feature extraction: 60% of jSymbolic features and many native features implemented in the features modules.
  19. Expansions of ornaments – see expressions.realizeOrnaments()
  20. corpus includes Mozart and Haydn string quartets and more folk airs. (see acknowledgements for thanks)
  21. search.py – rhythmic (and future melodic) search module with wildcards (first version)
  22. musedata stage1 files are now supported
  23. Scala scales: microtonal scales from scala format.
  24. Huge performance boost on stream manipulation – you’ll notice it just from using it.
  25. Automatic correct MIDI channel distribution for instruments and microtonal pitch bends.
And of course new demos, docs, and examples.
Check it all out at http://web.mit.edu/music21/
VIEW/LEAVE COMMENTS

Changing Musical Time in the Renaissance (and Today)

The concepts of time, rhythm, and musical notation have changed dramatically from the Middle Ages to the Present. Music has slowed dramatically over the past millennium, and composers have repeatedly taken advantage of new resources. This pre-print of a short paper in honor of Joseph Connors documents this change and shows how it can affect how we think of nearly every piece written from 1100 to today. It concludes with an in-depth discussion of a piece from a particularly important moment in the history of notation, the lauda, O Regina from the manuscript Siena, Archivio di Stato, Fondo Vicariato di Gavorrano (1568-69), Ravi 3, giving the first transcription of this work with its unique notation.

ravi3 image

VIEW/LEAVE COMMENTS

ARCHIVE of older news items

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
Changing Musical Time in the Renaissance (and Today), for Festschrift Joseph Connors (forthcoming)

Bologna Q15: the making and remaking of a musical manuscript, review for Notes 66.3 (March), pp. 656-60.

2009
Ars Nova: French and Italian Music in the Fourteenth Century, edited volume with John L. Nádas (Music in the Medieval World Reference Series vol. 6). London: Ashgate. Reviewed by Gary Towne, The Medieval Review, February 2010.

"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
"A New Trecento Source of a French Ballade (Je voy mon cuer)," in Golden Muse: The Loeb Music Library at 50. Harvard Library Bulletin, new series 18, pp. 77–81.

2007
"Esperance and the French Song in Foreign Sources," Studi Musicali 36.1, pp. 1–19.

2006
"Trecento Fragments and Polyphony Beyond the Codex", Ph.D. Dissertation, Harvard University (unpublished).

"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
"Zacara’s D’amor Languire and Strategies for Borrowing in the Early Fifteenth-Century Italian Mass," in Antonio Zacara da Teramo e il suo tempo, edited by Francesco Zimei. Lucca: LIM, pp. 337–57 and plates 10–13.

2001
"Free Improvisation: John Zorn and the Construction of Jewish Identity through Music," in Studies in Jewish Musical Traditions, edited by Kay Kaufman Shelemay (Cambridge, Mass.: Harvard College Library). pp. 1-31. [.pdf]

Creative Commons License Unless otherwise mentioned, the writings, compositions and recordings on this site are licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States License.

Copyright 2010-11, Michael Scott Cuthbert. Web design by M.S.C.