Music Theory 2018-05-21

By Max Woerner Chase

In this post:


Looking over the details of various kinds of time signatures, I see that I want the time signature objects to be somewhat sophisticated, and to carry much of the weight in placing the beats within a measure. In short, the current beat determination code only produces sensible results for simple time signatures. There's a single well-defined beat structure for compound time signatures, but a single asymmetric time signature can have different beat structures as close as consecutive measures.

Since I'm storing beat structure data (in the form of time signature) on every measure anyway, I'll keep on doing that, but instead have an explicit "beat structure" object, with various constructor methods.

Here's what I need to make this happen:

So, it's almost eleven pm now, and here's where I stand:


Next week, I'll replace the time signature with a beat structure. I may have a chance to make the analysis code more sophisticated; I read ahead just now, and that's pretty much the last thing to do before I start getting actual pitches involved.