Recently I’ve been working on an animation for the pharma division of Harte-Hanks. It’s in our classic MZ-stylee and it’s been fun doing some old-school 2d Flash animation. Zoe’s given me some great illustrations to work with and Charlie’s imagination has been running riot with karate-chopping leaps and flabby men on treadmills. Lots of tweens, lots of Graphic symbols, lots and lots of keyframes. I’ve also gotten to play with CS4′s new IK bones for some of the sequences too but that’s a whole other post.
From the outset though, I’ve been procrastinating about lip-syncing the narrator’s voice-over with the character. My rationale was that any edits to the timing would mean re-doing work… always fun, so best leave it til last, but really it just seemed like it’d be an arduous time-consuming manual task. In all the years I’ve been doing animation in Flash I’ve never found an easy way of doing this. Animation is a craft and it seems the only solution to most tasks is put some time and love into it. That said, code is your friend (and a cruel, cruel mistress) that has often helped avoid the monkey work.
So I went looking for a pre-existing solution… First port of call, as always, was “The Animator’s Survival Kit” by Richard Williams (if you don’t own it, get it!). Then some Googling that rapidly disappeared down the rabbit hole of visemes, phonemes and natural language simulation dissertations. Whew! No easy answers there either.
At the last Bristol FUG, I had a good chat with master-animator Dave Cropley (from Evans & Finch) about how he does it. He pointed me towards software called Magpie that seems to be the standard in the 3d animation world. Nothing seemed to exist in the Flash/ActionScript world though so I decided to roll my own.
Here’s how I did it…