Computational Musicology For Python Programmers

The Python Podcast.__init__

Episode | Podcast

Date: Mon, 11 Feb 2019 14:00:00 -0500

<div class="wp-block-jetpack-markdown"><h3>Summary</h3> <p>Music is a part of every culture around the world and throughout history. Musicology is the study of that music from a structural and sociological perspective. Traditionally this research has been done in a manual and painstaking manner, but the advent of the computer age has enabled an increase of many orders of magnitude in the scope and scale of analysis that we can perform. The music21 project is a Python library for computer aided musicology that is written and used by MIT professor Michael Scott Cuthbert. In this episode he explains how the project was started, how he is using it personally, professionally, and in his lectures, as well as how you can use it for your own exploration of musical analysis.</p> <h3>Announcements</h3> <ul> <li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li> <li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&amp;utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li> <li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&amp;utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li> <li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&amp;utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at <a href="https://twtiter.com/Podcast__init__?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li> <li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li> <li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&amp;utm_medium=rss">pythonpodcast.com/chat</a></li> <li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Michael Cuthbert about music21, a toolkit for computer aided musicology</li> </ul> <h3>Interview</h3> <ul> <li>Introductions</li> <li>How did you get introduced to Python?</li> <li>Can you start by explaining what computational musicology is?</li> <li>What is music21 and what motivated you to create it? <ul> <li>What are some of the use cases that music21 supports, and what are some common requests that you purposefully don&#8217;t support?</li> </ul> </li> <li>How much knowledge of musical notation, structure, and theory is necessary to be able to work with music21?</li> <li>Can you talk through a typical workflow for doing analysis of one or more pieces of existing music? <ul> <li>What are some of the common challenges that users encounter when working with it (either on the side of Python or musicology/musical theory)?</li> <li>What about for doing exploration of new musical works?</li> </ul> </li> <li>As a professor at MIT, what are some of the ways that music21 has been incorporated into your classroom? <ul> <li>What have they enjoyed most about it?</li> </ul> </li> <li>How is music21 implemented, and how has its structure evolved since you first started it? <ul> <li>What have been the most challenging aspects of building and maintaining the music21 project and community?</li> </ul> </li> <li>What are some of the most interesting, unusual, or unexpected ways that you have seen music21 used? <ul> <li>What are some analyses that you have performed which yielded unexpected results?</li> </ul> </li> <li>What do you have planned for the future of music21?</li> <li>Beyond computational analysis of musical theory, what are some of the other ways that you are using Python in your academic and professional pursuits?</li> </ul> <h3>Keep In Touch</h3> <ul> <li><a href="https://github.com/mscuthbert?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">mscuthbert</a> on GitHub</li> <li><a href="https://twitter.com/mscuthbert?lang=en&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">@mscuthbert</a> on Twitter</li> </ul> <h3>Picks</h3> <ul> <li>Tobias <ul> <li><a href="https://amzn.to/2SgSl3r?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Mozart&#8217;s Requiem</a> performed by Berlin Philharmonik and conducted by Claudio Abbado</li> </ul> </li> <li>Michael <ul> <li><a href="http://www.karajan-institut.org/en/home.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">von Karajan Institute</a> &#8211; Karajan was a major conductor of the 60s &#8212; his Institute now sponsors research into new projects in music technology and are big advocates of using Python for their data analysis.</li> <li><a href="https://www.youtube.com/watch?v=agu5Xo7alIQ&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Ruth Crawford Seeger, String Quartet (1931)</a> performed by The Playground Ensemble</li> </ul> </li> </ul> <h3>Links</h3> <ul> <li><a href="https://web.mit.edu/music21/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">music21</a></li> <li><a href="https://ocw.mit.edu/courses/music-and-theater-arts/21m-269-studies-in-western-music-history-quantitative-and-computational-approaches-to-music-history-spring-2012/index.htm?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Studies in Western Music History: Quantitative and Computational Approaches to Music History</a> on MIT Open Courseware</li> <li><a href="https://mit.edu/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">MIT</a></li> <li><a href="https://www.perl.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Perl</a></li> <li><a href="https://www.nber.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">National Bureau of Economic Research</a></li> <li><a href="https://www.python.org/dev/peps/pep-0020/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Zen of Python</a></li> <li><a href="https://en.wikipedia.org/wiki/Musicology?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Musicology</a></li> <li><a href="https://matplotlib.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Matplotlib</a></li> <li><a href="https://orange.biolab.si/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Orange</a> <ul> <li><a href="https://www.pythonpodcast.com/orange-with-janez-demsar-and-blaz-zupan-episode-142/?utm_source=rss&amp;utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="https://scikit-learn.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">scikit-learn</a></li> <li><a href="https://pypi.org/project/Abjad/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Abjad Python Package</a></li> <li><a href="https://scipy.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">SciPy</a></li> <li><a href="http://www.numpy.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">numpy</a></li> <li><a href="https://pandas.pydata.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Pandas</a> <ul> <li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&amp;utm_medium=rss">Podcast Episode</a></li> </ul> </li> <li><a href="https://pypi.org/project/python-Levenshtein/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">PyLevenshtein</a></li> <li><a href="https://en.wikipedia.org/wiki/Levenshtein_distance?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Levenshtein Distance</a></li> <li><a href="https://www.pygame.org/news?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">PyGame</a></li> <li><a href="https://en.wikipedia.org/wiki/AVL_tree?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">AVL Tree</a></li> <li><a href="https://subversion.apache.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Subversion (SVN)</a></li> <li><a href="http://www.bach-chorales.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Bach Chorales</a></li> <li><a href="https://www.artusi.xyz/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Artusi.xyz</a> Interactive Music Theory</li> <li><a href="http://www.vexflow.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">VexFlow</a></li> <li><a href="https://digitalhumanities.mit.edu?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">MIT Digital Humanities</a></li> <li><a href="https://www.nltk.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">NLTK</a></li> <li><a href="http://flask.pocoo.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Flask</a></li> <li><a href="https://en.wikipedia.org/wiki/Fortran?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Fortran</a></li> <li><a href="https://www.djangoproject.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Django</a></li> <li><a href="http://www.humdrum.org/Humdrum/projects.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Humdrum</a></li> </ul> <p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a></p> </div> <img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmusic21-computational-musicology-episode-198%2F&amp;action_name=Computational+Musicology+For+Python+Programmers+-+Episode+198&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&amp;utm_source=rss&amp;utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" />