The Cellist Animation Strategies
of the Interrupting Cows
Who we are:
The Animated Cellist consists of four strings
(representing the cello) and an animated arm. When activated, the
"cellist" plays Suite No. 4 in Eb major - 6th Movement by Johann
Sebastian Bach.
How we do it:
We read in and parse an abc file. An abc file is a human readable form of
midi (created from midi files using midi2abc). This information is then
used to
move the cellist's fingers to the correct position. The cellist knows the
position for each note, but must be told which note to go to next.
Interpolation is used to smooth the movement between the notes. The
finger, wrist, elbow, and shoulder joint positions are found using inverse
kinematics. The inverse kinematics are done through a simplified form of
simulated annealing.
Problems we encountered:
Simulated annealing is hard to tune. We were getting incorrect joint
angles and solutions that were not visually appealing.
Interpolating from a joint angle of 90 degrees to the same angle at 450
degrees looks really silly. We then discovered that joint limitations
are very important.
Animations are more exciting with a time step of 1/30.0 instead of 1/30.
General delirium (especially for Gary :) )
Rendering takes way too long for alison's patience.
Results:
The cellist sucessfully plays Suite No. 4 in Eb major - 6th Movement
by Johann Sebastian Bach, but expanding your musical tastes is not
recommended. The tips of his fingers light up when they land on the
correct string.
How this may be improved:
To accept any abc file.
The Code:
Animated Cellist
The Creators:
The algorithm for the Animated Cellist was developed by Gary
Yngve and Alison Smith, junior computer science majors at Georgia Tech.
Gary may be contacted at gary@cc.gatech.edu
Alison may be contacted at ans@cc.gatech.edu
Back to the Interrupting Cows' Homepage