Chaconne animation development

1974

On the day the Music Animation Machine project began, I was listening to a recording of J. S. Bach's sonatas and partitas for unaccompanied violin while looking at the score.

Chaconne score, opening

Because I was under the influence of LSD at the time, the score began to self-animate. The "now" point in the score (the note or chord that was sounding at a particular time) was at the center of my attention, and seemed somehow active. As the pace of the music sped up, my eyes' saccades began to synchronize to the notes, so that when this passage in the Chaconne was playing ...

Chaconne score, scales

... the current note stood still, and the rest of the score moved around it. It was like watching a fishing bob on being carried up and down on the surface of the ocean.

Later, at this passage, when the notes started jumping up and down by a larger distance ...

Chaconne score, large leaps

... my eyes somehow managed to keep tracking the motion. (I wondered whether I might be hurting my eyes.)

Days after this experience, I began drawing graphical scores, a project which I pursued in the following years (here's an historical overview of this project).


2011aug08

After decades of making graphical scores, I decided to return to the Chaconne with conventional (symbolic as opposed to graphical) notation.

I began by loading a scan of one of the original manuscripts of the piece into MATLAB ...

Chaconne manuscript, MATLAB view

... locating the breaks between staves and pages ...

Graph showing ink density per horizontal scan line

... identifing the staff positions ...

Chaconne manuscript with middle staff line location shown

... and estimating the positions of the symbols ...

Chaconne manuscript with approximate note head positions shown

At that point, I wasn't quite sure how to move forward, and since the live-MAM project was ramping up, the Chaconne got put on hold.


2014mar01

As often happens, when I returned to work on the Chaconne, my previous work seemed to be approaching the animation from the wrong end, and I switched to working on rendering conventional symbols.

The first stab at this was to put some of the symbols (noteheads, barlines and key signatures) at the positions specified in the MIDI data ...


2014mar06

At that point, I realized that I'd again gotten the approach wrong—that the minimum spacing between symbols needed to be worked out first (with any extra space being added to that). So, I started again, this time with the spacing determined by the width of the symbols and relative alignment.


2014mar08

I'd been trying to figure out what recording to use for the video. I'd planned to use a recording of a performance by Lara St. John, but it was seeming like it would cost too much, but on this date, I made an agreement with Magnatune at a price I could afford.


2014mar10

It took a few days to get to a version in which the minimum symbol spacing was more or less correct ...


2014mar11

In the morning I re-did the flat symbol and added perspective warping ...

... and in the evening I added the stems (following the stem directions in the original manuscript) ...

There are still a lot of small details that need cleaning up, but this is mostly where it needs to be as a starting point for adding other symbols (flags, dots, etc.) and effects (spacing to reflect note duration, note movement around the "now" position, broken chords, etc.).


2014mar12

I wrote a timing classifier, exported the results to MATLAB so that I could look at a histogram (x axis is log-2-scale note duration)...

Timing histogram

... which showed that the classification was nice and clean (one well-defined peak for each of the ten note durations used in the piece).

So that I could look at the classifications in context, I applied a different color to each of the duration categories ...

... with the dotted values being reddish (red, orange, violet), the triplets being greenish, and the regular values being bluish.


2014mar14

Today I rewrote a lot of things, and added dots, flags, note offsets ... it's still pretty rough, but now most of the symbols are at least present in some form...