| |
  |
           |  |
| |
 |
|
|
Title: Final Animation
Author: Nathan Cournia
Description: MIDI based procedural animation.
Institution: Clemson University
Class: CPSC808 - Computer Animation
Tools: Maya 4.0, Final Cut Pro 3, C
Construction Time: 20 Hours
Date Completed: May 6, 2002
|

My goal in this project was to be able to drive an animation through the note and instrument information found in a
Musical Instrument Digital Interface (MIDI) file. To achieve this I wrote a program (based on the
Timidity library) which would take a MIDI file as input and output
a Maya Embedded Language (MEL) script. The MEL script contains function stubs (note_on() / note_off()) which the MEL prorammer must
define. The note_on() / note_off() functions are passed the following information:
Frame that the note was hit/released.
Instrument that was played.
How hard the note was played (velocity).
The note played (Ex. Middle C).
With this simple interface the MEL programmer is able to easily create amazing effects.

The first animation I created used Beethoven's "Moonlight Sonata" as input to drive a Michael Jacksonisque keyboard:
For the second animation I teamed up with Karl Rasche. Karl wrote a wave and ripple generation program which we then animated
based on Granados' "Oriental":
Maya 4.0 Scene File: cournia_piano.mb (611k)
midi2mel (Source): cournia_midi2mel-20020506.tar.gz (15M)
Update March 12, 2005: Over the past 3 years I've received e-mails asking for more information about midi2mel,
in particular, how to write MEL scripts that can use midi2mel's output. Below is a link to the MEL scripts we used
to create the animations above. Good luck with them:
Maya 4.0 Scene File: midi_extra.tar.gz (8k)
|
|
|
|
|
|