I’m in the process of creating a dancing machine for an experimental short film. Since sound is often times more important than the image to me I wanted to try a new approach.
The old method would be: First have the music and then animate over it (or in rare cases the other way around), but in this case I wanted the movements to inform the image and vice versa.
And I wanted instant feedback in Maya, including the sound. Maya can do this, but the interface is not really equipped for it. I find the Trax editor very inconvenient for reasons I won’t go into, but one of them is you can’t associate a sound to a clip.
So e.g. each time the machine moves a specific part I want a specific sound to be triggered. And if the part is moved 100 times I don’t want to manually copy 100 sounds.
Also, I want to have an intuitive visual representation (Notation) of what is triggered when and how the composition as a whole is structured.
Using PySide and the versatile QGraphicsView class, I scripted an interface that allows a more trigger based approach and a more free form to distribute animation clips compared to the Trax editor.
- based on the clips of a character (reading and syncing with Maya’s character scheduler)
- Clips are not on tracks, but can be moved freely in two dimensions and have different colors, forms and sizes.
- Due to the trigger approach, clip length is secondary and optionally represented as a line extending from the clip symbol.
- The animation can still be edited in the Trax editor.
- Drawing Mode: Scribble free lines over the clip view to mentally prepare the composition.
- Repetition function with rhythm control: Procedurally distribute clips after certain rules
- Set Sound: Associates a sound to each clip.
- Combine sound: With many sound nodes in the timeline Maya can slow down very quick, so it’s possible to combine the sound to one track (using pydub library)
- import/export MIDI
- export OMF for re-editing / mastering
- Think more about different approaches to notation (e.g. John Cage, Mauricio Kagel)