Music and visual art – animation included – are the products of human creation, which in turn hail from the larger tradition of evolutionary optimization. The characteristic that binds all of these disciplines is the idea that the larger whole may be composed of certain discrete sub-parts, which may be repeated or interchanged as building blocks. To a computer programmer, this kind of thinking is like second nature – there are functions that are called over and over again, separate modules, classes and instances, etc. To an architect, too, this is obvious – when building a skyscraper, isn’t it easiest to make all of the floors roughly the same, except the few at the bottom and the few at the top? Curiously enough, the intuition for this type of thinking seems far less prevalent – or at least takes longer to develop – in amateur composers and animators.
I wish only to discuss this issue – it is not necessarily a problem by any means – in relation to computer software aimed at composers and animators, in particular: Finale and Hyperscore for music and Swift 3D and Flash for animation.
The degenerate case of multi-level thinking is of course the one-level default, where everything is uncategorized and simply strung together. This could be a long sequence of notes or an animation in flip-book style. Now, even this of course assumes a minimal level of categorization – the idea that notes are discrete units with pitch, which can be repeated with reliable result (a frequency) and that what a person is animating is in fact a discrete, moving object that will be perceived as such. But such thinking is inherent in the human mind, and it cannot be avoided (see my earlier post on this subject).
Certain programs in a way exist on this level, requiring the user to perform the organization manually. For instance, in Finale, you are given a string of empty measures and you are expected to fill them in. Whether or not you want to repeat motifs or ideas is your problem – you can recopy or transpose them as needed, but the final product exists on a single level with no outstanding hierarchy of ideas. This is of course entirely normal in music – even the great manipulators of multi-level thinking like Bach, Beethoven, Brahms, Hindemith, Rzewski, etc. – they all used this entirely linear format for presenting music. I freely admit that I do this, too, for reasons I will explain later.
The sad consequence of this is that the conception is lost on most performers and audiences, leading to a great amount of frustration on the part of composers. They can’t see the organization, and so they don’t play it. Violin teachers constantly chide their students: “Do you know what’s going on here? The orchestra is developign the theme!” or “This is the recapitulation!” The student responds with a dumbfounded, “Huh?”
I feel that Hyperscore is able to address these issues, partially. One defines a particular motif or line or clip and then places it onto a timeline, able to move it around as a single unit. It can be placed anywhere and recopied. This means that – indeed – one might actually visually see A B C A B in a Sonata form or A B A C A B A in Rondo form through the blocks of color. One might use this capability to simply make an easy Alberti bass, but it could also be a great tool for canon and fugue, the latter of which is probably the toughest form for people to “get.”
Now let us examine animation for a bit. The basic animation program presents a timeline with various layers. Actually, a four-layer animation’s timeline looks basically like a really long music staff. With Swift3D, every object gets a separate timeline, which is good. But this timeline always spans the entire length of the animation, even when the object is in a parent-child hierarchy. This means that, indeed, just as in Finale, you can copy and paste keyframes to repeat animations, but it is something that exists on a single level and you cannot change one iteration of the animation, expecting it to affect all others.
This is really the part of Flash that I miss the most. In Flash, not only the objects but their animations are hierarchical. The ball is inextricably linked to whatever animation you give it, and no matter when you instantiate it on the stage, it’ll do its animation starting then. And it will repeat ad infinitum, until you program it to stop. This means that the solar system with different orbit times never breaks down – everyone does its own thing.
While the utility of hierarchy and interchangeable parts in animation is completely indispensible, I actually wonder a bit about its utility in music. While it is very important to think about motifs and themes in music for the sake of the contrapuntal art and cohesiveness in a piece, the human mind always hopes to tweak it a little, tailor it to the harmonies. When trying to animate real-life, the same sort of thing applies – no two events ever occur exactly the same way. But when modeling and cartooning, the idea that certain things happen over and over again is very central. How many times has an anvil fallen on a character exactly the same way? How many times has a character run off the same cliff, only to realize that he or she is going to fall at exactly the same halfway point across the chasm, and then plop with the same sound effect at the bottom? Animation is a representation of the world that simplifies by organizing the visual experience into very well-regimented segments and ideas; it is more of an exploration of the movement than the intricacies of the movement itself. Even when abstract, it is still thinking about real shapes, real colors. Music is less tangibly based on any reality, and I feel that there is a time and place for perfectly repeating units, but because there is the requirement of harmony that is not present in animation – the objects rarely have a particularly offensive arrangment – motifs need to be treated with a more careful sculpting hand. And that’s probably why the old-fashioned manuscript paper is still around in an age when almost all animation (even 2D) is done rapidly on the computer.