Phoneme Translation

iaian7 » blog » projects   John Einselen, 6.06.08 (updated 10.04.11)    

In the process of a large character animation project, I started looking for the best [free] lip sync software for mac, and came across Papagayo. It’s works pretty well, and even outputs keyframe files with the Preston Blair phoneme type. Unfortunately, it’s rather buggy (frame rate can only be changed by pasting a number into the text field, among many other oddities). Sadly, I haven’t found a less buggy application, but I have found differently buggy ones. Yolo is almost a straight clone of Papagayo, but coded in Java. The audio is less reliable, but frame rate selection is easier (though you must be sure to set it before opening a project or audio file). It also exports to both Moho and Magpie formats, the latter of which includes script notes (where each word starts in the animation) and SMTPE style timecode. Though not automatic (phonemes must be manually selected), JLipSync is another Java based app that does a pretty decent job and also outputs to Magpie files.

The biggest problem I have with Yolo and JLipSync, however, is that they don’t use a consistent Preston Blair subset of phonemes – they actually output a larger (more accurate) phonetical set.

Since the animation I needed was pretty basic (the mouth was largely obscured by a moustache), I felt that a smaller subset would be more efficient, and set out to write a translator that would take each phonetical phoneme and assign it to the nearest Preston Blair alternative.

I’m a big fan of the super-simple lip sync demoed by cartoonsolutions on youtube, so created a translator for that method as well; replacing each phonetical element with the numerical identity used in Flash animation setups.

So here it is!

Open the Phoneme Translation Utility

Or download the script in a collection of 1.

If you want to take this animation data into Lightwave, you might want to check out the second part of this project: Moho to Lightwave.

Version History:
v0.9 — added a fully customisable phoneme set
v0.8 — added “commented” as an option, instead of multiple buttons
v0.7 — added automatic preference saving
v0.6 — fixed the “M” phoneme translation, changed default keyframe type
v0.5 — public beta release
v0.4 — re-organised, re-wrote documentation, styled interface
v0.3 — various bug fixes
v0.2 — added “commented” support
v0.1 — alpha release