<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9134894688968741590</id><updated>2011-11-05T10:16:45.046-04:00</updated><category term='music informatics'/><category term='audio'/><category term='visualization'/><category term='key'/><category term='python'/><category term='tempo'/><category term='Grunin'/><category term='pitches'/><category term='score follower'/><category term='bach'/><category term='mozart'/><category term='link'/><category term='chopin'/><category term='recordings'/><category term='fellowship'/><category term='meter'/><category term='midi'/><category term='release'/><category term='timemap'/><category term='abjad'/><category term='context'/><category term='music21'/><category term='transcriber'/><title type='text'>music21</title><subtitle type='html'>A Flexible Toolkit for Computer-Aided Musicology</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-1538259960211114848</id><published>2011-10-05T18:22:00.005-04:00</published><updated>2011-10-05T19:27:20.834-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='score follower'/><category scheme='http://www.blogger.com/atom/ns#' term='transcriber'/><category scheme='http://www.blogger.com/atom/ns#' term='music21'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><title type='text'>Audio applications in music21</title><content type='html'>My name is Jordi Bartolomé Guillén and I spent this last summer collaborating at MIT in the music21 project. It was a fantastic experience for me!&lt;br /&gt;&lt;br /&gt;I started my days in Cambridge learning music21 a little bit. First, I developed a &lt;a href="http://mit.edu/music21/doc/html/moduleNoteworthyTranslate.html"&gt;converter&lt;/a&gt; from &lt;span style="font-weight:bold;"&gt;NoteWorthy Composer&lt;/span&gt; notation into music21.&lt;br /&gt;&lt;br /&gt;Later, I developed different audio applications using music21:&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;Transcriber&lt;/span&gt;: It is a software that records monophonic music and shows you the corresponding score in the laptop.&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;Score Follower&lt;/span&gt;: It shows you the score that you want to play in the screen and, using the microphone of the laptop, detects which part of the score you are playing. Consequently, it slides the page automatically when it decides that is the best moment to do it. &lt;br /&gt;Using this software you can play a song without having to slide the pages manually. It could be useful in concerts!&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight:bold;"&gt;Repetition game&lt;/span&gt;: Finally, I developed a two-people game which consists of the repetition of the note played by the other player and the addition of a new one. The player that fails first one of the notes loses the game!&lt;br /&gt;&lt;br /&gt;These are some pictures of the applications. I hope you can enjoy them soon!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-jcMZM1ChzPo/Tozg5zfTvKI/AAAAAAAAG1w/oWWakCq93gM/s1600/mit.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 172px;" src="http://1.bp.blogspot.com/-jcMZM1ChzPo/Tozg5zfTvKI/AAAAAAAAG1w/oWWakCq93gM/s400/mit.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5660146115376561314" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;P.S.: Michael, Chris, Tina, Jose and Neena, thank you for this summer!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-1538259960211114848?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/1538259960211114848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2011/10/audio-applications-in-music21.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/1538259960211114848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/1538259960211114848'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2011/10/audio-applications-in-music21.html' title='Audio applications in music21'/><author><name>Jordi</name><uri>http://www.blogger.com/profile/16505243543348817775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-jcMZM1ChzPo/Tozg5zfTvKI/AAAAAAAAG1w/oWWakCq93gM/s72-c/mit.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-4573059833617240453</id><published>2011-09-29T13:16:00.005-04:00</published><updated>2011-09-29T13:30:23.074-04:00</updated><title type='text'>BMT: The All-Purpose Braille Music Transcriber</title><content type='html'>&lt;style&gt; &lt;!--  /* Font Definitions */ @font-face  {font-family:Cambria;  panose-1:2 4 5 3 5 4 6 3 2 4;  mso-font-charset:0;  mso-generic-font-family:auto;  mso-font-pitch:variable;  mso-font-signature:3 0 0 0 1 0;} @font-face  {font-family:"Apple Symbols";  panose-1:2 0 0 0 0 0 0 0 0 0;  mso-font-charset:0;  mso-generic-font-family:auto;  mso-font-pitch:variable;  mso-font-signature:3 0 0 0 1 0;} @font-face  {font-family:Monaco;  panose-1:2 0 5 0 0 0 0 0 0 0;  mso-font-charset:0;  mso-generic-font-family:auto;  mso-font-pitch:variable;  mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin:0in;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-ascii-font-family:Cambria;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:Cambria;  mso-fareast-theme-font:minor-latin;  mso-hansi-font-family:Cambria;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText  {mso-style-noshow:yes;  mso-style-link:"Footnote Text Char";  margin:0in;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-ascii-font-family:Cambria;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:Cambria;  mso-fareast-theme-font:minor-latin;  mso-hansi-font-family:Cambria;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} p.MsoCaption, li.MsoCaption, div.MsoCaption  {mso-style-noshow:yes;  mso-style-next:Normal;  margin-top:0in;  margin-right:0in;  margin-bottom:10.0pt;  margin-left:0in;  mso-pagination:widow-orphan;  font-size:9.0pt;  font-family:"Times New Roman";  mso-ascii-font-family:Cambria;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:Cambria;  mso-fareast-theme-font:minor-latin;  mso-hansi-font-family:Cambria;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;  color:#4F81BD;  font-weight:bold;} span.MsoFootnoteReference  {mso-style-noshow:yes;  vertical-align:super;} span.FootnoteTextChar  {mso-style-name:"Footnote Text Char";  mso-style-noshow:yes;  mso-style-locked:yes;  mso-style-link:"Footnote Text";} @page Section1  {size:8.5in 11.0in;  margin:1.0in 1.0in 1.0in 1.0in;  mso-header-margin:.5in;  mso-footer-margin:.5in;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt;&lt;span style="font-family:times new roman;"&gt;     &lt;/span&gt;&lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style=""&gt;&lt;span style="mso-tab-count: 1"&gt; &lt;/span&gt;I'm continuing my quest to develop an all-purpose Braille music transcriber in music21. This is a funding proposal submitted to the Undergraduate Research Opportunities Program (UROP) at MIT for the fall 2011 term. Hopefully by December we'll be able to transcribe chords into Braille!&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style=""&gt;________________________________________________________________________________&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;Reading and writing over the centuries has mostly relied on a person's ability to see. It was not until the 1800s that Louis Braille invented a system of raised dots that allowed the visually-impaired to read by substituting the sense of touch. In similar fashion, the blind have been deprived of playing and singing from musical scores for most of history, since reading and writing music on a staff also relies on the ability of sight. Fortunately, Braille also developed a system to represent written music as raised dots.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:times new roman;"&gt;  &lt;/span&gt;&lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;span style="mso-tab-count: 1"&gt; &lt;/span&gt;Braille music notation is noticeably different from the standard musical notation of representing notes on a staff, as shown below.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-zUBBsXofyPY/ToSo-69iTMI/AAAAAAAAAA0/u2OvoCjbEW0/s1600/happy%2Bbirthday.tiff"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 388px; height: 41px;" src="http://4.bp.blogspot.com/-zUBBsXofyPY/ToSo-69iTMI/AAAAAAAAAA0/u2OvoCjbEW0/s320/happy%2Bbirthday.tiff" alt="" id="BLOGGER_PHOTO_ID_5657832830816898242" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoCaption"  style="text-align: justify; page-break-after: avoid; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;The "Happy Birthday" Song&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="margin-left: 1in; font-family:times new roman;"&gt;&lt;span style="font-family:&amp;quot;Apple Symbols&amp;quot;;mso-ascii-Times New Roman&amp;quot;;mso-bidi-Apple Symbols&amp;quot;;font-family:&amp;quot;;color:black;"  &gt;⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠩⠼⠉⠲⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀&lt;/span&gt;&lt;span style="Times New Roman&amp;quot;;mso-bidi-font-family:&amp;quot;;" &gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="margin-left: 1in; font-family:times new roman;"&gt;&lt;span style="font-family:&amp;quot;Apple Symbols&amp;quot;;mso-ascii-Times New Roman&amp;quot;;mso-bidi-Apple Symbols&amp;quot;;font-family:&amp;quot;;color:black;"  &gt;⠼⠁⠀⠐⠑⠄⠵⠫⠱⠀⠳⠟⠀⠑⠄⠵⠫⠱⠀⠪⠗⠀⠑⠄⠵⠨⠱⠺⠀⠓⠄⠷⠻⠫⠀⠀⠀⠀⠀⠀&lt;/span&gt;&lt;span style="Times New Roman&amp;quot;;mso-bidi-font-family:&amp;quot;;" &gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="margin-left: 1in; font-family:times new roman;"&gt;&lt;span style="font-family:&amp;quot;Apple Symbols&amp;quot;;mso-ascii-Times New Roman&amp;quot;; mso-bidi-Apple Symbols&amp;quot;;font-family:&amp;quot;;color:black;"  &gt;⠀⠀⠨⠙⠄⠽⠺⠳⠀⠪⠗⠣⠅&lt;/span&gt;&lt;span style="Times New Roman&amp;quot;;mso-bidi-Apple Symbols&amp;quot;; font-family:&amp;quot;;color:black;"  &gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;span style="mso-tab-count:1"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;span style="mso-tab-count: 1"&gt; &lt;/span&gt;Braille music notation is not only different from standard musical notation, but also just as complex and difficult to master. Not only do blind persons need special training in reading Braille music notation, but those sighted persons seeking to transcribe music into Braille need extensive training in how the two notations correspond and where they differ.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;span style="mso-tab-count: 1"&gt; &lt;/span&gt;This begs the question: what happens the day when a visually-impaired yet excellent singer wants to sing in the MIT Concert Choir? Assuming he or she is able to read Braille music notation, there needs to be a way of providing him or her with the translated repertoire.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;span style="mso-tab-count: 1"&gt; &lt;/span&gt;One way of doing so is to invoke the services of a transcriber. However, because of the complexities explained beforehand, there are very few transcribers available to do this. Another solution is to use transcription software available on the open market. The problem is that said software tends to be very expensive. But what if there existed free software that could do the same? And that is exactly what the Braille music transcriber, BMT, I have been developing is.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;span style="mso-tab-count: 1"&gt; &lt;/span&gt;I started developing BMT in July 2011 under a direct funding UROP as part of the music21 project, a project in MIT Music and Theater Arts which aims to develop software useful for musical analysis. Using knowledge borrowed from my years of training in both music and computer science, borrowing from code already written for music21, and consulting very closely with a certified Braille transcription manual&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-create.g?blogID=9134894688968741590#_ftn1" name="_ftnref" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character:footnote"&gt;[1]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;, I have come up with a rudimentary transcriber.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;span style="mso-tab-count: 1"&gt; &lt;/span&gt;Right now, BMT is capable of translating melodies such as the example presented beforehand––melodies containing musical elements including, but not limited to, notes, rests, bar lines, key signatures, and time signatures. Each of the musical elements corresponds to a Braille character or series of characters. Some more complex elements supported include fingering, slurs, changes of key or time signatures, and beaming. In short, most of the concepts in twelve of the first sixteen chapters of the transcription manual have been implemented, with more than 100 examples found within those chapters being transcribed correctly.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;span style="mso-tab-count: 1"&gt; &lt;/span&gt;However, there is functionality that I aim to add during this UROP. The most notable of these is support for chords, or set of notes played or sung at once. Not only are chords omnipresent in keyboard music, but also harmonies of instruments in pieces with multiple parts played or sung in unison can always be boiled down to chords. Hence, chords are used as a method of instruction in musical composition classes not only at MIT but also at universities across the world. Implementing chords would be a big step towards being able to translate an introductory composition text such as Marjorie Merryman's &lt;u&gt;The Music Theory Handbook&lt;/u&gt;&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-create.g?blogID=9134894688968741590#_ftn2" name="_ftnref" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character:footnote"&gt;[2]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; which is used at MIT. Chords and related concepts are covered over five chapters, approximately 100 pages, and are a leap beyond single melodies because one needs to deal with the vertical aspect and the horizontal aspect of the transcription simultaneously. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;span style="mso-tab-count: 1"&gt; &lt;/span&gt;Another concept to implement is musical repeats, bar lines at the beginning and ending of sections which are meant to be repeated for a given piece of music. This is a relatively simple concept in print, but the manual spends three chapters covering it, approximately 100 pages.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;span style="mso-tab-count: 1"&gt; &lt;/span&gt;Other important concepts to add include division of long measures whose transcription would fall at the end of a Braille line limited to forty characters in length, as well as increased support for musical expressions and special note modifiers such as ornaments. In fine, the first sixteen chapters comprise only 150 pages of a 500+ page manual––there is much to be done before BMT can "become an official Braille music transcriber."&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="text-align: justify; line-height: 200%; font-family:times new roman;"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;span style="mso-tab-count: 1"&gt; &lt;/span&gt;With a completed BMT, all the editable musical scores available online will become available to visually-impaired musicians. As alpha code, the music21 project also benefits, because every example needs to be translated into music21 objects before being transcribed into Braille, uncovering plenty of bugs and resulting in many new features being implemented or improved upon. I also believe that new coding techniques developed will carry over towards my musical improvisation software whose further development is currently on hiatus.&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-create.g?blogID=9134894688968741590#_ftn3" name="_ftnref" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character:footnote"&gt;[3]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; But most of all, I believe that this project will continue to give me more of the engineering confidence which I have been seeking over the course of my time at MIT.&lt;/span&gt;&lt;/p&gt;  &lt;div style="font-family: times new roman;"&gt;   &lt;hr align="left" size="1" width="33%"&gt;    &lt;div style="mso-element:footnote" id="ftn"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-create.g?blogID=9134894688968741590#_ftnref" name="_ftn1" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="Times New Roman&amp;quot;"&gt;&lt;span style="mso-special-character:footnote"&gt;[1]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="Times New Roman&amp;quot;"&gt; &lt;u&gt;Introduction to Braille Music Transcription&lt;/u&gt;, Second Edition 2005, by Mary Turner De Garmo, revised and edited by Lawrence R. Smith, Music Braille Transcriber.&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div style="mso-element:footnote" id="ftn"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-create.g?blogID=9134894688968741590#_ftnref" name="_ftn2" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character: footnote"&gt;[2]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; &lt;span style="Times New Roman&amp;quot;"&gt;Marjorie Merryman. &lt;u&gt;The Music Theory Handbook&lt;/u&gt;. Schirmer, 1996.&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div style="mso-element:footnote" id="ftn"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-create.g?blogID=9134894688968741590#_ftnref" name="_ftn3" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character: footnote"&gt;[3]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Jose Cabal-Ugaz. &lt;u&gt;&lt;span style="Times New Roman&amp;quot;"&gt;fbRealizer: A 21st-Century Approach to a Centuries-Old Musical System&lt;/span&gt;&lt;/u&gt;&lt;span style="Times New Roman&amp;quot;"&gt;. Cambridge, MA, 2011. UROP Summer Proposal.&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-4573059833617240453?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/4573059833617240453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2011/09/bmt-all-purpose-braille-music.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/4573059833617240453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/4573059833617240453'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2011/09/bmt-all-purpose-braille-music.html' title='BMT: The All-Purpose Braille Music Transcriber'/><author><name>Jose C</name><uri>http://www.blogger.com/profile/06821920811234316692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/-9OcTdw51fp8/ToSnV_jXsWI/AAAAAAAAAAQ/6N37X2DhDVk/s220/328850_2366142556766_1346469128_4022877_3976084_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-zUBBsXofyPY/ToSo-69iTMI/AAAAAAAAAA0/u2OvoCjbEW0/s72-c/happy%2Bbirthday.tiff' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-6677021448884774715</id><published>2011-08-31T10:11:00.005-04:00</published><updated>2011-09-23T13:02:30.904-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='abjad'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='music21'/><title type='text'>Abjad v.2 released</title><content type='html'>&lt;img align="right" src="http://packages.python.org/Abjad/_images/container-spanner.png" style="margin-left: 10px" width="404"/&gt;&lt;br /&gt;Woke up this morning to the great news that our friends Trevor Bača and Víctor Adán have released v.2 of their python-based, lilypond-powered, flexible music notation system Abjad (&lt;a href="http://packages.python.org/Abjad/"&gt;docs and installation instructions here&lt;/a&gt;).  Abjad is a system for composers to build up scores from reusable, flexible elements and have precise control over notational elements.  Some music21 users may have already noticed an "abj" directory in music21 and seen documentation at &lt;a href="http://web.mit.edu/music21/doc/html/moduleAbjTranslate.html"&gt;http://web.mit.edu/music21/doc/html/moduleAbjTranslate.html&lt;/a&gt; for how notes and simple streams can be translated from music21 to abjad.  Since both projects use similar hierarchies including &lt;a href="http://web.mit.edu/music21/doc/html/moduleSpanner.html"&gt;spanners&lt;/a&gt; and containers (&lt;a href="http://web.mit.edu/music21/doc/html/overviewStreams.html"&gt;Streams&lt;/a&gt; in music21), there is a lot of compatibility between the two.  If a complete translator could be implemented (volunteers?), abjad would offer to music21 users high quality lilypond output and better tools for working with tuplets, staves with independent time signatures, and other rhythmic and layout tools that music21 does not yet have.  Abjad users would gain access to music21's ability to parse many notational formats, work natively with intervals and harmonics, extensive scale collections (including Scala microtonal scales), and more.  Getting these two projects closer to work more closely with each other is a win-win for everyone.  Congrats to Trevor and Victor!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-6677021448884774715?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/6677021448884774715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2011/08/abjad-v21-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/6677021448884774715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/6677021448884774715'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2011/08/abjad-v21-released.html' title='Abjad v.2 released'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-7615022059309434515</id><published>2011-08-30T13:12:00.006-04:00</published><updated>2011-08-30T13:48:29.924-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tempo'/><category scheme='http://www.blogger.com/atom/ns#' term='midi'/><category scheme='http://www.blogger.com/atom/ns#' term='music21'/><title type='text'>Nancarrow level tempo changes in music21</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;from music21 import tempo, note, stream&lt;br /&gt;import math&lt;br /&gt;min = 60&lt;br /&gt;max = 600&lt;br /&gt;period = 50&lt;br /&gt;s = stream.Stream()&lt;br /&gt;for i in range(100):&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scalar = (math.sin(i * (math.pi*2) / period) + 1) * .5&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n = ((max-min) * scalar) + min&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s.append(tempo.MetronomeMark(number=n))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s.append(note.Note('g3'))&lt;br /&gt;s.show('midi')&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;br clear="all"&gt;&lt;img align="right" src="http://2.bp.blogspot.com/_iCl_5HnycXw/TL26KPSnHBI/AAAAAAAAAH8/LdQVcL6ePTM/s400/conlon3.jpg" style="margin-left: 10px"&gt;And the output:&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://web.mit.edu/cuthbert/www/music21-blog-files/precise-tempo-changes.mid" autostart="false" loop="false" width="150" height="20"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;To use the latest (not thoroughly tested) releases of music21 via SVN, we recommend developing using Eclipse.  See &lt;a href="http://web.mit.edu/music21/doc/html/usingEclipse.html"&gt;Using Music21's SVN version with Eclipse&lt;/a&gt;.  Otherwise, wait a few weeks for the latest release with lots of other improvements.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-7615022059309434515?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/7615022059309434515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2011/08/nancarrow-level-tempo-changes-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/7615022059309434515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/7615022059309434515'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2011/08/nancarrow-level-tempo-changes-in.html' title='Nancarrow level tempo changes in music21'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_iCl_5HnycXw/TL26KPSnHBI/AAAAAAAAAH8/LdQVcL6ePTM/s72-c/conlon3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-269176481908388814</id><published>2011-08-23T16:17:00.001-04:00</published><updated>2011-08-23T16:19:28.549-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='music21'/><title type='text'>Alpha 11 released (and recent updates)</title><content type='html'>I haven't done a good job keeping this blog abreast of changes to music21 lately, but there have been a ton.  Here are the new features of alphas 9-11.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;new in alpha 9&lt;br /&gt;&lt;br /&gt;·         IMPORTANT: corpus.parseWork() is now corpus.parse() to better match converter.parse()&lt;br /&gt;&lt;br /&gt;·         TimeSignatures’ .beatCount is now read-write.  Additional partition options for MeterSequences.&lt;br /&gt;&lt;br /&gt;·         Added features to the RomanText format for specifying analyses (via Roman numerals) for pieces&lt;br /&gt;&lt;br /&gt;·         TimeSignatures can include “slow 6/8” “fast 6/8” etc. to specify if it’s a 6 or 2 beat measure.&lt;br /&gt;&lt;br /&gt;·         Better configuration options and configuration assistant&lt;br /&gt;&lt;br /&gt;·         node.py renamed to xmlnode.py – useful primarily if you’re writing a new translator for an xml-based format&lt;br /&gt;&lt;br /&gt;·         stripTies() has more options&lt;br /&gt;&lt;br /&gt;·         Changes to environment.UserSettings objects now propagate instantly (usually) so you can keep working without changing anything&lt;br /&gt;&lt;br /&gt;·         figuredBass.realizer() – new module for automatic realization of figured bass. (paper coming soon)&lt;br /&gt;&lt;br /&gt;·         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)&lt;br /&gt;&lt;br /&gt;·         bug fix: pitch.flipEnharmonic() no longer has octave problems.&lt;br /&gt;&lt;br /&gt;·         added subclasses of key.WeightKeyAnalysis for other weights such as AardenEssen and others (as discussed on this list recently)&lt;br /&gt;&lt;br /&gt;·         Key analyses routines now return a Key object with a .correlationCoefficient attribute (thanks Rachel Hall!)&lt;br /&gt;&lt;br /&gt;·         Dynamics objects can be freely positioned to take place between notes.&lt;br /&gt;&lt;br /&gt;·         plots now plot chords properly (please re-generate any old images that worked on chord data!)&lt;br /&gt;&lt;br /&gt;·         derviationChain() method and derivesFrom property on Streams will return the Stream that generated this one (via .flat, .notes, etc.) – a really useful method for Context checking.&lt;br /&gt;&lt;br /&gt;·         analysis/patel -- Tools for testing Aniruddh D. Patel's analysis theories, such as nPVI: Normalized Pairwise Variability Index and Melodic Interval Variability&lt;br /&gt;&lt;br /&gt;·         note.lyric – adding a lyric with a hyphen at the start or end will (unless overridden with applyRaw = True) automatically set it as a beginning or end syllable.&lt;br /&gt;&lt;br /&gt;·         Unicode accidentals via pitch.accidental.unicode&lt;br /&gt;&lt;br /&gt;·         MICROTONES!  C~ = C-half-sharp, D` = D-half-flat.  Microtone objects allow for setting any amount of cents between notes.  Note that .ps now always returns a float representing the midi-note with microtonal precision.  .frequency works with Microtones too!&lt;br /&gt;&lt;br /&gt;·         pitch.isTwelveTone() will say whether the note is a half-sharp, etc. or not.&lt;br /&gt;&lt;br /&gt;·         pitch.convertMicrotonesToQuarterTones() and pitch.convertQuarterTonesToMicrotones() let you decide if you want to represent C4 + 57cents as C4+57c or C~4+7c.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;·         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)&lt;br /&gt;&lt;br /&gt;·         Note.fullName, Duration.fullName, and Pitch.fullName gives a verbose description of the element&lt;br /&gt;&lt;br /&gt;·         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.&lt;br /&gt;&lt;br /&gt;·         chord.fromForteClass() will give you a chord (including “C4”) that matches the forteclass&lt;br /&gt;&lt;br /&gt;·         chord.fromIntervalVector() does the same thing if you have an interval vector.  If it’s a Z-related chord, the first form of the chord is returned.&lt;br /&gt;&lt;br /&gt;·         chord.getZRelation() will return the other Z-related form of a chord.&lt;br /&gt;&lt;br /&gt;·         REPEATS!  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)&lt;br /&gt;&lt;br /&gt;·         instrument.instrumentFromMidiProgram() gives a full-fledged music21 object given a midi program (0-127)&lt;br /&gt;&lt;br /&gt;·         stream.Transpose() is now recursive.&lt;br /&gt;&lt;br /&gt;·         better Mac installation docs.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;new in apha 10&lt;br /&gt;&lt;br /&gt;·         Incompatible change: stream.notes now does not return rests; just notes and chords.  Use stream.notesAndRests for the old functionality.&lt;br /&gt;&lt;br /&gt;·         improvements to Scale including new documentations to be presented at ICMC next month (links coming soon)&lt;br /&gt;&lt;br /&gt;·         FEATURE EXTRACTION: 60% of jSymbolic features and many native features implemented in the features modules.  (paper to be presented soon – stay tuned!)&lt;br /&gt;&lt;br /&gt;·         Better docs for 64-bit windows and all tests pass on 64-bit systems.&lt;br /&gt;&lt;br /&gt;·         Expansions of ornaments – see expressions.realizeOrnaments()&lt;br /&gt;&lt;br /&gt;·         corpus includes Mozart and Haydn string quartets and more folk airs.  (see acknowledgements for thanks)&lt;br /&gt;&lt;br /&gt;·         search.py – rhythmic (and future melodic) search module with wildcards (first version)&lt;br /&gt;&lt;br /&gt;·         musedata stage1 files are now supported&lt;br /&gt;&lt;br /&gt;·         Scala scales – scales that represent potentially microtonal scales from scala format.  Music21 can now read any file in .scl format!&lt;br /&gt;&lt;br /&gt;·         Repeats are correctly translated in/out of musicxml&lt;br /&gt;&lt;br /&gt;·         Augmented 6th classification in chord.&lt;br /&gt;&lt;br /&gt;Newest updates in alpha 11:&lt;br /&gt;&lt;br /&gt;·         Huge performance boost on stream manipulation – you’ll notice it just from using it.&lt;br /&gt;&lt;br /&gt;·         Repeat brackets display properly&lt;br /&gt;&lt;br /&gt;·         Improved abc conversion of pickup measures and repeats.&lt;br /&gt;&lt;br /&gt;·         Figured basses correctly handle resolutions of augmented 6ths and many other chords.&lt;br /&gt;&lt;br /&gt;·         Bug fixes on some accidental display output.&lt;br /&gt;&lt;br /&gt;·         transparent caching of streams (i.e., stream.flat will be faster the second call if the underlying stream hasn’t been changed)&lt;br /&gt;&lt;br /&gt;·         Empty voices (often outputted by Finale) are silently removed when converting from musicxml.&lt;br /&gt;&lt;br /&gt;·         Automatic correct MIDI channel distribution for instruments AND MICROTONAL PITCHBENDS!  Your 19-tone piano trio should playback properly now (at least on the default synths on Mac and PC).&lt;br /&gt;&lt;br /&gt;·         medren – convertToHouseStyle and subroutines will change the default style for printing music to better reflect some editor’s ideas of proper representation of Renaissance music.&lt;br /&gt;&lt;br /&gt;·         makeChords – bug fix on overlapping rests.&lt;br /&gt;&lt;br /&gt;·         TimeSignatures and KeySignatures are imported properly from conductor tracks in midi import.&lt;br /&gt;&lt;br /&gt;·         ConcreteScale(pitches = ‘[pitchList’]) will now create a scale from the given pitches.  Useful for treating a chord as an infinite scale of notes.&lt;br /&gt;&lt;br /&gt;·         tuning = ScalaScale(‘py12.scl’); tuning.tune(score) – will retune a score to a given temperament (with playback).&lt;br /&gt;&lt;br /&gt;·         Tempo import and export from music21 to musicxml&lt;br /&gt;&lt;br /&gt;·         additional corpus items (including incipits of 14th c. Virelais)&lt;br /&gt;&lt;br /&gt;·         most modules are now more unicode compliant.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Newest (super-beta features)&lt;br /&gt;&lt;br /&gt;·         Preliminary conversion of Noteworthy composer .nwctxt files (input only)&lt;br /&gt;&lt;br /&gt;·         Very preliminary output into Braille Music notation&lt;br /&gt;&lt;br /&gt;·         Noteheads are properly output from music21 (but not converted in yet).&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;And of course new demos, docs, and examples.&lt;br /&gt;&lt;br /&gt;Check it all out at http://web.mit.edu/music21/&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-269176481908388814?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/269176481908388814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2011/08/alpha-11-released-and-recent-updates.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/269176481908388814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/269176481908388814'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2011/08/alpha-11-released-and-recent-updates.html' title='Alpha 11 released (and recent updates)'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-3357520671646568294</id><published>2011-04-18T17:55:00.004-04:00</published><updated>2011-04-18T18:02:57.138-04:00</updated><title type='text'>music21 on EchoNest</title><content type='html'>Thanks to the work of Jonathan Marmor, music21 now has a proof-of-concept linking with The Echo Nest, a great mostly-open framework for audio analysis with many python links.  See the &lt;a href="http://the.echonest.com/platform/showcase/"&gt;Transcribe Melodies&lt;/a&gt; link for more information. Full source code is &lt;a href="http://code.google.com/p/transcribe-melodies/"&gt;available here&lt;/a&gt;. Thanks to Jonathan and to Echo Nest for making this linkage possible.  While music21's primary focus will always be on symbolic data, we love audio analysis and hope we can add more features to make music information retrieval and analysis on audio files easier.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-dd-VM4RD7rM/Tay0tbMrA9I/AAAAAAAAAKs/9TRis4E7fwg/s1600/echoNest.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 384px;" src="http://3.bp.blogspot.com/-dd-VM4RD7rM/Tay0tbMrA9I/AAAAAAAAAKs/9TRis4E7fwg/s400/echoNest.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5597047129402704850" /&gt;http://the.echonest.com/platform/showcase/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-3357520671646568294?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/3357520671646568294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2011/04/music21-on-echonest.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/3357520671646568294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/3357520671646568294'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2011/04/music21-on-echonest.html' title='music21 on EchoNest'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-dd-VM4RD7rM/Tay0tbMrA9I/AAAAAAAAAKs/9TRis4E7fwg/s72-c/echoNest.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-3743417651723948355</id><published>2011-01-04T12:39:00.002-05:00</published><updated>2011-01-04T12:42:35.066-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fellowship'/><category scheme='http://www.blogger.com/atom/ns#' term='music informatics'/><title type='text'>Music Informatics at City University, London</title><content type='html'>Passing on this good information from Tillman Weyde at City University, London:&lt;br /&gt;&lt;br /&gt;The City University London is offering 75 Research Studentships to begin in October 2011. &lt;span style="font-weight:bold;"&gt;The Music Informatics research group in the Department of Computing at City University would particularly &lt;br /&gt;like to encourage PhD applications in the area of Music Computing and Music Informatics. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Research interests in the Music Informatics research group include:&lt;br /&gt;&lt;br /&gt;- music information retrieval&lt;br /&gt;- computational musicology&lt;br /&gt;- musical applications of machine learning &lt;br /&gt;- semantic music representation &lt;br /&gt;- systems and user interfaces for music e-learning and music information retrieval&lt;br /&gt;&lt;br /&gt;Information about the Music Informatics research group and &lt;br /&gt;the Research Studentship application procedures can be found &lt;br /&gt;online at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.soi.city.ac.uk/organisation/doc/research/mi/"&gt;http://www.soi.city.ac.uk/organisation/doc/research/mi/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.city.ac.uk/research/resdegrees/studentships.html"&gt;http://www.city.ac.uk/research/resdegrees/studentships.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The closing date for applications is the 31st January 2011. &lt;br /&gt;If you are interested in applying get in touch with Tillman &lt;br /&gt;Weyde (tweyde@uos.de) soon to discuss further details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-3743417651723948355?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/3743417651723948355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2011/01/music-informatics-at-city-university.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/3743417651723948355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/3743417651723948355'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2011/01/music-informatics-at-city-university.html' title='Music Informatics at City University, London'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-6191970112775011428</id><published>2010-06-15T13:18:00.007-04:00</published><updated>2010-06-15T13:33:16.020-04:00</updated><title type='text'>Mensural Canons and Other Applications of Stream Transformations</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We have a number of powerful Stream transformation methods available now, including transpose() and augmentOrDiminish(). My favorite task with such utilities is creating mensural canons. The example below does just that, using a Bach soprano line as the melodic source.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Further explanation can be found here:&lt;/div&gt;&lt;div&gt;&lt;a href="http://mit.edu/music21/doc/html/examples.html"&gt;http://mit.edu/music21/doc/html/examples.html&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;from music21 import *&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;src = corpus.parseWork('bach/bwv323.xml')&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;ex = src.getElementById('Soprano').flat.notes&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;s = stream.Score()&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;for scalar, t in [(1, 'p1'), (2, 'p-5'), (.5, 'p-11'), (1.5, -24)]:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;    part = ex.augmentOrDiminish(scalar, inPlace=False)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;    part.transpose(t, inPlace=True)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;    s.insert(0, part)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;s.show()&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_cR7S21HzOVc/TBe3sp0JYII/AAAAAAAABkc/PtPszRa8_lQ/s1600/examples-02.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 196px;" src="http://1.bp.blogspot.com/_cR7S21HzOVc/TBe3sp0JYII/AAAAAAAABkc/PtPszRa8_lQ/s400/examples-02.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5483053049113567362" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-6191970112775011428?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/6191970112775011428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2010/06/mensural-canons-and-other-applications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/6191970112775011428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/6191970112775011428'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2010/06/mensural-canons-and-other-applications.html' title='Mensural Canons and Other Applications of Stream Transformations'/><author><name>Ariza</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cR7S21HzOVc/SJ8wvGJjiZI/AAAAAAAAAAU/UJJXfHghfZA/s1600-R/babelcast.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cR7S21HzOVc/TBe3sp0JYII/AAAAAAAABkc/PtPszRa8_lQ/s72-c/examples-02.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-883119293045298985</id><published>2010-06-15T09:27:00.004-04:00</published><updated>2010-06-15T09:48:55.049-04:00</updated><title type='text'>New Documentation Chapter on Meters</title><content type='html'>We have a new documentation chapter, with numerous examples and demonstrations, on using and processing time signatures and meter-related data:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://mit.edu/music21/doc/html/overviewMeters.html"&gt;http://mit.edu/music21/doc/html/overviewMeters.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-883119293045298985?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/883119293045298985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2010/06/new-documentation-chapter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/883119293045298985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/883119293045298985'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2010/06/new-documentation-chapter.html' title='New Documentation Chapter on Meters'/><author><name>Ariza</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cR7S21HzOVc/SJ8wvGJjiZI/AAAAAAAAAAU/UJJXfHghfZA/s1600-R/babelcast.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-5648802237237910619</id><published>2010-06-04T18:57:00.003-04:00</published><updated>2010-06-04T19:07:49.574-04:00</updated><title type='text'>Meter Objects at ICMC 2010</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This week we presented a paper on music21 Meter objects at the 2010 International Computer Music Conference. There were a number of people happy to see an easy-to-use, powerful, object-oriented representation of symbolic musical structures.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The paper can be downloaded at the link below. I will be posting a few examples, and a new documentation tutorial, in the coming days.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://mit.edu/music21/papers/2010MeterObjects.pdf"&gt;http://mit.edu/music21/papers/2010MeterObjects.pdf&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-5648802237237910619?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/5648802237237910619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2010/06/meter-objects-at-icmc-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/5648802237237910619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/5648802237237910619'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2010/06/meter-objects-at-icmc-2010.html' title='Meter Objects at ICMC 2010'/><author><name>Ariza</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cR7S21HzOVc/SJ8wvGJjiZI/AAAAAAAAAAU/UJJXfHghfZA/s1600-R/babelcast.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-3133621486151941174</id><published>2010-05-21T07:53:00.005-04:00</published><updated>2010-05-21T08:02:31.646-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='music21'/><title type='text'>Music21 Launch!</title><content type='html'>Music21 has released its first Alpha for download.  The site is up at &lt;a href="http://web.mit.edu/music21/"&gt;http://web.mit.edu/music21/&lt;/a&gt;.  As an alpha release many of the features are not yet enabled and the documentation is not complete, but don't expect it ever to be since we're constantly expanding and developing the code.  We plan on keeping the main syntax for Notes, Chords, and Streams exactly as it is -- it's been over two year's worth of work and refinements to get it where it is, and I think you'll be pleased.  &lt;a href="http://www.recordare.com/xml.html"&gt;MusicXML&lt;/a&gt; import and export are quite well-developed and most rudimentary Humdrum/Kern support is there.  Join the &lt;a href="http://groups.google.com/group/music21list/"&gt;music21 mailing list&lt;/a&gt; at Google Groups to give feedback and ask questions.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://web.mit.edu/music21/auto_bach_german_reflect.jpg" alt="Automatic adding of German Notes"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-3133621486151941174?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/3133621486151941174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2010/05/music21-launch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/3133621486151941174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/3133621486151941174'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2010/05/music21-launch.html' title='Music21 Launch!'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-4120773806046139513</id><published>2010-04-01T15:14:00.003-04:00</published><updated>2010-04-01T17:49:34.385-04:00</updated><title type='text'>music21: Visualizing Messiaen’s Mode de valeurs</title><content type='html'>Oliver Messiaen (1908&amp;ndash;1992) was one of the most innovative and interesting composers of the twentieth century.  He worked birdsong deep into the fabric of his pieces.   He played with rhythms (some descended from Hindu chant) that sounded the same forwards and backwards.  And he created a whole new style of composition for the organ, invigorating the repertoire for this venerable instrument.&lt;br /&gt;&lt;br /&gt;One of the most influential of Messiaen’s innovation was extending the ideals of twelve-tone music to go beyond pitch.  The twelve-tone method, as developed Arnold Schoenberg and his followers, involved arranging pitches in fixed orders so that each note would have equal prominence and the tendency to write music too-mired in the sounds of the past would be eliminated (or at least greatly reduced).  While much of the musical world reacted (and still reacts) to Schoenberg by believing he went too far in alienating modern music from the past, Messiaen and a small group of (at the time) young composers believed that he did not go far enough.  By not organizing rhythms and loudness (called dynamics or, in French, &lt;span style="font-style:italic;"&gt;intensités&lt;/span&gt;) similarly to the way he had serialized pitch, Schoenberg’s music could still be rooted in the rhythms and swells of the past.&lt;br /&gt;&lt;br /&gt;Messiaen’s 1949 piece “Mode de valeurs et d’intensités” from&lt;i&gt; Quatre études de rythme&lt;/i&gt; (“Organization of durations and dynamics” from &lt;i&gt;Four studies in rhythm&lt;/i&gt;) was the first European work of “total serialism.” (In America, the composer Milton Babbitt had already made independent but similar creative discoveries).  In this piece for piano, three “rows” are used simultaneously.  Each pitch in each row is then assigned a particular duration and dynamic that always appears with that pitch (and only with that pitch.)  Within each row, the durations get longer as notes get lower.&lt;br /&gt;&lt;br /&gt;The precise relationship between pitch and duration is often hard to imagine when looking at the score, but with music21 these relationships become obvious.  This code runs a Finale version of the score for the middle row of the Messiaen piece through our graphing tools:&lt;br /&gt;&lt;pre&gt;messiaen = converter.parse('&lt;i&gt;d:/desktop/messiaen_valeurs.xml&lt;/i&gt;')&lt;br /&gt;messiaen.show()&lt;br /&gt;notes = messiaen.flat.stripTies()&lt;br /&gt;g = graph.PlotScatterWeightedPitchSpaceQuarterLength(notes, &lt;br /&gt;        title='&lt;i&gt;Messiaen, Mode de Valeurs, middle voice&lt;/i&gt;', xLog=False)&lt;br /&gt;g.process()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;img src="http://www.trecento.com/2010/messiaen_output2.jpg" alt="output of Messiaen graph"&gt;&lt;br /&gt;The 1:1 correspondence between pitch and duration is obvious: each pitch has exactly one quarter length associated with it, and the lengths get longer as the pitch descends.  But the non-serially determined aspects of the score are equally obvious.  Unlike Schoenberg’s ideal of using each pitch the same number of times, higher pitches appear much more often in the Messiaen piece.  But the correspondence is not perfect.  For instance, the pitch D 4 appears 11 times while the higher E-flat 4 appears only 10 times.  For the most part, the amount of time that each pitch is sounded is roughly constant – at around 20 quarter-notes.  But the two shortest notes (G5 and C5) appear as outliers to this theory, appearing only for about 9 and 13 quarters respectively.&lt;br /&gt;&lt;br /&gt;What also jumps out in the graph is its shape: it is cubic, that is, it approximates the graph of &lt;span style="font-style:italic;"&gt;f(x) = &amp;ndash;x&lt;sup&gt;3&lt;/sup&gt;&lt;/span&gt;.  There are several functions in nature and human society that are modeled by cubic equations, such as magnetic strength, the twisting force of rubber bands (like in wind-up toy planes), and the costs involved with manufacturing.  One example from one piece is of course nowhere near enough evidence to suggest that post-tonal pitch and duration relationships could be another place where cubic equations might guide composers.  But it does give an idea for further research.  As more serial and other post-tonal compositions are inputted into machine-readable formats, I’ll be checking back with whether this relationship holds often enough in Messiaen and other’s music to be significant.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;The code for this example has been submitted to the International Symposium on Music Information Retrieval as part of a proposed paper on the &lt;tt&gt;music21&lt;/tt&gt; system.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-4120773806046139513?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/4120773806046139513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2010/04/music21-visualizing-messiaens-mode-de.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/4120773806046139513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/4120773806046139513'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2010/04/music21-visualizing-messiaens-mode-de.html' title='music21: Visualizing Messiaen’s &lt;i&gt;Mode de valeurs&lt;/i&gt;'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-1732060406142437727</id><published>2010-03-31T03:42:00.003-04:00</published><updated>2010-03-31T03:44:35.220-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='timemap'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><title type='text'>TimeMap by Cuthbert and Natasha Skowronski</title><content type='html'>One of the hardest parts of learning music history (and I suppose art and other histories as well) is that though styles change over time, the changes happen extremely scattered with little uniformity. Thus students tend to believe that a more "advanced" sounding piece was composed later than a "simpler" sounding one, when the opposite is also extremely likely to be true. One of the biggest recurring problems for learning style in Early Music, for instance, is that the most commonly studied pieces in English Renaissance style are being composed at the same time or after the Italians created new techniques of recitative, &lt;span style="font-style:italic;"&gt;basso continuo&lt;/span&gt;, and other markers of the Baroque.&lt;br /&gt;&lt;br /&gt;This Timeline + Map, developed by myself and Natasha Skowronski (MIT '10) allows viewers to see what pieces were being composed at the same time or in close geographical spans of each other. Each piece (taken from a mix of my syllabus and Craig Wright's &lt;span style="font-style:italic;"&gt;Music in Western Civilization&lt;/span&gt;) has a thirty second excerpt online while a few have associated YouTube videos. (Students in the class can hear whole pieces). Click the image below to investigate further.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ciconia.mit.edu/timemap.1.5/"&gt;&lt;img src="http://www.trecento.com/2010/timemap_reflected.jpg" alt="timemap" border=0&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-1732060406142437727?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/1732060406142437727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2010/03/timemap-by-cuthbert-and-natasha.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/1732060406142437727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/1732060406142437727'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2010/03/timemap-by-cuthbert-and-natasha.html' title='TimeMap by Cuthbert and Natasha Skowronski'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-3695174792874451450</id><published>2010-01-11T16:35:00.002-05:00</published><updated>2010-01-11T16:39:19.286-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='context'/><category scheme='http://www.blogger.com/atom/ns#' term='key'/><category scheme='http://www.blogger.com/atom/ns#' term='music21'/><category scheme='http://www.blogger.com/atom/ns#' term='pitches'/><title type='text'>Leading tone analysis</title><content type='html'>I just discovered that I missed the main point of Christopher Ariza's program (posted earlier) to find all the C#s in a Bach chorale.  His code demonstrates that in this chorale Bach uses raised leading tones only on beats one and three, the two strongest beats in the measure.  As &lt;tt&gt;music21&lt;/tt&gt;'s key detection algorithms and context objects come online, you'll soon be able to substitute the explicit coding of "C#" for:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   if note.pitch == note.getContextByClass(Key).scaleDegree("#7"):&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;We're almost there... just hang tight a few more months.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-3695174792874451450?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/3695174792874451450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2010/01/leading-tone-analysis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/3695174792874451450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/3695174792874451450'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2010/01/leading-tone-analysis.html' title='Leading tone analysis'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-6979661890148652548</id><published>2009-12-26T18:41:00.007-05:00</published><updated>2010-01-11T16:35:56.320-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='meter'/><category scheme='http://www.blogger.com/atom/ns#' term='music21'/><category scheme='http://www.blogger.com/atom/ns#' term='bach'/><category scheme='http://www.blogger.com/atom/ns#' term='pitches'/><title type='text'>How high do your singers need to sing to do this piece?</title><content type='html'>Here's one way of figuring it out:&lt;br /&gt;&lt;br /&gt;(see the original blog post if your reposting turns this code into goobley-gook...)&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import copy&lt;br /&gt;import music21&lt;br /&gt;from music21 import corpus, meter, stream&lt;br /&gt;    &lt;br /&gt;score = corpus.parseWork('bach/bwv366')&lt;br /&gt;ts = score.flat.getElementsByClass(meter.TimeSignature)[0]&lt;br /&gt;ts.beat.partition(3)&lt;br /&gt;    &lt;br /&gt;found = stream.Stream()&lt;br /&gt;for part in score:&lt;br /&gt;    found.append(part.flat.getElementsByClass(music21.clef.Clef)[0])&lt;br /&gt;    highestNoteNum = 0&lt;br /&gt;    for m in part.measures:&lt;br /&gt;        for n in m.notes:&lt;br /&gt;            if n.midi &gt; highestNoteNum:&lt;br /&gt;                highestNoteNum = n.midi&lt;br /&gt;                highestNote = copy.deepcopy(n) # optional&lt;br /&gt;  &lt;br /&gt;                # These two lines will keep the look of the original&lt;br /&gt;                # note values but make each note 1 4/4 measure long:    &lt;br /&gt;                highestNote.duration.components[0].unlink()&lt;br /&gt;                highestNote.quarterLength = 4&lt;br /&gt;&lt;br /&gt;                highestNote.lyric = '%s: M. %s: beat %s' % (&lt;br /&gt;                    part.getInstrument().partName[0], &lt;br /&gt;                    m.measureNumber, ts.getBeat(n.offset))&lt;br /&gt;    found.append(highestNote)&lt;br /&gt;&lt;br /&gt;found.show()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;... which generates this snippet of notation...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QaQ1UnCwlQQ/SzahLjLMl1I/AAAAAAAAAD8/ytgvNsSNAXg/s1600-h/highest_note.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 185px;" src="http://3.bp.blogspot.com/_QaQ1UnCwlQQ/SzahLjLMl1I/AAAAAAAAAD8/ytgvNsSNAXg/s400/highest_note.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5419696421379807058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;...showing that for at least one piece, Bach was (probably accidentally) using the old medieval authentic, plagal, lower-octave-authentic, lower-octave-plagal, range designations!&lt;br /&gt;&lt;br /&gt;This code is still needlessly complicated -- we're still working on simplifying it (notes will know their own clefs and beats; '3/4' will know that it should be divided into 1+1+1), but just a little taste of what's possible.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;strike&gt;Oh, and just for fun, all the C#s in the piece with this code snippet substitution:&lt;/strike&gt;.  Or discover that all the raised leading tones in this d-minor composition happen on the two strongest beat of a measure:&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;             if n.name == 'C#':&lt;br /&gt;                ...&lt;br /&gt;                found.append(n)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QaQ1UnCwlQQ/SzajznyBmhI/AAAAAAAAAEE/yyZBzTgV_yE/s1600-h/beat-a.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 387px;" src="http://4.bp.blogspot.com/_QaQ1UnCwlQQ/SzajznyBmhI/AAAAAAAAAEE/yyZBzTgV_yE/s400/beat-a.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5419699308834429458" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-6979661890148652548?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/6979661890148652548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2009/12/how-high-do-your-singers-need-to-sing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/6979661890148652548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/6979661890148652548'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2009/12/how-high-do-your-singers-need-to-sing.html' title='How high do your singers need to sing to do this piece?'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_QaQ1UnCwlQQ/SzahLjLMl1I/AAAAAAAAAD8/ytgvNsSNAXg/s72-c/highest_note.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-3073439875736610640</id><published>2009-12-19T11:23:00.002-05:00</published><updated>2009-12-19T11:44:31.360-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='recordings'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='Grunin'/><title type='text'>Mapping the Eroica</title><content type='html'>&lt;a href="http://www.newyorker.com/online/blogs/alexross/2009/12/decoding-the-eroica.html"&gt;Alex Ross discusses on his blog&lt;/a&gt; a project by Eric Grunin to document &lt;a href="http://www.grunin.com/eroica/index.htm"&gt;changes in the performance of Beethoven's Eroica Symphony&lt;/a&gt; over the years.  His visualization of changes in tempo in the first movement over time are particularly interesting:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://mtblog.newyorker.com/online/blogs/alexross/CFT1215_0901191A7.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 640px; height: 500px;" src="http://mtblog.newyorker.com/online/blogs/alexross/CFT1215_0901191A7.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(Red dots represent performances that take the repeat at the end of the exposition; blue dots do not).&lt;br /&gt;&lt;br /&gt;Grunin finds all sorts of new and interesting data to analyze.  I especially wanted to link to it to show that there is a lot of amazing projects in computer-aided musicology still to be done that do not require the use of analysis of music as symbolic data (as music21 does)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-3073439875736610640?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/3073439875736610640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2009/12/mapping-eroica.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/3073439875736610640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/3073439875736610640'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2009/12/mapping-eroica.html' title='Mapping the Eroica'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-1118779142977304738</id><published>2009-12-10T17:51:00.004-05:00</published><updated>2009-12-10T18:07:57.634-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mozart'/><category scheme='http://www.blogger.com/atom/ns#' term='chopin'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='music21'/><category scheme='http://www.blogger.com/atom/ns#' term='pitches'/><title type='text'>How do Mozart and Chopin use their notes?</title><content type='html'>Mozart's minuets don't sound much like Chopin's mazurkas.  There are many reasons for this -- the rhythms, the tone of their pianos, changes in repetition, and so on.  But one of the ways that &lt;code&gt;music21&lt;/code&gt; let us discover is that they articulate their pitch space differently.  For instance, here is the pitch distribution in the soprano register of one minuet by Mozart:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QaQ1UnCwlQQ/SyF_H9t2a5I/AAAAAAAAADs/khDNJjMJBrI/s1600-h/mozart_note_distribution.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_QaQ1UnCwlQQ/SyF_H9t2a5I/AAAAAAAAADs/khDNJjMJBrI/s400/mozart_note_distribution.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5413748001878731666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The x (left&amp;lt;-&amp;gt;right) axis shows shorter and longer notes -- this excerpt [like the Chopin] uses almost entirely quarter notes (1.0) and eighth notes (0.5 quarterLength).  The y (front&amp;lt;-&amp;gt;back) axis shows lower to higher notes (middle C = 60).  The z (top&amp;lt;-&amp;gt;bottom) axis shows the number of times each pitch/rhythm combination appears.  Looking along the y axis, we see something like a bell-shaped curve.  Mozart uses notes in the middle of the register the most often, followed by a smooth trailing off towards higher and lower notes.&lt;br /&gt;&lt;br /&gt;Contrast the Mozart graph with the pitch distribution of the right hand of a Chopin mazurka:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QaQ1UnCwlQQ/SyF9mg2TdbI/AAAAAAAAADk/FORcpECzMz0/s1600-h/chopin_mazurka_midinotes.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_QaQ1UnCwlQQ/SyF9mg2TdbI/AAAAAAAAADk/FORcpECzMz0/s400/chopin_mazurka_midinotes.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5413746327682250162" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Chopin emphasizes certain notes quite a bit more than other notes.  There is no smooth distribution; instead some pitch-classes (C# and G# especially) recur much more often in certain registers of the piano.  We will be returning to these examples (probably refining the graphs slightly to deal better with grace-notes, etc.) as &lt;code&gt;music21&lt;/code&gt; moves toward its initial beta release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-1118779142977304738?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/1118779142977304738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2009/12/how-do-mozart-and-chopin-use-their.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/1118779142977304738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/1118779142977304738'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2009/12/how-do-mozart-and-chopin-use-their.html' title='How do Mozart and Chopin use their notes?'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QaQ1UnCwlQQ/SyF_H9t2a5I/AAAAAAAAADs/khDNJjMJBrI/s72-c/mozart_note_distribution.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-3027539971930081981</id><published>2009-11-18T17:53:00.007-05:00</published><updated>2009-11-23T17:12:55.426-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='link'/><title type='text'>Expressive Notation Package</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;A potentially interesting article on some of the challenges of music notation.  Things that we're thinking about while creating a system that encodes much of the ambiguity and power of music notation&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;a href="http://www.informaworld.com/smpp/content~db=all~content=a916751403"&gt;ENP: A System for Contemporary Music Notation&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-3027539971930081981?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/3027539971930081981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2009/11/expressive-notation-package.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/3027539971930081981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/3027539971930081981'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2009/11/expressive-notation-package.html' title='Expressive Notation Package'/><author><name>Ariza</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_cR7S21HzOVc/SJ8wvGJjiZI/AAAAAAAAAAU/UJJXfHghfZA/s1600-R/babelcast.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-5216760849276843741</id><published>2009-10-30T18:26:00.005-04:00</published><updated>2009-10-30T18:38:05.102-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music21'/><title type='text'>Simple things simple</title><content type='html'>(1)&lt;pre&gt;&lt;br /&gt;from music21 import serial&lt;br /&gt;&lt;br /&gt;p = [8,1,7,9,0,2,3,5,4,11,6,10]&lt;br /&gt;print serial.rowToMatrix(p)&lt;br /&gt;&lt;span style="color: blue"&gt;&lt;br /&gt;  0  5 11  1  4  6  7  9  8  3 10  2&lt;br /&gt;  7  0  6  8 11  1  2  4  3 10  5  9&lt;br /&gt;  1  6  0  2  5  7  8 10  9  4 11  3&lt;br /&gt; 11  4 10  0  3  5  6  8  7  2  9  1&lt;br /&gt;  8  1  7  9  0  2  3  5  4 11  6 10&lt;br /&gt;  6 11  5  7 10  0  1  3  2  9  4  8&lt;br /&gt;  5 10  4  6  9 11  0  2  1  8  3  7&lt;br /&gt;  3  8  2  4  7  9 10  0 11  6  1  5&lt;br /&gt;  4  9  3  5  8 10 11  1  0  7  2  6&lt;br /&gt;  9  2  8 10  1  3  4  6  5  0  7 11&lt;br /&gt;  2  7  1  3  6  8  9 11 10  5  0  4&lt;br /&gt; 10  3  9 11  2  4  5  7  6  1  8  0&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;(2) We want to graphically show correlations between the length of notes and their heights using a piece coded in musicxml or humdrum format (these are from our downloaded corpora):&lt;pre&gt;&lt;br /&gt;for work in ['opus18no1', 'opus59no3']:&lt;br /&gt;    movementNumber = 3&lt;br /&gt;    score = corpus.parseWork(work, movementNumber)&lt;br /&gt;    &lt;br /&gt;    for part in score:&lt;br /&gt;        instrumentName = part.getElementsByClass(instrument.Instrument)[0].findName()&lt;br /&gt;        grapher = correlate.NoteAnalysis(part.flat.sorted)    &lt;br /&gt;        grapher.pitchToLengthScatter(title='%s, Movement %s, %s' % (work, movementNumber, instrumentName))&lt;br /&gt;&lt;/pre&gt;Displays 8 images, including:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QaQ1UnCwlQQ/SutqnHNxhBI/AAAAAAAAADY/ru9h1RPaB7s/s1600-h/op59_no3_mvmt3_vln1_length_pitch_scatter.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_QaQ1UnCwlQQ/SutqnHNxhBI/AAAAAAAAADY/ru9h1RPaB7s/s400/op59_no3_mvmt3_vln1_length_pitch_scatter.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5398525798517933074" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-5216760849276843741?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/5216760849276843741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2009/10/simple-things-simple.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/5216760849276843741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/5216760849276843741'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2009/10/simple-things-simple.html' title='Simple things simple'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_QaQ1UnCwlQQ/SutqnHNxhBI/AAAAAAAAADY/ru9h1RPaB7s/s72-c/op59_no3_mvmt3_vln1_length_pitch_scatter.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9134894688968741590.post-5041032731574102970</id><published>2009-10-30T17:40:00.002-04:00</published><updated>2009-11-23T17:13:54.303-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='meter'/><category scheme='http://www.blogger.com/atom/ns#' term='music21'/><title type='text'>Music21 Preview -- Welcome! Creating measures</title><content type='html'>This is a preview of the &lt;tt&gt;music21&lt;/tt&gt; system for computer-aided musicology being developed at MIT (Michael Scott Cuthbert, Asst. Prof., Principal Investigator; Christopher Ariza, Visiting Asst. Prof., Development Lead).  We'll be using this blog to showcase some of the features of the system, and to highlight other interesting things happening in computational, statistical, and other empirical methods in musicology. &lt;br /&gt;&lt;br /&gt;Although computers have transformed how we listen to, obtain, compose, and notate music, they have not fundamentally changed how we research and analyze music. Though many computer databases have been created for musicology, they are not well adapted for sophisticated music queries. For instance, melodies can be found if exact matches exist. But melodic variations such as the repetition of a phrase or a change in embellishment are extremely common, yet cause searches to fail. More complex investigations, such as finding all melodies that imply a particular underlying harmony, can barely begin to be created with existing software packages. The lack of relevant software for analyzing music hampers scientific attempts to understand what we listen for and how we process what we hear; these activities are little understood despite music’s nearly universal presence in our daily lives.&lt;br /&gt;&lt;br /&gt;The &lt;tt&gt;music21&lt;/tt&gt; project at M.I.T. will give to the music community the set of tools it needs to conduct sophisticated musical and statistical analysis using modern programming techniques. The software framework, written in Python, manipulates music as a collection of symbolic data, such as pitch names and note durations, that can then be classified as higher level musical structures according to the style, region, or period being studied.&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;Music21&lt;/tt&gt; focuses specifically on the manipulation of symbolic music data: it leaves to the many preexisting open-source and proprietary software packages the notation and audio playback of scores (the two areas where computer-aided music research is most developed). By focusing on the points of greatest need to musicology, the framework will give rapid results within a short timeframe.&lt;br /&gt;&lt;br /&gt;The &lt;tt&gt;music21&lt;/tt&gt; framework will be freely available in early 2010 under the LGPL open source license.&lt;br /&gt;&lt;br /&gt;Some demos:&lt;pre&gt;&lt;br /&gt;from music21 import *&lt;br /&gt;&lt;br /&gt;n = note.Note("F#4")&lt;br /&gt;n.quarterLength = 3&lt;br /&gt;&lt;br /&gt;a = stream.Stream()&lt;br /&gt;a.repeatAdd(n, 20)  # add 20 copies of n&lt;br /&gt;&lt;br /&gt;a.insertAtOffset( 0, meter.TimeSignature("5/4")) &lt;br /&gt;a.insertAtOffset(10, meter.TimeSignature("2/4")) &lt;br /&gt;a.insertAtOffset( 3, meter.TimeSignature("3/16")) &lt;br /&gt;# N.B.they don't have to be inserted in order &lt;br /&gt;&lt;br /&gt;a.insertAtOffset(20, meter.TimeSignature("9/8")) &lt;br /&gt;a.insertAtOffset(40, meter.TimeSignature("10/4"))&lt;br /&gt;a.insertAtOffset(50, meter.TimeSignature("29/32"))&lt;br /&gt;a.show()&lt;br /&gt;&lt;/pre&gt;&lt;div align="center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QaQ1UnCwlQQ/Sutgrgu1LHI/AAAAAAAAADI/fgIdDNCRO8E/s1600-h/c1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 161px;" src="http://1.bp.blogspot.com/_QaQ1UnCwlQQ/Sutgrgu1LHI/AAAAAAAAADI/fgIdDNCRO8E/s400/c1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5398514878970670194" /&gt;&lt;br&gt;&lt;small&gt;Click to expand&lt;/small&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9134894688968741590-5041032731574102970?l=music21-mit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://music21-mit.blogspot.com/feeds/5041032731574102970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://music21-mit.blogspot.com/2009/10/music21-preview-welcome-creating.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/5041032731574102970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9134894688968741590/posts/default/5041032731574102970'/><link rel='alternate' type='text/html' href='http://music21-mit.blogspot.com/2009/10/music21-preview-welcome-creating.html' title='Music21 Preview -- Welcome! Creating measures'/><author><name>Michael Scott Cuthbert</name><uri>http://www.blogger.com/profile/15153226534336479056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp2.blogger.com/_QaQ1UnCwlQQ/R91txCGLCHI/AAAAAAAAAAM/I1_7Er-_U9U/S220/msc_bw_sm.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QaQ1UnCwlQQ/Sutgrgu1LHI/AAAAAAAAADI/fgIdDNCRO8E/s72-c/c1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
