Jim's
Tutorials

Fall 2016
course
navigation

in Jim's office

""" Looping backwards through a list """ def play_phrase(phrase): for note in reversed(phrase): # ... do something with each note
One letter variable names are bad. Really bad.
Explicitly defining this protocol you're using would be good. Really good.

Sep 9

Over the past week, I've tried to address the issues you brought up, such as adding a header with a description of the project, adding some text about future features, links to libraries, etc.
I added a basic OSC Python script that replicates some of the data I was sending from my Max/MSP patch. Doing that made it clearer to me how janky things like my density value are. I think I'm going to replicate that function in the Python code instead. Parts of the Max/MSP patch need a lot of tweaking too, mainly how it's often it believes a new note is being sounded.
I've been going through all of the music21 docs to understand how it works and what it's capable of. I don't see evidence of it being used for real-time projects like mine, but I generally find it flexible and I think it will be useful for spitting out quick analyses. I tried writing some basic functions with it to get a feel for how I can incorporate it with the kind of data I've been working with.
I've also been reading a book published this year called "Computational Music Analysis" (edited by David Meredith, published by Springer, http://www.springer.com/la/book/9783319259291), which functions as a survey of the different kinds of work being done in the Music Information Retrieval/Computational Musicology world. There are some chapters about analyzing larger musical structures that I'll likely draw on.
Last week, Matan and I discussed how to make the project feasible in the time I have, and part of that will likely be making the system's output (and subsequently the overall performance) fall into a more defined structure. For example:
The exact lengths of these sections would likely be randomly generated at the beginning of the performance so that it doesn't become too predictable.
The code is now on GitHub.
http://cs.marlboro.edu/ courses/ fall2016/jims_tutorials/ tbedford/ Sep_9
last modified Friday September 9 2016 10:26 am EDT